Files
vxWorks/h/comShow.h
2025-08-20 18:25:46 +08:00

121 lines
2.5 KiB
C++

/* comShow.h - VxWorks COM show routines public API */
/* Copyright (c) 1999 Wind River Systems, Inc. */
/*
modification history
--------------------
01d,04oct01,nel Correct comTrackShow def with and extern "C".
01c,25sep01,nel Add method to translate a guid to a string.
01b,06mar00,nel Added VxComTrack class
01a,24mar99,drm created
*/
/*
DESCRIPTION:
*/
#ifndef __INCcomShow_h
#define __INCcomShow_h
#include "vxidl.h"
#ifdef __cplusplus
extern "C" {
#endif
int vxcomRegShow();
int comTrackShow ();
#ifdef __cplusplus
}
#endif
class VxComTrack
{
public:
VxComTrack ();
~VxComTrack ();
void * addClassInstance
(
void * thisPtr,
char * guid,
char * name,
unsigned long refCount,
REFCLSID iid
);
void updateClassInstance
(
void * thisPtr,
unsigned long refCount
);
void addInterface
(
void * thisPtr,
char * guid,
char * name,
REFIID cls
);
int print ();
const char * findGUID (REFGUID guid);
static VxComTrack * theInstance ();
class INTERFACE
{
public:
INTERFACE * next;
INTERFACE * listNext;
INTERFACE * listPrev;
char * guid;
char * name;
unsigned long owner;
unsigned long magic1;
void * thisPtr;
IID iid; /* added here to not break T3 inspector */
};
class CLASS
{
public:
CLASS * next;
CLASS * prev;
void * thisPtr;
char * guid;
char * name;
unsigned long refCount;
unsigned long owner;
INTERFACE * interfaces;
unsigned long magic1;
CLSID cls; /* added here to not break T3 inspector */
};
private:
enum { MAGIC1 = 0x5aa5aa55 };
static VxComTrack * s_pTheList;
CLASS * findClass (void * thisPtr);
INTERFACE * findInterface
(
CLASS * classPtr,
char * guid
);
};
#endif