⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailserver2client.h

📁 funambol windows mobile plugin source code, the source code is taken from the funambol site
💻 H
字号:
/*
 * Copyright (C) 2003-2007 Funambol, Inc
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY, TITLE, NONINFRINGEMENT or FITNESS FOR A PARTICULAR
 * PURPOSE.  See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 * 02111-1307  USA
 */

#ifndef INCL_MAIL_SERVER2CLIENT
#define INCL_MAIL_SERVER2CLIENT

#include "base/fscapi.h"
#include "base/util/ArrayList.h"
#include "base/util/ArrayElement.h"
#include "pim/mail/MailInfo.h"
#include "pim/mail/MailClientData.h"
#include "pim/utils.h"
#include "spds/constants.h"
#include "spds/SyncItem.h"
#include "spds/MailMessage.h"
#include "spds/constants.h"
#include "pim/mail/MailUtils.h"

#include <mapidefs.h>
#include <mapicode.h>
#include <mapitags.h>
#include <mapix.h>
#include <mapiutil.h>
#include <cemapi.h>

/*
#define MSGFLAG_READ            ((ULONG) 0x00000001)
#define MSGFLAG_UNMODIFIED      ((ULONG) 0x00000002)
#define MSGFLAG_SUBMIT          ((ULONG) 0x00000004)
#define MSGFLAG_UNSENT          ((ULONG) 0x00000008)
#define MSGFLAG_HASATTACH       ((ULONG) 0x00000010)
#define MSGFLAG_FROMME          ((ULONG) 0x00000020)
#define MSGFLAG_ASSOCIATED      ((ULONG) 0x00000040)
#define MSGFLAG_RESEND          ((ULONG) 0x00000080)
#define MSGFLAG_RN_PENDING      ((ULONG) 0x00000100)
#define MSGFLAG_NRN_PENDING     ((ULONG) 0x00000200)
*/

class MailServer2Client{

private:
    /**
     * folder to sync.
     * It keeps a copy of folder to sync from sync source
     */
    wchar_t* server_folderToSync;

    /*
     * Avoid object copy
     */
    MailServer2Client(MailServer2Client& o);
    MailServer2Client& operator=(MailServer2Client& o);
    void bt2ft(const BasicTime& b, FILETIME& f);

public:

    MailServer2Client();
    ~MailServer2Client() ;

    void setFolderToSync(const wchar_t* t);
    const wchar_t* getFolderToSync();

    /*
     * number of folder to sync
     */
    int folderNumber;

    HRESULT SetMessageProps(IMAPISession* pSession, LPMESSAGE pmsg, MailClientData* m, BOOL onlyFlags = false);
    HRESULT SetMessageRecipients (LPMESSAGE pmsg, MailClientData* m);
    //static void AddRecipients(LPWSTR pszSrc, ULONG ulType, ADRLIST* plst, LPWSTR& pszLocalRecips, LPSPropValue& pval);
    //ULONG CountRecipsInString(LPCWSTR psz);
    HRESULT AddAttachment(LPMESSAGE pmsg, MailClientData* m);
    HRESULT AddPartialAttachments(LPMESSAGE pmsg, MailClientData* m);
    /*
    * check by message-id of the mail if already exists in the folder.
    * The message-id is a custom property into email item
    */
    wchar_t* doesMessageExist (IN const char* msgid, LPMAPIFOLDER pfldrInbox, wchar_t folder);

    // to remove: no more used
    bool messageExistInOubox_deleteIt(IMsgStore* pStore, IN const char* msgid);

    wchar_t* addMessage(MailClientData* m);
    HRESULT  updateMessage(MailClientData* m);
    HRESULT  deleteMessage(MailClientData* m);

    HRESULT deletePreviousAttachment(IMessage* pmsg);

};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -