58 lines
1.5 KiB
C++
58 lines
1.5 KiB
C++
/***************************************************************************\
|
|
*
|
|
* File: ClassLibrary.h
|
|
*
|
|
* Description:
|
|
* ClassLibrary.h defines the library of "message classes" that have been
|
|
* registered with DirectUser.
|
|
*
|
|
*
|
|
* History:
|
|
* 8/05/2000: JStall: Created
|
|
*
|
|
* Copyright (C) 2000 by Microsoft Corporation. All rights reserved.
|
|
*
|
|
\***************************************************************************/
|
|
|
|
|
|
#if !defined(MSG__ClassLibrary_h__INCLUDED)
|
|
#define MSG__ClassLibrary_h__INCLUDED
|
|
#pragma once
|
|
|
|
class MsgClass;
|
|
|
|
class ClassLibrary
|
|
{
|
|
// Construction
|
|
public:
|
|
ClassLibrary();
|
|
~ClassLibrary();
|
|
|
|
// Operations
|
|
public:
|
|
HRESULT RegisterGutsNL(DUser::MessageClassGuts * pmcInfo, MsgClass ** ppmc);
|
|
HRESULT RegisterStubNL(DUser::MessageClassStub * pmcInfo, MsgClass ** ppmc);
|
|
HRESULT RegisterSuperNL(DUser::MessageClassSuper * pmcInfo, MsgClass ** ppmc);
|
|
void MarkInternal(HCLASS hcl);
|
|
|
|
const MsgClass *
|
|
FindClass(ATOM atomName) const;
|
|
|
|
// Implementation
|
|
protected:
|
|
HRESULT BuildClass(LPCWSTR pszClassName, MsgClass ** ppmc);
|
|
|
|
// Data
|
|
protected:
|
|
CritLock m_lock;
|
|
GList<MsgClass>
|
|
m_lstClasses;
|
|
};
|
|
|
|
ClassLibrary *
|
|
GetClassLibrary();
|
|
|
|
#include "ClassLibrary.inl"
|
|
|
|
#endif // MSG__ClassLibrary_h__INCLUDED
|