DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Untracked file

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /home/jenkins/src/releases/comm-beta/mailnews/base/public/nsIMsgIncomingServer.idl
 */

#ifndef __gen_nsIMsgIncomingServer_h__
#define __gen_nsIMsgIncomingServer_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

#ifndef __gen_MailNewsTypes2_h__
#include "MailNewsTypes2.h"
#endif

#include "js/GCAnnotations.h"

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIMsgFolder; /* forward declaration */

class nsIMsgFolderCache; /* forward declaration */

class nsIMsgWindow; /* forward declaration */

class nsIMsgProtocolInfo; /* forward declaration */

class nsIMsgFilterList; /* forward declaration */

class nsIMsgRetentionSettings; /* forward declaration */

class nsIMsgDownloadSettings; /* forward declaration */

class nsISpamSettings; /* forward declaration */

class nsIMsgFilterPlugin; /* forward declaration */

class nsIUrlListener; /* forward declaration */

class nsIMsgDBHdr; /* forward declaration */

class nsIFile; /* forward declaration */

class nsIURI; /* forward declaration */

class nsIMsgPluggableStore; /* forward declaration */


/* starting interface:    nsIMsgIncomingServer */
#define NS_IMSGINCOMINGSERVER_IID_STR "aa9a3389-9dac-41f1-9ec5-18287cfaa47c"

#define NS_IMSGINCOMINGSERVER_IID \
  {0xaa9a3389, 0x9dac, 0x41f1, \
    { 0x9e, 0xc5, 0x18, 0x28, 0x7c, 0xfa, 0xa4, 0x7c }}

class NS_NO_VTABLE nsIMsgIncomingServer : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMSGINCOMINGSERVER_IID)

  /* attribute ACString key; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetKey(nsACString& aKey) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetKey(const nsACString& aKey) = 0;

  /* attribute AString prettyName; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPrettyName(nsAString& aPrettyName) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetPrettyName(const nsAString& aPrettyName) = 0;

  /* readonly attribute AString constructedPrettyName; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetConstructedPrettyName(nsAString& aConstructedPrettyName) = 0;

  /* attribute ACString hostName; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetHostName(nsACString& aHostName) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetHostName(const nsACString& aHostName) = 0;

  /* attribute ACString realHostName; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetRealHostName(nsACString& aRealHostName) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetRealHostName(const nsACString& aRealHostName) = 0;

  /* attribute long port; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPort(int32_t *aPort) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetPort(int32_t aPort) = 0;

  /* attribute ACString username; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetUsername(nsACString& aUsername) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetUsername(const nsACString& aUsername) = 0;

  /* attribute ACString realUsername; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetRealUsername(nsACString& aRealUsername) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetRealUsername(const nsACString& aRealUsername) = 0;

  /* attribute ACString type; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetType(nsACString& aType) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetType(const nsACString& aType) = 0;

  /* readonly attribute nsIMsgProtocolInfo protocolInfo; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetProtocolInfo(nsIMsgProtocolInfo **aProtocolInfo) = 0;

  /* readonly attribute AString accountManagerChrome; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetAccountManagerChrome(nsAString& aAccountManagerChrome) = 0;

  /* readonly attribute ACString localStoreType; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLocalStoreType(nsACString& aLocalStoreType) = 0;

  /* readonly attribute ACString localDatabaseType; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLocalDatabaseType(nsACString& aLocalDatabaseType) = 0;

  /* void onUserOrHostNameChanged (in ACString oldName, in ACString newName, in bool hostnameChanged); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD OnUserOrHostNameChanged(const nsACString& oldName, const nsACString& newName, bool hostnameChanged) = 0;

  /* attribute AString password; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPassword(nsAString& aPassword) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetPassword(const nsAString& aPassword) = 0;

  /* AString getPasswordWithUI (in AString aPromptString, in AString aPromptTitle, in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPasswordWithUI(const nsAString& aPromptString, const nsAString& aPromptTitle, nsIMsgWindow *aMsgWindow, nsAString& _retval) = 0;

  /* void forgetPassword (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ForgetPassword(void) = 0;

  /* void forgetSessionPassword (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ForgetSessionPassword(void) = 0;

  /* attribute boolean downloadOnBiff; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) = 0;

  /* attribute boolean doBiff; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDoBiff(bool *aDoBiff) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDoBiff(bool aDoBiff) = 0;

  /* attribute long biffMinutes; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) = 0;

  /* attribute unsigned long biffState; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetBiffState(uint32_t *aBiffState) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetBiffState(uint32_t aBiffState) = 0;

  /* attribute boolean performingBiff; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) = 0;

  /* attribute nsIFile localPath; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLocalPath(nsIFile **aLocalPath) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) = 0;

  /* readonly attribute nsIMsgPluggableStore msgStore; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetMsgStore(nsIMsgPluggableStore **aMsgStore) = 0;

  /* readonly attribute ACString serverURI; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetServerURI(nsACString& aServerURI) = 0;

  /* attribute nsIMsgFolder rootFolder; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetRootFolder(nsIMsgFolder **aRootFolder) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) = 0;

  /* readonly attribute nsIMsgFolder rootMsgFolder; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetRootMsgFolder(nsIMsgFolder **aRootMsgFolder) = 0;

  /* attribute boolean serverBusy; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetServerBusy(bool *aServerBusy) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetServerBusy(bool aServerBusy) = 0;

  /* readonly attribute boolean isSecure; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIsSecure(bool *aIsSecure) = 0;

  /* attribute nsMsgAuthMethodValue authMethod; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) = 0;

  /* attribute nsMsgSocketTypeValue socketType; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) = 0;

  /* attribute boolean emptyTrashOnExit; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) = 0;

  /* nsIMsgFilterList getFilterList (in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) = 0;

  /* void setFilterList (in nsIMsgFilterList aFilterList); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) = 0;

  /* nsIMsgFilterList getEditableFilterList (in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) = 0;

  /* void setEditableFilterList (in nsIMsgFilterList aFilterList); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) = 0;

  /* void setDefaultLocalPath (in nsIFile aDefaultLocalPath); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) = 0;

  /* nsIURI verifyLogon (in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI **_retval) = 0;

  /* void performBiff (in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) = 0;

  /* void getNewMessages (in nsIMsgFolder aFolder, in nsIMsgWindow aMsgWindow, in nsIUrlListener aUrlListener); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) = 0;

  /* readonly attribute boolean serverRequiresPasswordForBiff; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) = 0;

  /* void performExpand (in nsIMsgWindow aMsgWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) = 0;

  /* void writeToFolderCache (in nsIMsgFolderCache folderCache); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) = 0;

  /* void closeCachedConnections (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD CloseCachedConnections(void) = 0;

  /* void shutdown (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Shutdown(void) = 0;

  /* boolean getBoolValue (in string attr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) = 0;

  /* void setBoolValue (in string attr, in boolean value); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetBoolValue(const char * attr, bool value) = 0;

  /* ACString getCharValue (in string attr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCharValue(const char * attr, nsACString& _retval) = 0;

  /* void setCharValue (in string attr, in ACString value); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetCharValue(const char * attr, const nsACString& value) = 0;

  /* AString getUnicharValue (in string attr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetUnicharValue(const char * attr, nsAString& _retval) = 0;

  /* void setUnicharValue (in string attr, in AString value); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetUnicharValue(const char * attr, const nsAString& value) = 0;

  /* long getIntValue (in string attr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) = 0;

  /* void setIntValue (in string attr, in long value); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetIntValue(const char * attr, int32_t value) = 0;

  /* nsIFile getFileValue (in string relpref, in string abspref); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile **_retval) = 0;

  /* void setFileValue (in string relpref, in string abspref, in nsIFile aValue); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) = 0;

  /* void clearAllValues (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ClearAllValues(void) = 0;

  /* void removeFiles (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RemoveFiles(void) = 0;

  /* attribute boolean valid; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetValid(bool *aValid) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetValid(bool aValid) = 0;

  /* AString toString (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ToString(nsAString& _retval) = 0;

  /* void displayOfflineMsg (in nsIMsgWindow aWindow); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) = 0;

  /* boolean equals (in nsIMsgIncomingServer server); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) = 0;

  /* readonly attribute boolean downloadMessagesAtStartup; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) = 0;

  /* attribute boolean canHaveFilters; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) = 0;

  /* attribute boolean canDelete; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanDelete(bool *aCanDelete) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetCanDelete(bool aCanDelete) = 0;

  /* attribute boolean loginAtStartUp; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) = 0;

  /* attribute boolean limitOfflineMessageSize; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) = 0;

  /* attribute long maxMessageSize; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) = 0;

  /* attribute nsIMsgRetentionSettings retentionSettings; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings **aRetentionSettings) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) = 0;

  /* readonly attribute boolean canBeDefaultServer; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) = 0;

  /* readonly attribute boolean canSearchMessages; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) = 0;

  /* readonly attribute boolean canEmptyTrashOnExit; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) = 0;

  /* attribute boolean displayStartupPage; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) = 0;

  /* attribute nsIMsgDownloadSettings downloadSettings; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings **aDownloadSettings) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) = 0;

  /* attribute long offlineSupportLevel; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) = 0;

  /* AString generatePrettyNameForMigration (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GeneratePrettyNameForMigration(nsAString& _retval) = 0;

  /* readonly attribute boolean supportsDiskSpace; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) = 0;

  /* attribute boolean hidden; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetHidden(bool *aHidden) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetHidden(bool aHidden) = 0;

  /* attribute boolean defaultCopiesAndFoldersPrefsToServer; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) = 0;

  /* attribute boolean canCreateFoldersOnServer; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) = 0;

  /* attribute boolean canFileMessagesOnServer; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) = 0;

  /* readonly attribute boolean canCompactFoldersOnServer; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) = 0;

  /* readonly attribute boolean canUndoDeleteOnServer; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) = 0;

  /* readonly attribute nsMsgSearchScopeValue filterScope; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) = 0;

  /* readonly attribute nsMsgSearchScopeValue searchScope; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) = 0;

  /* readonly attribute boolean passwordPromptRequired; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) = 0;

  /* void configureTemporaryFilters (in nsIMsgFilterList filterList); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) = 0;

  /* void clearTemporaryReturnReceiptsFilter (); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) = 0;

  /* readonly attribute nsISpamSettings spamSettings; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSpamSettings(nsISpamSettings **aSpamSettings) = 0;

  /* readonly attribute nsIMsgFilterPlugin spamFilterPlugin; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin **aSpamFilterPlugin) = 0;

  /* nsIMsgFolder getMsgFolderFromURI (in nsIMsgFolder aFolderResource, in ACString aURI); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString& aURI, nsIMsgFolder **_retval) = 0;

  /* readonly attribute boolean isDeferredTo; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) = 0;

  enum {
    keepDups = 0,
    deleteDups = 1,
    moveDupsToTrash = 2,
    markDupsRead = 3
  };

  /* attribute long incomingDuplicateAction; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) = 0;
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) = 0;

  /* boolean isNewHdrDuplicate (in nsIMsgDBHdr aNewHdr); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) = 0;

  /* void setForcePropertyEmpty (in string propertyName, in boolean aForcePropertyEmpty); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) = 0;

  /* boolean getForcePropertyEmpty (in string propertyName); */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) = 0;

  /* readonly attribute long sortOrder; */
  JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetSortOrder(int32_t *aSortOrder) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIMsgIncomingServer, NS_IMSGINCOMINGSERVER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIMSGINCOMINGSERVER \
  NS_IMETHOD GetKey(nsACString& aKey) override; \
  NS_IMETHOD SetKey(const nsACString& aKey) override; \
  NS_IMETHOD GetPrettyName(nsAString& aPrettyName) override; \
  NS_IMETHOD SetPrettyName(const nsAString& aPrettyName) override; \
  NS_IMETHOD GetConstructedPrettyName(nsAString& aConstructedPrettyName) override; \
  NS_IMETHOD GetHostName(nsACString& aHostName) override; \
  NS_IMETHOD SetHostName(const nsACString& aHostName) override; \
  NS_IMETHOD GetRealHostName(nsACString& aRealHostName) override; \
  NS_IMETHOD SetRealHostName(const nsACString& aRealHostName) override; \
  NS_IMETHOD GetPort(int32_t *aPort) override; \
  NS_IMETHOD SetPort(int32_t aPort) override; \
  NS_IMETHOD GetUsername(nsACString& aUsername) override; \
  NS_IMETHOD SetUsername(const nsACString& aUsername) override; \
  NS_IMETHOD GetRealUsername(nsACString& aRealUsername) override; \
  NS_IMETHOD SetRealUsername(const nsACString& aRealUsername) override; \
  NS_IMETHOD GetType(nsACString& aType) override; \
  NS_IMETHOD SetType(const nsACString& aType) override; \
  NS_IMETHOD GetProtocolInfo(nsIMsgProtocolInfo **aProtocolInfo) override; \
  NS_IMETHOD GetAccountManagerChrome(nsAString& aAccountManagerChrome) override; \
  NS_IMETHOD GetLocalStoreType(nsACString& aLocalStoreType) override; \
  NS_IMETHOD GetLocalDatabaseType(nsACString& aLocalDatabaseType) override; \
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString& oldName, const nsACString& newName, bool hostnameChanged) override; \
  NS_IMETHOD GetPassword(nsAString& aPassword) override; \
  NS_IMETHOD SetPassword(const nsAString& aPassword) override; \
  NS_IMETHOD GetPasswordWithUI(const nsAString& aPromptString, const nsAString& aPromptTitle, nsIMsgWindow *aMsgWindow, nsAString& _retval) override; \
  NS_IMETHOD ForgetPassword(void) override; \
  NS_IMETHOD ForgetSessionPassword(void) override; \
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) override; \
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) override; \
  NS_IMETHOD GetDoBiff(bool *aDoBiff) override; \
  NS_IMETHOD SetDoBiff(bool aDoBiff) override; \
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) override; \
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) override; \
  NS_IMETHOD GetBiffState(uint32_t *aBiffState) override; \
  NS_IMETHOD SetBiffState(uint32_t aBiffState) override; \
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) override; \
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) override; \
  NS_IMETHOD GetLocalPath(nsIFile **aLocalPath) override; \
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) override; \
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore **aMsgStore) override; \
  NS_IMETHOD GetServerURI(nsACString& aServerURI) override; \
  NS_IMETHOD GetRootFolder(nsIMsgFolder **aRootFolder) override; \
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) override; \
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder **aRootMsgFolder) override; \
  NS_IMETHOD GetServerBusy(bool *aServerBusy) override; \
  NS_IMETHOD SetServerBusy(bool aServerBusy) override; \
  NS_IMETHOD GetIsSecure(bool *aIsSecure) override; \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) override; \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) override; \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) override; \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) override; \
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) override; \
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) override; \
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) override; \
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) override; \
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) override; \
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) override; \
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) override; \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI **_retval) override; \
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) override; \
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) override; \
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) override; \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) override; \
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) override; \
  NS_IMETHOD CloseCachedConnections(void) override; \
  NS_IMETHOD Shutdown(void) override; \
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) override; \
  NS_IMETHOD SetBoolValue(const char * attr, bool value) override; \
  NS_IMETHOD GetCharValue(const char * attr, nsACString& _retval) override; \
  NS_IMETHOD SetCharValue(const char * attr, const nsACString& value) override; \
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString& _retval) override; \
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString& value) override; \
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) override; \
  NS_IMETHOD SetIntValue(const char * attr, int32_t value) override; \
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile **_retval) override; \
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) override; \
  NS_IMETHOD ClearAllValues(void) override; \
  NS_IMETHOD RemoveFiles(void) override; \
  NS_IMETHOD GetValid(bool *aValid) override; \
  NS_IMETHOD SetValid(bool aValid) override; \
  NS_IMETHOD ToString(nsAString& _retval) override; \
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) override; \
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) override; \
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) override; \
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) override; \
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) override; \
  NS_IMETHOD GetCanDelete(bool *aCanDelete) override; \
  NS_IMETHOD SetCanDelete(bool aCanDelete) override; \
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) override; \
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) override; \
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) override; \
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) override; \
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) override; \
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) override; \
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings **aRetentionSettings) override; \
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) override; \
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) override; \
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) override; \
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) override; \
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) override; \
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) override; \
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings **aDownloadSettings) override; \
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) override; \
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) override; \
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) override; \
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString& _retval) override; \
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) override; \
  NS_IMETHOD GetHidden(bool *aHidden) override; \
  NS_IMETHOD SetHidden(bool aHidden) override; \
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) override; \
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) override; \
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) override; \
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) override; \
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) override; \
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) override; \
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) override; \
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) override; \
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) override; \
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) override; \
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) override; \
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) override; \
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) override; \
  NS_IMETHOD GetSpamSettings(nsISpamSettings **aSpamSettings) override; \
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin **aSpamFilterPlugin) override; \
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString& aURI, nsIMsgFolder **_retval) override; \
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) override; \
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) override; \
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) override; \
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) override; \
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) override; \
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) override; \
  NS_IMETHOD GetSortOrder(int32_t *aSortOrder) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSIMSGINCOMINGSERVER \
  nsresult GetKey(nsACString& aKey); \
  nsresult SetKey(const nsACString& aKey); \
  nsresult GetPrettyName(nsAString& aPrettyName); \
  nsresult SetPrettyName(const nsAString& aPrettyName); \
  nsresult GetConstructedPrettyName(nsAString& aConstructedPrettyName); \
  nsresult GetHostName(nsACString& aHostName); \
  nsresult SetHostName(const nsACString& aHostName); \
  nsresult GetRealHostName(nsACString& aRealHostName); \
  nsresult SetRealHostName(const nsACString& aRealHostName); \
  nsresult GetPort(int32_t *aPort); \
  nsresult SetPort(int32_t aPort); \
  nsresult GetUsername(nsACString& aUsername); \
  nsresult SetUsername(const nsACString& aUsername); \
  nsresult GetRealUsername(nsACString& aRealUsername); \
  nsresult SetRealUsername(const nsACString& aRealUsername); \
  nsresult GetType(nsACString& aType); \
  nsresult SetType(const nsACString& aType); \
  nsresult GetProtocolInfo(nsIMsgProtocolInfo **aProtocolInfo); \
  nsresult GetAccountManagerChrome(nsAString& aAccountManagerChrome); \
  nsresult GetLocalStoreType(nsACString& aLocalStoreType); \
  nsresult GetLocalDatabaseType(nsACString& aLocalDatabaseType); \
  nsresult OnUserOrHostNameChanged(const nsACString& oldName, const nsACString& newName, bool hostnameChanged); \
  nsresult GetPassword(nsAString& aPassword); \
  nsresult SetPassword(const nsAString& aPassword); \
  nsresult GetPasswordWithUI(const nsAString& aPromptString, const nsAString& aPromptTitle, nsIMsgWindow *aMsgWindow, nsAString& _retval); \
  nsresult ForgetPassword(void); \
  nsresult ForgetSessionPassword(void); \
  nsresult GetDownloadOnBiff(bool *aDownloadOnBiff); \
  nsresult SetDownloadOnBiff(bool aDownloadOnBiff); \
  nsresult GetDoBiff(bool *aDoBiff); \
  nsresult SetDoBiff(bool aDoBiff); \
  nsresult GetBiffMinutes(int32_t *aBiffMinutes); \
  nsresult SetBiffMinutes(int32_t aBiffMinutes); \
  nsresult GetBiffState(uint32_t *aBiffState); \
  nsresult SetBiffState(uint32_t aBiffState); \
  nsresult GetPerformingBiff(bool *aPerformingBiff); \
  nsresult SetPerformingBiff(bool aPerformingBiff); \
  nsresult GetLocalPath(nsIFile **aLocalPath); \
  nsresult SetLocalPath(nsIFile *aLocalPath); \
  nsresult GetMsgStore(nsIMsgPluggableStore **aMsgStore); \
  nsresult GetServerURI(nsACString& aServerURI); \
  nsresult GetRootFolder(nsIMsgFolder **aRootFolder); \
  nsresult SetRootFolder(nsIMsgFolder *aRootFolder); \
  nsresult GetRootMsgFolder(nsIMsgFolder **aRootMsgFolder); \
  nsresult GetServerBusy(bool *aServerBusy); \
  nsresult SetServerBusy(bool aServerBusy); \
  nsresult GetIsSecure(bool *aIsSecure); \
  nsresult GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod); \
  nsresult SetAuthMethod(nsMsgAuthMethodValue aAuthMethod); \
  nsresult GetSocketType(nsMsgSocketTypeValue *aSocketType); \
  nsresult SetSocketType(nsMsgSocketTypeValue aSocketType); \
  nsresult GetEmptyTrashOnExit(bool *aEmptyTrashOnExit); \
  nsresult SetEmptyTrashOnExit(bool aEmptyTrashOnExit); \
  nsresult GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval); \
  nsresult SetFilterList(nsIMsgFilterList *aFilterList); \
  nsresult GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval); \
  nsresult SetEditableFilterList(nsIMsgFilterList *aFilterList); \
  nsresult SetDefaultLocalPath(nsIFile *aDefaultLocalPath); \
  nsresult VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI **_retval); \
  nsresult PerformBiff(nsIMsgWindow *aMsgWindow); \
  nsresult GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener); \
  nsresult GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff); \
  nsresult PerformExpand(nsIMsgWindow *aMsgWindow); \
  nsresult WriteToFolderCache(nsIMsgFolderCache *folderCache); \
  nsresult CloseCachedConnections(void); \
  nsresult Shutdown(void); \
  nsresult GetBoolValue(const char * attr, bool *_retval); \
  nsresult SetBoolValue(const char * attr, bool value); \
  nsresult GetCharValue(const char * attr, nsACString& _retval); \
  nsresult SetCharValue(const char * attr, const nsACString& value); \
  nsresult GetUnicharValue(const char * attr, nsAString& _retval); \
  nsresult SetUnicharValue(const char * attr, const nsAString& value); \
  nsresult GetIntValue(const char * attr, int32_t *_retval); \
  nsresult SetIntValue(const char * attr, int32_t value); \
  nsresult GetFileValue(const char * relpref, const char * abspref, nsIFile **_retval); \
  nsresult SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue); \
  nsresult ClearAllValues(void); \
  nsresult RemoveFiles(void); \
  nsresult GetValid(bool *aValid); \
  nsresult SetValid(bool aValid); \
  nsresult ToString(nsAString& _retval); \
  nsresult DisplayOfflineMsg(nsIMsgWindow *aWindow); \
  nsresult Equals(nsIMsgIncomingServer *server, bool *_retval); \
  nsresult GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup); \
  nsresult GetCanHaveFilters(bool *aCanHaveFilters); \
  nsresult SetCanHaveFilters(bool aCanHaveFilters); \
  nsresult GetCanDelete(bool *aCanDelete); \
  nsresult SetCanDelete(bool aCanDelete); \
  nsresult GetLoginAtStartUp(bool *aLoginAtStartUp); \
  nsresult SetLoginAtStartUp(bool aLoginAtStartUp); \
  nsresult GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize); \
  nsresult SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize); \
  nsresult GetMaxMessageSize(int32_t *aMaxMessageSize); \
  nsresult SetMaxMessageSize(int32_t aMaxMessageSize); \
  nsresult GetRetentionSettings(nsIMsgRetentionSettings **aRetentionSettings); \
  nsresult SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings); \
  nsresult GetCanBeDefaultServer(bool *aCanBeDefaultServer); \
  nsresult GetCanSearchMessages(bool *aCanSearchMessages); \
  nsresult GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit); \
  nsresult GetDisplayStartupPage(bool *aDisplayStartupPage); \
  nsresult SetDisplayStartupPage(bool aDisplayStartupPage); \
  nsresult GetDownloadSettings(nsIMsgDownloadSettings **aDownloadSettings); \
  nsresult SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings); \
  nsresult GetOfflineSupportLevel(int32_t *aOfflineSupportLevel); \
  nsresult SetOfflineSupportLevel(int32_t aOfflineSupportLevel); \
  nsresult GeneratePrettyNameForMigration(nsAString& _retval); \
  nsresult GetSupportsDiskSpace(bool *aSupportsDiskSpace); \
  nsresult GetHidden(bool *aHidden); \
  nsresult SetHidden(bool aHidden); \
  nsresult GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer); \
  nsresult SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer); \
  nsresult GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer); \
  nsresult SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer); \
  nsresult GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer); \
  nsresult SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer); \
  nsresult GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer); \
  nsresult GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer); \
  nsresult GetFilterScope(nsMsgSearchScopeValue *aFilterScope); \
  nsresult GetSearchScope(nsMsgSearchScopeValue *aSearchScope); \
  nsresult GetPasswordPromptRequired(bool *aPasswordPromptRequired); \
  nsresult ConfigureTemporaryFilters(nsIMsgFilterList *filterList); \
  nsresult ClearTemporaryReturnReceiptsFilter(void); \
  nsresult GetSpamSettings(nsISpamSettings **aSpamSettings); \
  nsresult GetSpamFilterPlugin(nsIMsgFilterPlugin **aSpamFilterPlugin); \
  nsresult GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString& aURI, nsIMsgFolder **_retval); \
  nsresult GetIsDeferredTo(bool *aIsDeferredTo); \
  nsresult GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction); \
  nsresult SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction); \
  nsresult IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval); \
  nsresult SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty); \
  nsresult GetForcePropertyEmpty(const char * propertyName, bool *_retval); \
  nsresult GetSortOrder(int32_t *aSortOrder); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIMSGINCOMINGSERVER(_to) \
  NS_IMETHOD GetKey(nsACString& aKey) override { return _to GetKey(aKey); } \
  NS_IMETHOD SetKey(const nsACString& aKey) override { return _to SetKey(aKey); } \
  NS_IMETHOD GetPrettyName(nsAString& aPrettyName) override { return _to GetPrettyName(aPrettyName); } \
  NS_IMETHOD SetPrettyName(const nsAString& aPrettyName) override { return _to SetPrettyName(aPrettyName); } \
  NS_IMETHOD GetConstructedPrettyName(nsAString& aConstructedPrettyName) override { return _to GetConstructedPrettyName(aConstructedPrettyName); } \
  NS_IMETHOD GetHostName(nsACString& aHostName) override { return _to GetHostName(aHostName); } \
  NS_IMETHOD SetHostName(const nsACString& aHostName) override { return _to SetHostName(aHostName); } \
  NS_IMETHOD GetRealHostName(nsACString& aRealHostName) override { return _to GetRealHostName(aRealHostName); } \
  NS_IMETHOD SetRealHostName(const nsACString& aRealHostName) override { return _to SetRealHostName(aRealHostName); } \
  NS_IMETHOD GetPort(int32_t *aPort) override { return _to GetPort(aPort); } \
  NS_IMETHOD SetPort(int32_t aPort) override { return _to SetPort(aPort); } \
  NS_IMETHOD GetUsername(nsACString& aUsername) override { return _to GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString& aUsername) override { return _to SetUsername(aUsername); } \
  NS_IMETHOD GetRealUsername(nsACString& aRealUsername) override { return _to GetRealUsername(aRealUsername); } \
  NS_IMETHOD SetRealUsername(const nsACString& aRealUsername) override { return _to SetRealUsername(aRealUsername); } \
  NS_IMETHOD GetType(nsACString& aType) override { return _to GetType(aType); } \
  NS_IMETHOD SetType(const nsACString& aType) override { return _to SetType(aType); } \
  NS_IMETHOD GetProtocolInfo(nsIMsgProtocolInfo **aProtocolInfo) override { return _to GetProtocolInfo(aProtocolInfo); } \
  NS_IMETHOD GetAccountManagerChrome(nsAString& aAccountManagerChrome) override { return _to GetAccountManagerChrome(aAccountManagerChrome); } \
  NS_IMETHOD GetLocalStoreType(nsACString& aLocalStoreType) override { return _to GetLocalStoreType(aLocalStoreType); } \
  NS_IMETHOD GetLocalDatabaseType(nsACString& aLocalDatabaseType) override { return _to GetLocalDatabaseType(aLocalDatabaseType); } \
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString& oldName, const nsACString& newName, bool hostnameChanged) override { return _to OnUserOrHostNameChanged(oldName, newName, hostnameChanged); } \
  NS_IMETHOD GetPassword(nsAString& aPassword) override { return _to GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsAString& aPassword) override { return _to SetPassword(aPassword); } \
  NS_IMETHOD GetPasswordWithUI(const nsAString& aPromptString, const nsAString& aPromptTitle, nsIMsgWindow *aMsgWindow, nsAString& _retval) override { return _to GetPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD ForgetPassword(void) override { return _to ForgetPassword(); } \
  NS_IMETHOD ForgetSessionPassword(void) override { return _to ForgetSessionPassword(); } \
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) override { return _to GetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) override { return _to SetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD GetDoBiff(bool *aDoBiff) override { return _to GetDoBiff(aDoBiff); } \
  NS_IMETHOD SetDoBiff(bool aDoBiff) override { return _to SetDoBiff(aDoBiff); } \
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) override { return _to GetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) override { return _to SetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD GetBiffState(uint32_t *aBiffState) override { return _to GetBiffState(aBiffState); } \
  NS_IMETHOD SetBiffState(uint32_t aBiffState) override { return _to SetBiffState(aBiffState); } \
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) override { return _to GetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) override { return _to SetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD GetLocalPath(nsIFile **aLocalPath) override { return _to GetLocalPath(aLocalPath); } \
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) override { return _to SetLocalPath(aLocalPath); } \
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore **aMsgStore) override { return _to GetMsgStore(aMsgStore); } \
  NS_IMETHOD GetServerURI(nsACString& aServerURI) override { return _to GetServerURI(aServerURI); } \
  NS_IMETHOD GetRootFolder(nsIMsgFolder **aRootFolder) override { return _to GetRootFolder(aRootFolder); } \
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) override { return _to SetRootFolder(aRootFolder); } \
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder **aRootMsgFolder) override { return _to GetRootMsgFolder(aRootMsgFolder); } \
  NS_IMETHOD GetServerBusy(bool *aServerBusy) override { return _to GetServerBusy(aServerBusy); } \
  NS_IMETHOD SetServerBusy(bool aServerBusy) override { return _to SetServerBusy(aServerBusy); } \
  NS_IMETHOD GetIsSecure(bool *aIsSecure) override { return _to GetIsSecure(aIsSecure); } \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) override { return _to GetAuthMethod(aAuthMethod); } \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) override { return _to SetAuthMethod(aAuthMethod); } \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) override { return _to GetSocketType(aSocketType); } \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) override { return _to SetSocketType(aSocketType); } \
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) override { return _to GetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) override { return _to SetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) override { return _to GetFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) override { return _to SetFilterList(aFilterList); } \
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) override { return _to GetEditableFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) override { return _to SetEditableFilterList(aFilterList); } \
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) override { return _to SetDefaultLocalPath(aDefaultLocalPath); } \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI **_retval) override { return _to VerifyLogon(aUrlListener, aMsgWindow, _retval); } \
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) override { return _to PerformBiff(aMsgWindow); } \
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) override { return _to GetNewMessages(aFolder, aMsgWindow, aUrlListener); } \
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) override { return _to GetServerRequiresPasswordForBiff(aServerRequiresPasswordForBiff); } \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) override { return _to PerformExpand(aMsgWindow); } \
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) override { return _to WriteToFolderCache(folderCache); } \
  NS_IMETHOD CloseCachedConnections(void) override { return _to CloseCachedConnections(); } \
  NS_IMETHOD Shutdown(void) override { return _to Shutdown(); } \
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) override { return _to GetBoolValue(attr, _retval); } \
  NS_IMETHOD SetBoolValue(const char * attr, bool value) override { return _to SetBoolValue(attr, value); } \
  NS_IMETHOD GetCharValue(const char * attr, nsACString& _retval) override { return _to GetCharValue(attr, _retval); } \
  NS_IMETHOD SetCharValue(const char * attr, const nsACString& value) override { return _to SetCharValue(attr, value); } \
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString& _retval) override { return _to GetUnicharValue(attr, _retval); } \
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString& value) override { return _to SetUnicharValue(attr, value); } \
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) override { return _to GetIntValue(attr, _retval); } \
  NS_IMETHOD SetIntValue(const char * attr, int32_t value) override { return _to SetIntValue(attr, value); } \
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile **_retval) override { return _to GetFileValue(relpref, abspref, _retval); } \
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) override { return _to SetFileValue(relpref, abspref, aValue); } \
  NS_IMETHOD ClearAllValues(void) override { return _to ClearAllValues(); } \
  NS_IMETHOD RemoveFiles(void) override { return _to RemoveFiles(); } \
  NS_IMETHOD GetValid(bool *aValid) override { return _to GetValid(aValid); } \
  NS_IMETHOD SetValid(bool aValid) override { return _to SetValid(aValid); } \
  NS_IMETHOD ToString(nsAString& _retval) override { return _to ToString(_retval); } \
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) override { return _to DisplayOfflineMsg(aWindow); } \
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) override { return _to Equals(server, _retval); } \
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) override { return _to GetDownloadMessagesAtStartup(aDownloadMessagesAtStartup); } \
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) override { return _to GetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) override { return _to SetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD GetCanDelete(bool *aCanDelete) override { return _to GetCanDelete(aCanDelete); } \
  NS_IMETHOD SetCanDelete(bool aCanDelete) override { return _to SetCanDelete(aCanDelete); } \
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) override { return _to GetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) override { return _to SetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) override { return _to GetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) override { return _to SetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) override { return _to GetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) override { return _to SetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings **aRetentionSettings) override { return _to GetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) override { return _to SetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) override { return _to GetCanBeDefaultServer(aCanBeDefaultServer); } \
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) override { return _to GetCanSearchMessages(aCanSearchMessages); } \
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) override { return _to GetCanEmptyTrashOnExit(aCanEmptyTrashOnExit); } \
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) override { return _to GetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) override { return _to SetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings **aDownloadSettings) override { return _to GetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) override { return _to SetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) override { return _to GetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) override { return _to SetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString& _retval) override { return _to GeneratePrettyNameForMigration(_retval); } \
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) override { return _to GetSupportsDiskSpace(aSupportsDiskSpace); } \
  NS_IMETHOD GetHidden(bool *aHidden) override { return _to GetHidden(aHidden); } \
  NS_IMETHOD SetHidden(bool aHidden) override { return _to SetHidden(aHidden); } \
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) override { return _to GetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) override { return _to SetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) override { return _to GetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) override { return _to SetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) override { return _to GetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) override { return _to SetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) override { return _to GetCanCompactFoldersOnServer(aCanCompactFoldersOnServer); } \
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) override { return _to GetCanUndoDeleteOnServer(aCanUndoDeleteOnServer); } \
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) override { return _to GetFilterScope(aFilterScope); } \
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) override { return _to GetSearchScope(aSearchScope); } \
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) override { return _to GetPasswordPromptRequired(aPasswordPromptRequired); } \
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) override { return _to ConfigureTemporaryFilters(filterList); } \
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) override { return _to ClearTemporaryReturnReceiptsFilter(); } \
  NS_IMETHOD GetSpamSettings(nsISpamSettings **aSpamSettings) override { return _to GetSpamSettings(aSpamSettings); } \
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin **aSpamFilterPlugin) override { return _to GetSpamFilterPlugin(aSpamFilterPlugin); } \
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString& aURI, nsIMsgFolder **_retval) override { return _to GetMsgFolderFromURI(aFolderResource, aURI, _retval); } \
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) override { return _to GetIsDeferredTo(aIsDeferredTo); } \
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) override { return _to GetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) override { return _to SetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) override { return _to IsNewHdrDuplicate(aNewHdr, _retval); } \
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) override { return _to SetForcePropertyEmpty(propertyName, aForcePropertyEmpty); } \
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) override { return _to GetForcePropertyEmpty(propertyName, _retval); } \
  NS_IMETHOD GetSortOrder(int32_t *aSortOrder) override { return _to GetSortOrder(aSortOrder); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIMSGINCOMINGSERVER(_to) \
  NS_IMETHOD GetKey(nsACString& aKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKey(aKey); } \
  NS_IMETHOD SetKey(const nsACString& aKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetKey(aKey); } \
  NS_IMETHOD GetPrettyName(nsAString& aPrettyName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrettyName(aPrettyName); } \
  NS_IMETHOD SetPrettyName(const nsAString& aPrettyName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrettyName(aPrettyName); } \
  NS_IMETHOD GetConstructedPrettyName(nsAString& aConstructedPrettyName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetConstructedPrettyName(aConstructedPrettyName); } \
  NS_IMETHOD GetHostName(nsACString& aHostName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHostName(aHostName); } \
  NS_IMETHOD SetHostName(const nsACString& aHostName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHostName(aHostName); } \
  NS_IMETHOD GetRealHostName(nsACString& aRealHostName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRealHostName(aRealHostName); } \
  NS_IMETHOD SetRealHostName(const nsACString& aRealHostName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRealHostName(aRealHostName); } \
  NS_IMETHOD GetPort(int32_t *aPort) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPort(aPort); } \
  NS_IMETHOD SetPort(int32_t aPort) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPort(aPort); } \
  NS_IMETHOD GetUsername(nsACString& aUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString& aUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsername(aUsername); } \
  NS_IMETHOD GetRealUsername(nsACString& aRealUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRealUsername(aRealUsername); } \
  NS_IMETHOD SetRealUsername(const nsACString& aRealUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRealUsername(aRealUsername); } \
  NS_IMETHOD GetType(nsACString& aType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetType(aType); } \
  NS_IMETHOD SetType(const nsACString& aType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetType(aType); } \
  NS_IMETHOD GetProtocolInfo(nsIMsgProtocolInfo **aProtocolInfo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProtocolInfo(aProtocolInfo); } \
  NS_IMETHOD GetAccountManagerChrome(nsAString& aAccountManagerChrome) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAccountManagerChrome(aAccountManagerChrome); } \
  NS_IMETHOD GetLocalStoreType(nsACString& aLocalStoreType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLocalStoreType(aLocalStoreType); } \
  NS_IMETHOD GetLocalDatabaseType(nsACString& aLocalDatabaseType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLocalDatabaseType(aLocalDatabaseType); } \
  NS_IMETHOD OnUserOrHostNameChanged(const nsACString& oldName, const nsACString& newName, bool hostnameChanged) override { return !_to ? NS_ERROR_NULL_POINTER : _to->OnUserOrHostNameChanged(oldName, newName, hostnameChanged); } \
  NS_IMETHOD GetPassword(nsAString& aPassword) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsAString& aPassword) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPassword(aPassword); } \
  NS_IMETHOD GetPasswordWithUI(const nsAString& aPromptString, const nsAString& aPromptTitle, nsIMsgWindow *aMsgWindow, nsAString& _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPasswordWithUI(aPromptString, aPromptTitle, aMsgWindow, _retval); } \
  NS_IMETHOD ForgetPassword(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetPassword(); } \
  NS_IMETHOD ForgetSessionPassword(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ForgetSessionPassword(); } \
  NS_IMETHOD GetDownloadOnBiff(bool *aDownloadOnBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD SetDownloadOnBiff(bool aDownloadOnBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDownloadOnBiff(aDownloadOnBiff); } \
  NS_IMETHOD GetDoBiff(bool *aDoBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDoBiff(aDoBiff); } \
  NS_IMETHOD SetDoBiff(bool aDoBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDoBiff(aDoBiff); } \
  NS_IMETHOD GetBiffMinutes(int32_t *aBiffMinutes) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD SetBiffMinutes(int32_t aBiffMinutes) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBiffMinutes(aBiffMinutes); } \
  NS_IMETHOD GetBiffState(uint32_t *aBiffState) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBiffState(aBiffState); } \
  NS_IMETHOD SetBiffState(uint32_t aBiffState) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBiffState(aBiffState); } \
  NS_IMETHOD GetPerformingBiff(bool *aPerformingBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD SetPerformingBiff(bool aPerformingBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPerformingBiff(aPerformingBiff); } \
  NS_IMETHOD GetLocalPath(nsIFile **aLocalPath) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLocalPath(aLocalPath); } \
  NS_IMETHOD SetLocalPath(nsIFile *aLocalPath) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLocalPath(aLocalPath); } \
  NS_IMETHOD GetMsgStore(nsIMsgPluggableStore **aMsgStore) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgStore(aMsgStore); } \
  NS_IMETHOD GetServerURI(nsACString& aServerURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerURI(aServerURI); } \
  NS_IMETHOD GetRootFolder(nsIMsgFolder **aRootFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRootFolder(aRootFolder); } \
  NS_IMETHOD SetRootFolder(nsIMsgFolder *aRootFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRootFolder(aRootFolder); } \
  NS_IMETHOD GetRootMsgFolder(nsIMsgFolder **aRootMsgFolder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRootMsgFolder(aRootMsgFolder); } \
  NS_IMETHOD GetServerBusy(bool *aServerBusy) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerBusy(aServerBusy); } \
  NS_IMETHOD SetServerBusy(bool aServerBusy) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServerBusy(aServerBusy); } \
  NS_IMETHOD GetIsSecure(bool *aIsSecure) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsSecure(aIsSecure); } \
  NS_IMETHOD GetAuthMethod(nsMsgAuthMethodValue *aAuthMethod) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthMethod(aAuthMethod); } \
  NS_IMETHOD SetAuthMethod(nsMsgAuthMethodValue aAuthMethod) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAuthMethod(aAuthMethod); } \
  NS_IMETHOD GetSocketType(nsMsgSocketTypeValue *aSocketType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSocketType(aSocketType); } \
  NS_IMETHOD SetSocketType(nsMsgSocketTypeValue aSocketType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSocketType(aSocketType); } \
  NS_IMETHOD GetEmptyTrashOnExit(bool *aEmptyTrashOnExit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD SetEmptyTrashOnExit(bool aEmptyTrashOnExit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEmptyTrashOnExit(aEmptyTrashOnExit); } \
  NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFilterList(aFilterList); } \
  NS_IMETHOD GetEditableFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEditableFilterList(aMsgWindow, _retval); } \
  NS_IMETHOD SetEditableFilterList(nsIMsgFilterList *aFilterList) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEditableFilterList(aFilterList); } \
  NS_IMETHOD SetDefaultLocalPath(nsIFile *aDefaultLocalPath) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDefaultLocalPath(aDefaultLocalPath); } \
  NS_IMETHOD VerifyLogon(nsIUrlListener *aUrlListener, nsIMsgWindow *aMsgWindow, nsIURI **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->VerifyLogon(aUrlListener, aMsgWindow, _retval); } \
  NS_IMETHOD PerformBiff(nsIMsgWindow *aMsgWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PerformBiff(aMsgWindow); } \
  NS_IMETHOD GetNewMessages(nsIMsgFolder *aFolder, nsIMsgWindow *aMsgWindow, nsIUrlListener *aUrlListener) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNewMessages(aFolder, aMsgWindow, aUrlListener); } \
  NS_IMETHOD GetServerRequiresPasswordForBiff(bool *aServerRequiresPasswordForBiff) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServerRequiresPasswordForBiff(aServerRequiresPasswordForBiff); } \
  NS_IMETHOD PerformExpand(nsIMsgWindow *aMsgWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->PerformExpand(aMsgWindow); } \
  NS_IMETHOD WriteToFolderCache(nsIMsgFolderCache *folderCache) override { return !_to ? NS_ERROR_NULL_POINTER : _to->WriteToFolderCache(folderCache); } \
  NS_IMETHOD CloseCachedConnections(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->CloseCachedConnections(); } \
  NS_IMETHOD Shutdown(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Shutdown(); } \
  NS_IMETHOD GetBoolValue(const char * attr, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBoolValue(attr, _retval); } \
  NS_IMETHOD SetBoolValue(const char * attr, bool value) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBoolValue(attr, value); } \
  NS_IMETHOD GetCharValue(const char * attr, nsACString& _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharValue(attr, _retval); } \
  NS_IMETHOD SetCharValue(const char * attr, const nsACString& value) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharValue(attr, value); } \
  NS_IMETHOD GetUnicharValue(const char * attr, nsAString& _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUnicharValue(attr, _retval); } \
  NS_IMETHOD SetUnicharValue(const char * attr, const nsAString& value) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUnicharValue(attr, value); } \
  NS_IMETHOD GetIntValue(const char * attr, int32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIntValue(attr, _retval); } \
  NS_IMETHOD SetIntValue(const char * attr, int32_t value) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIntValue(attr, value); } \
  NS_IMETHOD GetFileValue(const char * relpref, const char * abspref, nsIFile **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFileValue(relpref, abspref, _retval); } \
  NS_IMETHOD SetFileValue(const char * relpref, const char * abspref, nsIFile *aValue) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetFileValue(relpref, abspref, aValue); } \
  NS_IMETHOD ClearAllValues(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAllValues(); } \
  NS_IMETHOD RemoveFiles(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveFiles(); } \
  NS_IMETHOD GetValid(bool *aValid) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetValid(aValid); } \
  NS_IMETHOD SetValid(bool aValid) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetValid(aValid); } \
  NS_IMETHOD ToString(nsAString& _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } \
  NS_IMETHOD DisplayOfflineMsg(nsIMsgWindow *aWindow) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DisplayOfflineMsg(aWindow); } \
  NS_IMETHOD Equals(nsIMsgIncomingServer *server, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Equals(server, _retval); } \
  NS_IMETHOD GetDownloadMessagesAtStartup(bool *aDownloadMessagesAtStartup) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadMessagesAtStartup(aDownloadMessagesAtStartup); } \
  NS_IMETHOD GetCanHaveFilters(bool *aCanHaveFilters) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD SetCanHaveFilters(bool aCanHaveFilters) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanHaveFilters(aCanHaveFilters); } \
  NS_IMETHOD GetCanDelete(bool *aCanDelete) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanDelete(aCanDelete); } \
  NS_IMETHOD SetCanDelete(bool aCanDelete) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanDelete(aCanDelete); } \
  NS_IMETHOD GetLoginAtStartUp(bool *aLoginAtStartUp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD SetLoginAtStartUp(bool aLoginAtStartUp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLoginAtStartUp(aLoginAtStartUp); } \
  NS_IMETHOD GetLimitOfflineMessageSize(bool *aLimitOfflineMessageSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD SetLimitOfflineMessageSize(bool aLimitOfflineMessageSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLimitOfflineMessageSize(aLimitOfflineMessageSize); } \
  NS_IMETHOD GetMaxMessageSize(int32_t *aMaxMessageSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD SetMaxMessageSize(int32_t aMaxMessageSize) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaxMessageSize(aMaxMessageSize); } \
  NS_IMETHOD GetRetentionSettings(nsIMsgRetentionSettings **aRetentionSettings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD SetRetentionSettings(nsIMsgRetentionSettings *aRetentionSettings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRetentionSettings(aRetentionSettings); } \
  NS_IMETHOD GetCanBeDefaultServer(bool *aCanBeDefaultServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanBeDefaultServer(aCanBeDefaultServer); } \
  NS_IMETHOD GetCanSearchMessages(bool *aCanSearchMessages) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanSearchMessages(aCanSearchMessages); } \
  NS_IMETHOD GetCanEmptyTrashOnExit(bool *aCanEmptyTrashOnExit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanEmptyTrashOnExit(aCanEmptyTrashOnExit); } \
  NS_IMETHOD GetDisplayStartupPage(bool *aDisplayStartupPage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD SetDisplayStartupPage(bool aDisplayStartupPage) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDisplayStartupPage(aDisplayStartupPage); } \
  NS_IMETHOD GetDownloadSettings(nsIMsgDownloadSettings **aDownloadSettings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD SetDownloadSettings(nsIMsgDownloadSettings *aDownloadSettings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDownloadSettings(aDownloadSettings); } \
  NS_IMETHOD GetOfflineSupportLevel(int32_t *aOfflineSupportLevel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD SetOfflineSupportLevel(int32_t aOfflineSupportLevel) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOfflineSupportLevel(aOfflineSupportLevel); } \
  NS_IMETHOD GeneratePrettyNameForMigration(nsAString& _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GeneratePrettyNameForMigration(_retval); } \
  NS_IMETHOD GetSupportsDiskSpace(bool *aSupportsDiskSpace) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSupportsDiskSpace(aSupportsDiskSpace); } \
  NS_IMETHOD GetHidden(bool *aHidden) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHidden(aHidden); } \
  NS_IMETHOD SetHidden(bool aHidden) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetHidden(aHidden); } \
  NS_IMETHOD GetDefaultCopiesAndFoldersPrefsToServer(bool *aDefaultCopiesAndFoldersPrefsToServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD SetDefaultCopiesAndFoldersPrefsToServer(bool aDefaultCopiesAndFoldersPrefsToServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDefaultCopiesAndFoldersPrefsToServer(aDefaultCopiesAndFoldersPrefsToServer); } \
  NS_IMETHOD GetCanCreateFoldersOnServer(bool *aCanCreateFoldersOnServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD SetCanCreateFoldersOnServer(bool aCanCreateFoldersOnServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanCreateFoldersOnServer(aCanCreateFoldersOnServer); } \
  NS_IMETHOD GetCanFileMessagesOnServer(bool *aCanFileMessagesOnServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD SetCanFileMessagesOnServer(bool aCanFileMessagesOnServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanFileMessagesOnServer(aCanFileMessagesOnServer); } \
  NS_IMETHOD GetCanCompactFoldersOnServer(bool *aCanCompactFoldersOnServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanCompactFoldersOnServer(aCanCompactFoldersOnServer); } \
  NS_IMETHOD GetCanUndoDeleteOnServer(bool *aCanUndoDeleteOnServer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanUndoDeleteOnServer(aCanUndoDeleteOnServer); } \
  NS_IMETHOD GetFilterScope(nsMsgSearchScopeValue *aFilterScope) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFilterScope(aFilterScope); } \
  NS_IMETHOD GetSearchScope(nsMsgSearchScopeValue *aSearchScope) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchScope(aSearchScope); } \
  NS_IMETHOD GetPasswordPromptRequired(bool *aPasswordPromptRequired) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPasswordPromptRequired(aPasswordPromptRequired); } \
  NS_IMETHOD ConfigureTemporaryFilters(nsIMsgFilterList *filterList) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ConfigureTemporaryFilters(filterList); } \
  NS_IMETHOD ClearTemporaryReturnReceiptsFilter(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearTemporaryReturnReceiptsFilter(); } \
  NS_IMETHOD GetSpamSettings(nsISpamSettings **aSpamSettings) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpamSettings(aSpamSettings); } \
  NS_IMETHOD GetSpamFilterPlugin(nsIMsgFilterPlugin **aSpamFilterPlugin) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpamFilterPlugin(aSpamFilterPlugin); } \
  NS_IMETHOD GetMsgFolderFromURI(nsIMsgFolder *aFolderResource, const nsACString& aURI, nsIMsgFolder **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMsgFolderFromURI(aFolderResource, aURI, _retval); } \
  NS_IMETHOD GetIsDeferredTo(bool *aIsDeferredTo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsDeferredTo(aIsDeferredTo); } \
  NS_IMETHOD GetIncomingDuplicateAction(int32_t *aIncomingDuplicateAction) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD SetIncomingDuplicateAction(int32_t aIncomingDuplicateAction) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIncomingDuplicateAction(aIncomingDuplicateAction); } \
  NS_IMETHOD IsNewHdrDuplicate(nsIMsgDBHdr *aNewHdr, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsNewHdrDuplicate(aNewHdr, _retval); } \
  NS_IMETHOD SetForcePropertyEmpty(const char * propertyName, bool aForcePropertyEmpty) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetForcePropertyEmpty(propertyName, aForcePropertyEmpty); } \
  NS_IMETHOD GetForcePropertyEmpty(const char * propertyName, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetForcePropertyEmpty(propertyName, _retval); } \
  NS_IMETHOD GetSortOrder(int32_t *aSortOrder) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSortOrder(aSortOrder); } 

/*
 * Following values for offline support have been used by
 * various files. If you are modifying any of the values
 * below, please do take care of the following files.
 * - mozilla/mailnews/base/src/nsMsgAccountManagerDS.cpp
 * - mozilla/mailnews/base/util/nsMsgIncomingServer.cpp
 * - mozilla/mailnews/imap/src/nsImapIncomingServer.cpp
 * - mozilla/mailnews/local/src/nsPop3IncomingServer.cpp
 * - mozilla/mailnews/news/src/nsNntpIncomingServer.cpp
 * - mozilla/mailnews/base/content/msgAccountCentral.js
 * - mozilla/modules/libpref/src/init/mailnews.js
 * - ns/modules/libpref/src/init/mailnews-ns.js
 * - ns/mailnews/base/ispdata/aol.rdf
 * - ns/mailnews/base/ispdata/nswebmail.rdf
 */
#define OFFLINE_SUPPORT_LEVEL_NONE 0
#define OFFLINE_SUPPORT_LEVEL_REGULAR 10
#define OFFLINE_SUPPORT_LEVEL_EXTENDED 20
#define OFFLINE_SUPPORT_LEVEL_UNDEFINED -1
// Value when no port setting is found
#define PORT_NOT_SET -1
/* some useful macros to implement nsIMsgIncomingServer accessors */
#define NS_IMPL_SERVERPREF_STR(_class, _postfix, _prefname) \
NS_IMETHODIMP                              \
_class::Get##_postfix(nsACString& retval)  \
{                                          \
  return GetCharValue(_prefname, retval);  \
}                                          \
NS_IMETHODIMP                              \
_class::Set##_postfix(const nsACString& chvalue) \
{                                          \
  return SetCharValue(_prefname, chvalue); \
}
#define NS_IMPL_SERVERPREF_BOOL(_class, _postfix, _prefname)\
NS_IMETHODIMP                                               \
_class::Get##_postfix(bool *retval)                         \
{                                                           \
  return GetBoolValue(_prefname, retval);                   \
}                                                           \
NS_IMETHODIMP                                               \
_class::Set##_postfix(bool bvalue)                          \
{                                                           \
  return SetBoolValue(_prefname, bvalue);                   \
}
#define NS_IMPL_SERVERPREF_INT(_class, _postfix, _prefname)\
NS_IMETHODIMP                                              \
_class::Get##_postfix(int32_t *retval)                     \
{                                                          \
  return GetIntValue(_prefname, retval);                   \
}                                                          \
NS_IMETHODIMP                                              \
_class::Set##_postfix(int32_t ivalue)                      \
{                                                          \
  return SetIntValue(_prefname, ivalue);                   \
}

#endif /* __gen_nsIMsgIncomingServer_h__ */