|
|
//+-------------------------------------------------------------------------
//
// 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, GUID *pCookie);
BOOL GetFriendlyName(LPCTSTR ptszScheduleGUIDName, LPTSTR ptstrFriendlyName); BOOL GenerateUniqueName(LPTSTR ptszScheduleGUIDName, LPTSTR ptszFriendlyName);
#ifdef _WIZ97FONTS
VOID SetupFonts(HINSTANCE hInstance, HWND hwnd ); VOID DestroyFonts();
HFONT m_hBigBoldFont; HFONT m_hBoldFont; #endif _WIZ97FONTS
ULONG m_cRef; ITaskScheduler *m_pITaskScheduler; CWizPage *m_apWizPages[NUM_TASK_WIZARD_PAGES];
}; typedef CSyncMgrSynchronize *LPCSyncMgrSynchronize;
#endif // _SYNCMGRINVOKE_
|