// DateTime.h : Declaration of the CDateTime // Copyright (c) Microsoft Corporation. All rights reserved. #ifndef __CHIMESETTINGS_H_ #define __CHIMESETTINGS_H_ #include "resource.h" // main symbols // // Tasks that are supports by this COM Server // typedef enum { NONE_FOUND, SET_CHIME_SETTINGS, RAISE_SET_CHIME_SETTINGS_ALERT } SET_CHIME_SETTINGS_TASK_TYPE; ///////////////////////////////////////////////////////////////////////////// // CDateTime class ATL_NO_VTABLE CChimeSettings : public CComObjectRootEx, public CComCoClass, public IDispatchImpl { public: CChimeSettings() { m_dwOldChimeType = 0; m_dwOldChimeInterval = 0xFFFFFFFF; } DECLARE_REGISTRY_RESOURCEID(IDR_DATETIME) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CChimeSettings) COM_INTERFACE_ENTRY(IApplianceTask) COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP() // // IApplianceTask // STDMETHOD(OnTaskExecute)( /*[in]*/ IUnknown* pTaskContext ); STDMETHOD(OnTaskComplete)( /*[in]*/ IUnknown* pTaskContext, /*[in]*/ LONG lTaskResult ); private: SET_CHIME_SETTINGS_TASK_TYPE GetMethodName(IN ITaskContext *pTaskParameter); // // Functions to raise the Set Chime Settings alert // STDMETHODIMP RaiseSetChimeSettingsAlert(void); BOOL ShouldRaiseChimeSettingsAlert(void); BOOL DoNotRaiseChimeSettingsAlert(void); BOOL ClearSetChimeSettingsAlert(void); // // Function to notify the Chime Service tp pick up the new settings // BOOL NotifyChimeService(); // // Functions for setting Chime Settings // STDMETHODIMP SetChimeSettings(IN ITaskContext *pTaskContext); STDMETHODIMP RollbackSetChimeSettings(IN ITaskContext *pTaskContext); STDMETHODIMP GetSetChimeSettingsParameters(IN ITaskContext *pTaskContext, OUT DWORD *pdwChimeType, OUT DWORD *pdwChimeInterval); // // Data members for saving previous values // DWORD m_dwOldChimeType; DWORD m_dwOldChimeInterval; }; #endif //__SETCHIMESETTINGS_H_