![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repIntSub.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtReportInteractionSubscriptionInteraction_H_ 00014 #define DtReportInteractionSubscriptionInteraction_H_ 00015 00016 #include "rtiMsConfig.h" 00017 #include "internalTypes.h" 00018 #include "mInteraction.h" 00019 #include <vlutil/vlList.h> 00020 00021 class DtMomInterCbMgr; 00022 class DtReportInteractionSubscriptionInteraction; 00023 typedef void (*DtReportInteractionSubscriptionInteractionCb) 00024 (const DtReportInteractionSubscriptionInteraction& inter, void* usr); 00025 00026 class DT_DLL_LRC DtReportInteractionSubscriptionInteraction : 00027 public DtReportInteraction 00028 { 00029 public: 00030 00032 DtReportInteractionSubscriptionInteraction(); 00033 00035 virtual ~DtReportInteractionSubscriptionInteraction(); 00036 00038 DtReportInteractionSubscriptionInteraction( 00039 const DtReportInteractionSubscriptionInteraction& orig); 00040 00042 DtReportInteractionSubscriptionInteraction& operator=( 00043 const DtReportInteractionSubscriptionInteraction& orig); 00044 00047 virtual const DtPhvps& phvps(); 00048 00051 virtual bool setFromPhvps(const DtPhvps& phvps); 00052 00054 virtual const DtMomHandleList& activeList() const; 00055 virtual void setActiveList(const DtMomHandleList& list); 00056 virtual const DtMomHandleList& passiveList() const; 00057 virtual void setPassiveList(const DtMomHandleList& list); 00058 00059 public: 00061 static DtReportInteraction* create(); 00062 00064 static void addCallback(DtMomInterCbMgr* callBackManager, 00065 DtReportInteractionSubscriptionInteractionCb cb, void* usr); 00066 static void removeCallback(DtMomInterCbMgr* callBackManager, 00067 DtReportInteractionSubscriptionInteractionCb cb, void* usr); 00068 00069 protected: 00070 00071 typedef struct 00072 { 00073 MAKRti::DtNetU32 numHandleBytes; 00074 MAKRti::DtNetU32 classHandle; 00075 MAKRti::DtNetU32 active; 00076 } DtMomNetIntSub; 00077 00080 virtual void encodeInteractionClassList( 00081 const DtMomInteraction& data, 00082 DtPhvps* parameters, 00083 DtParameterHandle parameterHandle); 00084 00087 virtual void decodeInteractionClassList( 00088 DtMomInteraction* data, 00089 const DtPhvps& parameters, 00090 int index); 00091 00092 public: 00093 static const char* theInteractionName; 00094 00095 protected: 00097 DtMomHandleList myActiveList; 00098 DtMomHandleList myPassiveList; 00099 00100 const char *INTERACTION_CLASS_LIST_PARAMETER_NAME; 00101 00102 }; 00103 00104 #endif 00105 #endif