#ifndef __MAILSYNC_CHANNEL__ #include #include #include "types.h" // Passwd #include "store.h" enum direction_t { a_to_b, b_to_a }; ////////////////////////////////////////////////////////////////////////// // class Channel // // Structure that holds two Stores (sets of mailboxes) that should be synched // ////////////////////////////////////////////////////////////////////////// { public: string name; Store store_a; Store store_b; string msinfo; Passwd passwd; unsigned long sizelimit; Channel(): name(), msinfo(), passwd(), sizelimit(0) {}; void print(FILE* f); void set_passwd(string password) { passwd.set_passwd(password);} void set_sizelimit(const string& sizelim) { sizelimit=strtoul(sizelim.c_str(),NULL,10); } bool read_lasttime_seen( MsgIdsPerMailbox& mids_per_box, MailboxMap& deleted_mailboxes); bool open_for_copying( string mailbox_name, enum direction_t direction); bool copy_message( unsigned long msgno, const MsgId& msgid, string mailbox_name, enum direction_t direction); bool write_thistime_seen( const MailboxMap& deleted_mailboxes, MsgIdsPerMailbox& thistime); }; #define __MAILSYNC_CHANNEL__ #endif