windows-nt/Source/XPSP1/NT/base/cluster/admin/cluadmin/notify.h
2020-09-26 16:20:57 +08:00

123 lines
3.1 KiB
C++

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996-1998 Microsoft Corporation
//
// Module Name:
// Notify.h
//
// Abstract:
// Definition of the CNotify class.
//
// Implementation File:
// Notify.cpp
//
// Author:
// David Potter (davidp) May 22, 1996
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _NOTIFY_H_
#define _NOTIFY_H_
/////////////////////////////////////////////////////////////////////////////
// Include Files
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CClusterNotifyKey;
class CClusterNotify;
class CClusterNotifyContext;
/////////////////////////////////////////////////////////////////////////////
// External Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CClusterDoc;
class CClusterItem;
/////////////////////////////////////////////////////////////////////////////
// ClusterNotifyKeyType
/////////////////////////////////////////////////////////////////////////////
enum ClusterNotifyKeyType
{
cnktUnknown,
cnktDoc,
cnktClusterItem
};
/////////////////////////////////////////////////////////////////////////////
// CNotifyKey
/////////////////////////////////////////////////////////////////////////////
class CClusterNotifyKey
{
public:
CClusterNotifyKey(IN CClusterDoc * pdoc);
CClusterNotifyKey(IN CClusterItem * pci, IN LPCTSTR pszName);
ClusterNotifyKeyType m_cnkt;
CString m_strName;
union
{
CClusterDoc * m_pdoc;
CClusterItem * m_pci;
};
}; //*** class CNotifyKey
typedef CList<CClusterNotifyKey *, CClusterNotifyKey *> CClusterNotifyKeyList;
/////////////////////////////////////////////////////////////////////////////
// CNotify
/////////////////////////////////////////////////////////////////////////////
class CClusterNotify
{
public:
union
{
DWORD_PTR m_dwNotifyKey;
CClusterNotifyKey * m_pcnk;
};
DWORD m_dwFilterType;
CString m_strName;
}; //*** class CClusterNotify
typedef CList<CClusterNotify *, CClusterNotify *> CClusterNotifyList;
/////////////////////////////////////////////////////////////////////////////
// CClusterNotifyContext
/////////////////////////////////////////////////////////////////////////////
class CClusterNotifyContext : public CObject
{
DECLARE_DYNAMIC(CClusterNotifyContext)
public:
HCHANGE m_hchangeNotifyPort;
HWND m_hwndFrame;
}; //*** class CClusterNotifyContext
/////////////////////////////////////////////////////////////////////////////
// Global Function Prototypes
/////////////////////////////////////////////////////////////////////////////
#ifdef _DEBUG
LPCTSTR PszNotificationName(IN DWORD dwNotification);
#endif // _DEBUG
void DeleteAllItemData(IN OUT CClusterNotifyList & rlp);
/////////////////////////////////////////////////////////////////////////////
#endif // _NOTIFY_H_