83 lines
1.8 KiB
C
83 lines
1.8 KiB
C
|
/*
|
||
|
* appcap.h
|
||
|
*
|
||
|
* Copyright (c) 1993 by DataBeam Corporation, Lexington, KY
|
||
|
*
|
||
|
* Abstract:
|
||
|
* This is the interface file for the class ApplicationaCapabilityData.
|
||
|
*
|
||
|
* Caveats:
|
||
|
* None.
|
||
|
*
|
||
|
* Author:
|
||
|
* jbo
|
||
|
*/
|
||
|
#ifndef _APP_CAPABILITY_DATA_
|
||
|
#define _APP_CAPABILITY_DATA_
|
||
|
|
||
|
#include "capid.h"
|
||
|
#include "cntlist.h"
|
||
|
|
||
|
/*
|
||
|
** Below is the definition for all the capabilities related structures and
|
||
|
** containers. The ListOfCapabilitiesList definition is used to maintain
|
||
|
** all of the individual capabilities list at a single node (for multiple
|
||
|
** protocol entities).
|
||
|
*/
|
||
|
typedef struct APP_CAP_ITEM
|
||
|
{
|
||
|
APP_CAP_ITEM(GCCCapabilityType eCapType);
|
||
|
APP_CAP_ITEM(APP_CAP_ITEM *p, GCCError *pError);
|
||
|
~APP_CAP_ITEM(void);
|
||
|
|
||
|
// in non-collapsing case, pCapID and poszAppData are used.
|
||
|
// in appcap case, all but poszAppData are used.
|
||
|
// in invoklst case, pCapID, eCapType, and the union are used.
|
||
|
CCapIDContainer *pCapID;
|
||
|
GCCCapabilityType eCapType;
|
||
|
UINT cEntries;
|
||
|
LPOSTR poszAppData; // For Non-Collapsing only
|
||
|
union
|
||
|
{
|
||
|
UINT nUnsignedMinimum;
|
||
|
UINT nUnsignedMaximum;
|
||
|
};
|
||
|
}
|
||
|
APP_CAP_ITEM;
|
||
|
|
||
|
|
||
|
/*
|
||
|
** Holds the list of individual capabilities for a single Application Protocol
|
||
|
** Entity. Remember that a single APE can have many capabilities.
|
||
|
*/
|
||
|
class CAppCapItemList : public CList
|
||
|
{
|
||
|
DEFINE_CLIST(CAppCapItemList, APP_CAP_ITEM*)
|
||
|
void DeleteList(void);
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
// LONCHANC: CAppCap and CNonCollAppCap are very similar to each.
|
||
|
|
||
|
class CAppCap : public CRefCount
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
CAppCap(UINT cCaps, PGCCApplicationCapability *, PGCCError);
|
||
|
~CAppCap(void);
|
||
|
|
||
|
UINT GetGCCApplicationCapabilityList(USHORT *pcCaps, PGCCApplicationCapability **, LPBYTE memory);
|
||
|
|
||
|
UINT LockCapabilityData(void);
|
||
|
void UnLockCapabilityData(void);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
UINT m_cbDataSize;
|
||
|
CAppCapItemList m_AppCapItemList;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif
|