|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1998.
//
// File: Invoke.h
//
// Contents: IOfflineSynchronizeInvoke interface
//
// Classes: CSyncMgrSynchronize
//
// Notes:
//
// History: 05-Nov-97 rogerg Created.
//
//--------------------------------------------------------------------------
#ifndef _SYNCMGRINVOKE_
#define _SYNCMGRINVOKE_
#define NUM_TASK_WIZARD_PAGES 5
class CSyncMgrSynchronize : public ISyncMgrSynchronizeInvoke, public ISyncScheduleMgr, // public ISyncMgrRegister, // base class of ISyncMgrRegisterCSC
public IOldSyncMgrRegister, // can remove next ship since never went out except in beta
public ISyncMgrRegisterCSC { public: CSyncMgrSynchronize(); ~CSyncMgrSynchronize(); //IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release(); // IOfflineSynchronizeInvoke methods
STDMETHODIMP UpdateItems(DWORD dwInvokeFlags,REFCLSID rclsid,DWORD cbCookie,const BYTE *lpCookie); STDMETHODIMP UpdateAll(); // ISyncMgrRegister methods
STDMETHODIMP RegisterSyncMgrHandler(REFCLSID rclsidHandler, WCHAR const *pwszDescription, DWORD dwSyncMgrRegisterFlags); STDMETHODIMP UnregisterSyncMgrHandler(REFCLSID rclsidHandler,DWORD dwReserved); STDMETHODIMP GetHandlerRegistrationInfo(REFCLSID rclsidHandler,LPDWORD pdwSyncMgrRegisterFlags); // ISyncMgrRegisterCSC private methods
STDMETHODIMP GetUserRegisterFlags(LPDWORD pdwSyncMgrRegisterFlags); STDMETHODIMP SetUserRegisterFlags(DWORD dwSyncMgrRegisterMask,DWORD dwSyncMgrRegisterFlags); // old idl, remove when get a chance.
// IOldSyncMgrRegister method
STDMETHODIMP RegisterSyncMgrHandler(REFCLSID rclsidHandler, DWORD dwReserved); // ISyncScheduleMgr methods
STDMETHODIMP CreateSchedule( LPCWSTR pwszScheduleName, DWORD dwFlags, SYNCSCHEDULECOOKIE *pSyncSchedCookie, ISyncSchedule **ppSyncSchedule); STDMETHODIMP LaunchScheduleWizard( HWND hParent, DWORD dwFlags, SYNCSCHEDULECOOKIE *pSyncSchedCookie, ISyncSchedule ** ppSyncSchedule); STDMETHODIMP OpenSchedule( SYNCSCHEDULECOOKIE *pSyncSchedCookie, DWORD dwFlags, ISyncSchedule **ppSyncSchedule); STDMETHODIMP RemoveSchedule( SYNCSCHEDULECOOKIE *pSyncSchedCookie); STDMETHODIMP EnumSyncSchedules( IEnumSyncSchedules **ppEnumSyncSchedules); private: SCODE InitializeScheduler(); SCODE MakeScheduleName(LPTSTR ptstrName, UINT cchName, GUID *pCookie); BOOL GetFriendlyName(LPCTSTR ptszScheduleGUIDName, LPTSTR ptstrFriendlyName); BOOL GenerateUniqueName(LPTSTR ptszScheduleGUIDName, LPTSTR ptszFriendlyName, UINT cchFriendlyName); ULONG m_cRef; ITaskScheduler *m_pITaskScheduler; CWizPage *m_apWizPages[NUM_TASK_WIZARD_PAGES]; }; typedef CSyncMgrSynchronize *LPCSyncMgrSynchronize;
#endif // _SYNCMGRINVOKE_
|