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

📄 syncmltransport.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
 */

#pragma once

#define HrFromWSAError(x) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_INTERNET, (x))

#include <cemapi.h>
#include "AdviseSink.h"

void SetStatusTextOut(UINT nId);

class CTransportSyncHandler : public IMailSyncHandler
{

public:
    CTransportSyncHandler();
    ~CTransportSyncHandler();

    virtual HRESULT STDMETHODCALLTYPE   QueryInterface  (REFIID rif, LPVOID * ppobj);
    virtual ULONG   STDMETHODCALLTYPE   AddRef();
    virtual ULONG   STDMETHODCALLTYPE   Release();


    MAPIMETHOD (Initialize)
    (
        IMailSyncCallBack   *   pCallback,
        LPCWSTR                 pszProfileName,
        IMsgStore           *   pMsgStore
    );

    MAPIMETHOD (Synchronize)
    (
        MAILSYNCREQUEST     *   pRqst
    );

    MAPIMETHOD (ShutDown)
    (
        DWORD                   dwReserved
    );

    MAPIMETHOD (Install)
    (
        LPCWSTR                 pszProfileName,
        LPCWSTR                 pszIncomingServer,
        LPCWSTR                 pszOutgoingServer,
        GUID                *   pidNetwork
    );

    MAPIMETHOD (UnInstall)
    (
    );


    MAPIMETHOD (Connect)
    (
        DWORD                   dwReserved,
        SYNCCREDENTIALS     *   pCredentials
    );

    MAPIMETHOD (Disconnect)
    (
        DWORD                   dwReserved
    );

    MAPIMETHOD (DoProperties)
    (
        HWND                    hwndParent
    );

    MAPIMETHOD (GetCapability)
    (
        LPCWSTR                 pszName,
        LPSPropValue            pval
    );

    MAPIMETHOD (SetCapability)
    (
        LPCWSTR pszName,
        LPSPropValue pval
    );

    MAPIMETHOD (DecodeEvent)
    (
        TRANSPORTEVENT      *   pevt,
        LPWSTR              *   ppszEvent
    );

    MAPIMETHOD (GetFolderHierarchy)
    (
        FOLDERNODE          **  ppRootNode
    );


    MAPIMETHOD (SetFolderOptions)
    (
        LPMAPIFOLDER            pfldr,
        FOLDERNODE          *   pnode,
        FOLDEROPTIONS           opts,
        LPSPropValue            pval
    );


protected:
    IMsgStore           *   m_pMsgStore;
    IMailSyncCallBack   *   m_pCallback;
    ULONG                   m_cRef;
    BOOL                    m_fShutDown;
    SYNCPROGRESSITEM        m_SyncProgressItemPending;
    ULONG                   m_nDeleteAction;
    LPWSTR                  m_pszProfile;
    HANDLE                  m_hEventShutdown;
    CAdviseSink         *   m_advise;


    void    SetStatusText                   (UINT nId);
    void    SendProgressMessage             (DWORD dwMask);
    void    HandlePendingProgressItem       (void);
    wchar_t*    getValueFromReg                 (wchar_t* regval);
    HRESULT LogErrorEvent                   (HRESULT hr, ULONG cbData);
    HRESULT OnFolderOptions_Download        (LPMAPIFOLDER pfldr, LPSPropValue pval);
    HRESULT OnFolderOptions_QueryDownload   (LPMAPIFOLDER pfldr, LPSPropValue pval);
    HRESULT OnFolderOptions_Create          (LPMAPIFOLDER * pfldr);
    HRESULT OnFolderOptions_QueryCreate     (LPMAPIFOLDER pfldr, LPSPropValue pval);
    HRESULT OnFolderOptions_SetFetchOption  (FOLDEROPTIONS opts, LPMAPIFOLDER pfldr, LPSPropValue pval);
    HRESULT OnFolderOptions_GetFetchOption  (FOLDEROPTIONS opts, LPMAPIFOLDER pfldr, LPSPropValue pval);
};


⌨️ 快捷键说明

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