windows-nt/Source/XPSP1/NT/com/rpc/midl/codegen/sdesc.hxx

103 lines
2 KiB
C++
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copyright (c) 1989-1999 Microsoft Corporation
Module Name:
sdesc.hxx
Abstract:
Stub descriptor dictionary
Notes:
History:
----------------------------------------------------------------------------*/
#ifndef __SDESC_HXX__
#define __SDESC_HXX__
/****************************************************************************
* include files
***************************************************************************/
#include "nulldefs.h"
extern "C"
{
#include <stdio.h>
#include <string.h>
}
#include "cgcommon.hxx"
#include "dict.hxx"
/****************************************************************************
* local definitions
***************************************************************************/
/****************************************************************************
* local data
***************************************************************************/
/****************************************************************************
* externs
***************************************************************************/
extern int CompareSDesc( void *, void *);
extern void PrintSDesc( void * );
/****************************************************************************/
//
typedef struct _sdesc
{
PNAME pName;
PNAME AllocRtnName;
PNAME FreeRtnName;
PNAME RundownRtnName;
BOOL fEmitted;
void ResetEmitted()
{
fEmitted = FALSE;
}
void MarkAsEmitted()
{
fEmitted = TRUE;
}
BOOL IsEmitted()
{
return (fEmitted == TRUE);
}
} SDESC;
// This class manages stub descriptors.
class SDESCMGR : public Dictionary
{
private:
public:
SDESCMGR() : Dictionary()
{
}
~SDESCMGR()
{
// UNDONE
}
// Register an entry.
SDESC * Register( PNAME AllocRtnName,
PNAME FreeRtnName,
PNAME RundownName );
virtual
SSIZE_T Compare (pUserType pL, pUserType pR);
};
#endif // __SDESC_HXX__