#ifndef __MAILSYNC_STORE__ #include #include #include #include #include "c-client-header.h" #include "types.h" #include "msgid.h" ////////////////////////////////////////////////////////////////////////// // class Store // // Structure that holds the pattern for _one_ set of mailboxes to sync // ////////////////////////////////////////////////////////////////////////// { public: string name, server, prefix; string ref, pat; Passwd passwd; int isremote; // I.e. allows OP_HALFOPEN int delim; MAILSTREAM* stream; // c-client mailstream through which the // store can be reached MailboxMap boxes; // boxes with their properties void clear(); Store(): boxes(), name(), server(), prefix(), ref(), pat(), passwd() { clear(); } void print(FILE* f); void set_passwd(string password) { passwd.set_passwd(password);} size_t acquire_mail_list( ); void get_delim(); string full_mailbox_name(const string& box); bool fetch_message_ids(MsgIdPositions& mids, MsgIdSet& remove_set); bool list_contents(); bool flag_message_for_removal( unsigned long msgno, const MsgId& msgid, char * place); MAILSTREAM* mailbox_open( const string& boxname, long c_client_options); MAILSTREAM* store_open( long c_client_options); bool mailbox_create( const string& boxname ); char* driver_name(); void display_driver(); void print_error(const char * cause, const string& mailbox); int mailbox_expunge(string mailbox_name); }; #define __MAILSYNC_STORE__ #endif