Back to index

lightning-sunbird  0.9+nobinonly
nsMsgFolderFlags.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either of the GNU General Public License Version 2 or later (the "GPL"),
00026  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 
00038 /* Flags about a folder or a newsgroup.  Used in the MSG_FolderLine struct;
00039    also used internally in libmsg (the `flags' slot in MSG_Folder).  Note that
00040    these don't have anything to do with the above MSG_FLAG flags; they belong
00041    to different objects entirely.  */
00042 
00043 #ifndef _msgFolderFlags_h_
00044 #define _msgFolderFlags_h_
00045 
00046 
00047     /* These flags say what kind of folder this is:
00048        mail or news, directory or leaf.
00049      */
00050 #define MSG_FOLDER_FLAG_NEWSGROUP   0x0001  /* The type of this folder. */
00051 #define MSG_FOLDER_FLAG_NEWS_HOST   0x0002  /* Exactly one of these three */
00052 #define MSG_FOLDER_FLAG_MAIL        0x0004  /* flags will be set. */
00053 
00054 #define MSG_FOLDER_FLAG_DIRECTORY   0x0008  /* Whether this is a directory:
00055                                                NEWS_HOSTs are always
00056                                                directories; NEWS_GROUPs can be
00057                                                directories if we are in ``show
00058                                                all groups'' mode; MAIL folders
00059                                                will have this bit if they are
00060                                                really directories, not files.
00061                                                (Note that directories may have
00062                                                zero children.) */
00063 
00064 #define MSG_FOLDER_FLAG_ELIDED      0x0010  /* Whether the children of this
00065                                                folder are currently hidden in
00066                                                the listing.  This will only
00067                                                be present if the DIRECTORY
00068                                                bit is on. */
00069 #define MSG_FOLDER_FLAG_VIRTUAL   0x0020    /* virtual search folder */
00070 
00071     /* These flags only occur in folders which have
00072        the MSG_FOLDER_FLAG_NEWSGROUP bit set, and do
00073        not have the MSG_FOLDER_FLAG_DIRECTORY or
00074        MSG_FOLDER_FLAG_ELIDED bits set.
00075      */
00076 
00077 #define MSG_FOLDER_FLAG_SUBSCRIBED  0x0040  /* Whether this folder represents
00078                                                a subscribed newsgroup. */
00079 #define MSG_FOLDER_FLAG_UNUSED2   0x0080  /* used to be for new newsgroups
00080                                                added by the `Check
00081                                                New Groups' command. */
00082 
00083 
00084     /* These flags only occur in folders which have
00085        the MSG_FOLDER_FLAG_MAIL bit set, and do
00086        not have the MSG_FOLDER_FLAG_DIRECTORY or
00087        MSG_FOLDER_FLAG_ELIDED bits set.
00088 
00089           The numeric order of these flags is important;
00090           folders with these flags on get displayed first,
00091           in reverse numeric order, before folders that have
00092           none of these flags on.  (Note that if a folder is,
00093           say, *both* inbox and sentmail, then its numeric value
00094           will be even bigger, and so will bubble up to where the
00095           inbox generally is.  What a hack!)
00096      */
00097 
00098 #define MSG_FOLDER_FLAG_TRASH       0x0100  /* Whether this is the trash
00099                                                folder. */
00100 #define MSG_FOLDER_FLAG_SENTMAIL   0x0200 /* Whether this is a folder that
00101                                                                                 sent mail gets delivered to.
00102                                                                                 This particular magic flag is
00103                                                                                 used only during sorting of
00104                                                                                 folders; we generally don't care
00105                                                                                 otherwise. */
00106 #define MSG_FOLDER_FLAG_DRAFTS      0x0400       /* Whether this is the folder in
00107                                                which unfinised, unsent messages
00108                                                are saved for later editing. */
00109 #define MSG_FOLDER_FLAG_QUEUE       0x0800  /* Whether this is the folder in
00110                                                which messages are queued for
00111                                                later delivery. */
00112 #define MSG_FOLDER_FLAG_INBOX       0x1000  /* Whether this is the primary
00113                                                inbox folder. */
00114 #define MSG_FOLDER_FLAG_IMAPBOX           0x2000 /* Whether this folder on online
00115                                                                                 IMAP */
00116 
00117 #define MSG_FOLDER_FLAG_UNUSED3 0x4000 /* used to be for category container */
00118 
00119 #define MSG_FOLDER_FLAG_PROFILE_GROUP 0x8000 /* This is a virtual newsgroup */
00120 
00121 #define MSG_FOLDER_FLAG_UNUSED4    0x10000  /* used to be for categories */
00122 
00123 #define MSG_FOLDER_FLAG_GOT_NEW           0x20000              /* folder got new msgs */
00124 
00125 #define MSG_FOLDER_FLAG_IMAP_SERVER       0x40000              /* folder is an IMAP server */
00126 
00127 #define MSG_FOLDER_FLAG_IMAP_PERSONAL     0x80000              /* folder is an IMAP personal folder */
00128 
00129 #define MSG_FOLDER_FLAG_IMAP_PUBLIC              0x100000             /* folder is an IMAP public folder */
00130 
00131 #define MSG_FOLDER_FLAG_IMAP_OTHER_USER   0x200000             /* folder is another user's IMAP folder */
00132                                                                                                   /* Think of it like a folder that someone would share. */
00133 #define MSG_FOLDER_FLAG_TEMPLATES         0x400000      /* Whether this is the template folder */
00134 
00135 #define MSG_FOLDER_FLAG_PERSONAL_SHARED   0x800000      /* This folder is one of your personal folders that
00136                                                         `                                     is shared with other users */
00137 
00138 #define MSG_FOLDER_FLAG_IMAP_NOSELECT     0x1000000     /* This folder is an IMAP \Noselect folder */
00139 
00140 #define MSG_FOLDER_FLAG_CREATED_OFFLINE 0x2000000       /* this folder created offline */
00141 
00142 #define MSG_FOLDER_FLAG_IMAP_NOINFERIORS 0x4000000 /* this imap folder cannot have children :-( */
00143 
00144 #define MSG_FOLDER_FLAG_OFFLINE 0x8000000 /* this folder configured for offline use */
00145 
00146 #define MSG_FOLDER_FLAG_OFFLINEEVENTS 0x10000000 /* this folder has offline events to play back */
00147 
00148 #define MSG_FOLDER_FLAG_CHECK_NEW 0x20000000 /* this folder is checked for new messages */
00149 
00150 #define MSG_FOLDER_FLAG_JUNK 0x40000000 /* this folder is for spam messages */
00151 
00152 #define MSG_FOLDER_FLAG_FAVORITE 0x80000000 /* this folder is in favorites view */
00153 #endif