 
#ifndef msgdatabasecollection_DEFINED
#define msgdatabasecollection_DEFINED 1
 
#include <class.h>
/* 
 * This file was generated by the Andrew class system preprocessor.
 * Don't make changes to this file as it is created from msgdbcol.ch and will be
 * overwritten.  Make changes to msgdbcol.ch instead.
 */ 
 
/* 
 * The following information was copied, as-is, from msgdbcol.ch.
 */ 
 






/* 
 * End of information copied from msgdbcol.ch.
 */ 
 
/* 
 * Include the superclass information
 */ 
/* msgdatabasecollection has no super class */ 
 
 
/* 
 * Data structure for msgdatabasecollection 
 */ 
struct msgdatabasecollection { 
    struct {
	struct basicobject_methods *msgdatabasecollection_methods;
    } header;
    struct extendedlist *databases;

};

 
/* 
 * End of data structure for msgdatabasecollection.
 */ 
 


#ifndef msgdatabasecollection_PROGRAMMERVERSION
#define msgdatabasecollection_PROGRAMMERVERSION 1
#endif /* msgdatabasecollection_PROGRAMMERVERSION */

#ifdef msgdatabasecollection_VERSION
#undef msgdatabasecollection_VERSION
#endif /* msgdatabasecollection_VERSION */
#define msgdatabasecollection_VERSION ((((msgdatabasecollection_PROGRAMMERVERSION << 16) ^ (14 << 8) ^ sizeof(struct msgdatabasecollection)) & 0x7ffff) + 0x80000 + (65 << 20))

#define msgdatabasecollection_StaticLoadOnlyThisClass()  \
{ extern struct classinfo *msgdatabasecollection__GetClassInfo(); \
  (void) class_EnterInfo(NULL, msgdatabasecollection_classheader.name, msgdatabasecollection__GetClassInfo, NULL, msgdatabasecollection_classheader.namekey); } 
 
#define msgdatabasecollection_StaticLoad()  \
    { \
    msgdatabasecollection_StaticLoadOnlyThisClass();  \
    } 
 
#define msgdatabasecollection_StaticEntry  {msgdatabasecollection_StaticLoad()} 
 
static struct classheader msgdatabasecollection_classheader = {
    msgdatabasecollection_VERSION,
    "msgdatabasecollection",
    "msgdbcol",
    (struct basicobject_methods *) &class_RoutineStruct,
};


#endif /* msgdatabasecollection_DEFINED */

#if !defined(msgdatabasecollection_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_msgdatabasecollection) && !defined(class_StaticEntriesOnly)
#define msgdatabasecollection_ROUTINESDEFINED

#define msgdatabasecollection_GetPrimaryFolder(self) \
    ((* ((struct msgfolder * (*)())((self)->header.msgdatabasecollection_methods->routines[0]))) (self))
#define msgdatabasecollection_GetSecondaryFolderNames(self) \
    ((* ((struct extendedlist * (*)())((self)->header.msgdatabasecollection_methods->routines[1]))) (self))
#define msgdatabasecollection_Purge(self) \
    ((* ((void (*)())((self)->header.msgdatabasecollection_methods->routines[2]))) (self))
#define msgdatabasecollection_CreateFolder(self,name) \
    ((* ((struct msgfolder * (*)())((self)->header.msgdatabasecollection_methods->routines[3]))) (self,name))
#define msgdatabasecollection_IsThereNewMail(self) \
    ((* ((boolean (*)())((self)->header.msgdatabasecollection_methods->routines[4]))) (self))
#define msgdatabasecollection_CountOfNewMail(self) \
    ((* ((long (*)())((self)->header.msgdatabasecollection_methods->routines[5]))) (self))
#define msgdatabasecollection_ProcessNewMail(self,numGood,numBad,numLocked,firstError,errorBuf,bufferSize) \
    ((* ((boolean (*)())((self)->header.msgdatabasecollection_methods->routines[6]))) (self,numGood,numBad,numLocked,firstError,errorBuf,bufferSize))
#define msgdatabasecollection_GetFolder(self,name) \
    ((* ((struct msgfolder * (*)())((self)->header.msgdatabasecollection_methods->routines[7]))) (self,name))
#define msgdatabasecollection_GetListOfAllFolders(self,pattern) \
    ((* ((struct extendedlist * (*)())((self)->header.msgdatabasecollection_methods->routines[8]))) (self,pattern))
#define msgdatabasecollection_GetListOfFolders(self,testProc,rock,pattern) \
    ((* ((struct extendedlist * (*)())((self)->header.msgdatabasecollection_methods->routines[9]))) (self,testProc,rock,pattern))
#define msgdatabasecollection_GetListOfSubscribedFolders(self,pattern) \
    ((* ((struct extendedlist * (*)())((self)->header.msgdatabasecollection_methods->routines[10]))) (self,pattern))
#define msgdatabasecollection_GetListOfPersonalFolders(self,pattern) \
    ((* ((struct extendedlist * (*)())((self)->header.msgdatabasecollection_methods->routines[11]))) (self,pattern))
#define msgdatabasecollection_GetListOfMailFolders(self,pattern) \
    ((* ((struct extendedlist * (*)())((self)->header.msgdatabasecollection_methods->routines[12]))) (self,pattern))
#define msgdatabasecollection_UpdateState(self) \
    ((* ((boolean (*)())((self)->header.msgdatabasecollection_methods->routines[13]))) (self))

#define msgdatabasecollection_NewFromObject(self) \
    ((* ((struct msgdatabasecollection * (*)())((self)->header.msgdatabasecollection_methods->info->procs->routines[0]))) (&msgdatabasecollection_classheader, (self)->header.msgdatabasecollection_methods->info->versionnumber))
#define msgdatabasecollection_New() \
    (*((struct msgdatabasecollection * (*)()) (msgdatabasecollection_classheader.classprocedures->routines[0])))(&msgdatabasecollection_classheader,msgdatabasecollection_VERSION)
#define msgdatabasecollection_Initialize(self) \
    (*((void (*)()) (msgdatabasecollection_classheader.classprocedures->routines[2])))(&msgdatabasecollection_classheader,self, msgdatabasecollection_VERSION)

#define msgdatabasecollection_Destroy(self) \
    ((* ((void (*)()) ((self)->header.msgdatabasecollection_methods->info->procs->routines[1]))) (&msgdatabasecollection_classheader, self))
#define msgdatabasecollection_Finalize(self) \
    (*((void (*)()) (msgdatabasecollection_classheader.classprocedures->routines[3])))(&msgdatabasecollection_classheader,self)

#define msgdatabasecollection_InitializeObject(self) \
    (*((boolean (*)()) (msgdatabasecollection_classheader.classprocedures->routines[4])))(&msgdatabasecollection_classheader,self)
#define msgdatabasecollection_FinalizeObject(self) \
    (*((void (*)()) (msgdatabasecollection_classheader.classprocedures->routines[5])))(&msgdatabasecollection_classheader,self)
#define msgdatabasecollection_Create(path) \
    (*((struct msgdatabasecollection * (*)()) (msgdatabasecollection_classheader.classprocedures->routines[6])))(&msgdatabasecollection_classheader,path)


#endif /* !defined(msgdatabasecollection_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_msgdatabasecollection ) && !defined(class_StaticEntriesOnly)*/

