//******************************************************* // MessageFolder Object: Keeps a folder of CMessage objects // AUTHOR: Chris Wild // DATE: July 25, 1997 // Revised: January 17, 1999 //******************************************************* #ifndef MESSAGEFOLDER_H #define MESSAGEFOLDER_H #include "Message.h" #include "ListMsgs.h" #include typedef int msgID; const int NULL_ID = 0; class CMsgFolder { public: //************* constructors and destructors CMsgFolder(); // default // opens (or creates a folder called "folderName" in current directory CMsgFolder(const char* folderName); // Writes out open messages and folder information ~CMsgFolder(); // Puts a message in the folder bool PostMsg(const CMessage& msg); // PRE: message with "messageID" exists // gets message with ID "messageId" // returns true if successful else false bool GetMsg(msgID messageId, CMessage & thisMsg) const; // PRE: message with "messageID" exists // topic points to a string big enough to hold topic string // POST: if exists, returns true and topic of this message // else returns false bool GetMsgTopic(msgID messageId, char* topic) const; // PRE: message with "messageID" exists // POST: deletes this message (renumbering messages) // Deletes message with msgID "messageID" // removes from MsgList and deletes Message file // returns false if 1) no folder open // 2) message does not exists in list // 3) file cannot be deleted // returns true is successfull bool DeleteMsg(msgID messageID); // POST: returns the number of messages in this folder int NumMsgs() const; // POST: Closes this folder making it undefined // returns false if problem closing folder else true bool CloseMsgFolder(); // POST: Open folder with "folderName" // Will close previously open folder first // returns true is opened successfully else false bool OpenMsgFolder(const char* folderName); private: char* folderName; // name of folder directory HANDLE messages; // handle to open message folder CListMsgs msgList; // list of available messages int nextMsgNum; // unique number for next message bool verifyFolder(const char*); // opens(creates) message folder }; #endif