You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.9 KiB
57 lines
1.9 KiB
//---------------------------------------------------------------------------
|
|
// Notifier.h : CVDNotifier header file
|
|
//
|
|
// Copyright (c) 1996 Microsoft Corporation, All Rights Reserved
|
|
// Developed by Sheridan Software Systems, Inc.
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef __CVDNOTIFIER__
|
|
#define __CVDNOTIFIER__
|
|
|
|
|
|
class CVDNotifier : public IUnknown
|
|
{
|
|
protected:
|
|
// Construction/Destruction
|
|
CVDNotifier();
|
|
virtual ~CVDNotifier();
|
|
|
|
protected:
|
|
// Data members
|
|
DWORD m_dwRefCount; // reference count
|
|
CVDNotifier * m_pParent; // pointer to CVDNotifier derived parent
|
|
CPtrArray m_Children; // pointer array of CVDNotifier derived children
|
|
|
|
public:
|
|
//=--------------------------------------------------------------------------=
|
|
// IUnknown methods implemented
|
|
//
|
|
STDMETHOD(QueryInterface)(REFIID riid, void **ppvObjOut);
|
|
STDMETHOD_(ULONG, AddRef)(void);
|
|
STDMETHOD_(ULONG, Release)(void);
|
|
|
|
HRESULT JoinFamily (CVDNotifier* pParent);
|
|
HRESULT LeaveFamily();
|
|
|
|
CVDNotifier* GetParent () const { return m_pParent; }
|
|
|
|
virtual HRESULT NotifyBefore(DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifyAfter (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifyFail (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
|
|
protected:
|
|
// helper functions
|
|
HRESULT AddChild (CVDNotifier* pChild);
|
|
HRESULT DeleteChild(CVDNotifier* pChild);
|
|
|
|
virtual HRESULT NotifyOKToDo (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifySyncBefore(DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifyAboutToDo (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifySyncAfter (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifyDidEvent (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
virtual HRESULT NotifyCancel (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
|
|
};
|
|
|
|
|
|
#endif //__CVDNOTIFIER__
|