Leaked source code of windows server 2003
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

//---------------------------------------------------------------------------
// 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__