123 lines
3.1 KiB
C
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_
|