Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
nsIMAPGroupRecord Class Reference

#include <nsIMAPGroupRecord.h>

List of all members.

Public Member Functions

virtual PRBool IsCategory ()
virtual PRBool IsCategoryContainer ()
virtual int SetIsCategoryContainer (PRBool)
virtual PRBool IsIMAPGroupRecord ()
virtual nsIMAPGroupRecordGetIMAPGroupRecord ()
virtual PRBool IsGroup ()
virtual char GetHierarchySeparator ()
void SetHierarchySeparator (char delimiter)
PRBool GetAllGrandChildrenDiscovered ()
void SetAllGrandChildrenDiscovered (PRBool discovered)
PRBool GetIsGroupFilledIn ()
void SetIsGroupFilledIn (PRBool filledIn)
void SetFlags (PRUint32 flags)
PRUint32 GetFlags ()
void SetFolderIsNamespace (PRBool isNamespace)
PRBool GetFolderIsNamespace ()
PRBool GetCanToggleSubscribe ()

Static Public Member Functions

static nsIMAPGroupRecordCreate (nsIMAPGroupRecord *parent, const char *folderName, char delimiter, PRBool filledInGroup, PRBool folderIsNamespace)
static nsIMAPGroupRecordCreateFromPartname (nsIMAPGroupRecord *parent, const char *partname, char delimiter, PRBool filledInGroup)

Protected Member Functions

 nsIMAPGroupRecord (nsIMAPGroupRecord *parent, const char *partname, char delimiter, PRBool filledInGroup)

Protected Attributes

PRBool m_allGrandChildrenDiscovered
PRBool m_filledInGroup
PRBool m_folderIsNamespace
char m_onlineDelimiter
PRUint32 m_flags

Detailed Description

Definition at line 48 of file nsIMAPGroupRecord.h.


Constructor & Destructor Documentation

nsIMAPGroupRecord::nsIMAPGroupRecord ( nsIMAPGroupRecord parent,
const char *  partname,
char  delimiter,
PRBool  filledInGroup 
) [protected]

Definition at line 102 of file nsIMAPGroupRecord.cpp.

                                                                                                                                   : nsMsgGroupRecord(parent, partname, 0, 0, 0, '/')
{
       m_flags = 0;
       m_allGrandChildrenDiscovered = PR_FALSE;
       m_filledInGroup = filledInGroup;
       m_onlineDelimiter = delimiter;
}

Here is the caller graph for this function:


Member Function Documentation

nsIMAPGroupRecord * nsIMAPGroupRecord::Create ( nsIMAPGroupRecord parent,
const char *  folderName,
char  delimiter,
PRBool  filledInGroup,
PRBool  folderIsNamespace 
) [static]

Definition at line 45 of file nsIMAPGroupRecord.cpp.

{
       char* tmp = NULL;
       char* partname = NULL;
       nsIMAPGroupRecord* result = NULL;

       if (folderName)
       {
              tmp = PL_strdup(folderName);
              partname = PL_strrchr(tmp, '/');
              if (!partname || !delimiter || folderIsNamespace) // if delimiter == NULL, partname is the full folderName
                     partname = tmp;
              else
                     partname++;
       }

#ifdef DEBUG_slowAndParanoid
       if (parent->m_partname) {
              char* parentname = parent->GetFullName();
              PR_ASSERT(partname > tmp && partname[-1] == m_delimiter);
              partname[-1] = '\0';
              PR_ASSERT(PL_strcmp(parentname, tmp) == 0);
              partname[-1] = m_delimiter;
              delete [] parentname;
              parentname = NULL;
       } else {
              PR_ASSERT(partname == tmp);
       }
#endif

       result = nsIMAPGroupRecord::CreateFromPartname(parent, partname, delimiter, filledInGroup);
       if (result) {
              result->m_flags = 0;
              result->SetFolderIsNamespace(folderIsNamespace);
       }

       PR_Free(tmp);
       return result;
       
}

Here is the call graph for this function:

nsIMAPGroupRecord * nsIMAPGroupRecord::CreateFromPartname ( nsIMAPGroupRecord parent,
const char *  partname,
char  delimiter,
PRBool  filledInGroup 
) [static]

Definition at line 89 of file nsIMAPGroupRecord.cpp.

{
       nsIMAPGroupRecord* result = new nsIMAPGroupRecord(parent, partname, delimiter, filledInGroup);
       if (result && partname && !result->m_partname) {
              // We ran out of memory.
              delete result;
              result = NULL;
       }
       result->InitializeSibling();
       return result;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 72 of file nsIMAPGroupRecord.h.

Definition at line 112 of file nsIMAPGroupRecord.cpp.

Here is the call graph for this function:

Definition at line 79 of file nsIMAPGroupRecord.h.

{ return m_flags; }

Here is the caller graph for this function:

Definition at line 82 of file nsIMAPGroupRecord.h.

{ return m_folderIsNamespace; }

Here is the caller graph for this function:

virtual char nsIMAPGroupRecord::GetHierarchySeparator ( ) [inline, virtual]

Definition at line 69 of file nsIMAPGroupRecord.h.

{ return m_onlineDelimiter; }

Definition at line 65 of file nsIMAPGroupRecord.h.

{ return this; }

Definition at line 75 of file nsIMAPGroupRecord.h.

{ return m_filledInGroup; }
virtual PRBool nsIMAPGroupRecord::IsCategory ( ) [inline, virtual]

Definition at line 61 of file nsIMAPGroupRecord.h.

{ return PR_FALSE;}
virtual PRBool nsIMAPGroupRecord::IsCategoryContainer ( ) [inline, virtual]

Definition at line 62 of file nsIMAPGroupRecord.h.

{ return PR_FALSE; }
virtual PRBool nsIMAPGroupRecord::IsGroup ( ) [inline, virtual]

Definition at line 67 of file nsIMAPGroupRecord.h.

{ return PR_TRUE; }
virtual PRBool nsIMAPGroupRecord::IsIMAPGroupRecord ( ) [inline, virtual]

Definition at line 64 of file nsIMAPGroupRecord.h.

{ return PR_TRUE; }

Definition at line 73 of file nsIMAPGroupRecord.h.

{ m_allGrandChildrenDiscovered = discovered; }

Definition at line 78 of file nsIMAPGroupRecord.h.

{ m_flags = flags; }

Definition at line 81 of file nsIMAPGroupRecord.h.

{ m_folderIsNamespace = isNamespace; }

Here is the caller graph for this function:

void nsIMAPGroupRecord::SetHierarchySeparator ( char  delimiter) [inline]

Definition at line 70 of file nsIMAPGroupRecord.h.

virtual int nsIMAPGroupRecord::SetIsCategoryContainer ( PRBool  ) [inline, virtual]

Definition at line 63 of file nsIMAPGroupRecord.h.

{ PR_ASSERT(0); return 0; }

Definition at line 76 of file nsIMAPGroupRecord.h.

{ m_filledInGroup = filledIn; }

Member Data Documentation

Definition at line 89 of file nsIMAPGroupRecord.h.

Definition at line 90 of file nsIMAPGroupRecord.h.

Definition at line 93 of file nsIMAPGroupRecord.h.

Definition at line 91 of file nsIMAPGroupRecord.h.

Definition at line 92 of file nsIMAPGroupRecord.h.


The documentation for this class was generated from the following files: