![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: ctrlObjPub.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef CTRLOBJPUB_H 00010 #define CTRLOBJPUB_H 00011 #include <vl/envProcPub.h> 00012 #include <vrfExtObjects/vrfExtObjectsDefines.h> 00013 #include <vrfExtObjects/vrfObjIdGen.h> 00014 00015 #ifdef DtDIS 00016 typedef DtEnvironmentProcessEncoder DtCtrlPublisherEncoder; 00017 typedef DtEnvironmentProcessDecoder DtCtrlPublisherDecoder; 00018 #elif DtHLA 00019 typedef DtHlaStateEncoder DtCtrlPublisherEncoder; 00020 typedef DtHlaStateDecoder DtCtrlPublisherDecoder; 00021 #endif 00022 00023 class DtControlObjectRepository; 00024 class DtObjectType; 00025 00030 class DT_DLL_vrfExtObjects DtControlObjectPublisher : public DtEnvironmentProcessPublisher 00031 { 00032 public: 00039 DtControlObjectPublisher( 00040 DtExerciseConn* conn, 00041 const DtObjectType& type, 00042 const DtGlobalObjectDesignator& id = DtVrfObjectIdGenerator::nullId() 00043 ); 00044 00045 #if DtHLA 00046 // Create with region set 00047 DtControlObjectPublisher( 00048 DtExerciseConn* conn, 00049 const DtObjectType& type, 00050 const DtDDMRegionSet* regionSetToUse, 00051 const DtGlobalObjectDesignator& id = DtVrfObjectIdGenerator::nullId() 00052 ); 00053 #endif 00054 00056 virtual ~DtControlObjectPublisher(); 00057 00058 static DtGlobalObjectDesignator nextId(DtExerciseConn*); 00059 00060 public: 00067 virtual void tick(); 00068 00070 virtual DtControlObjectRepository* cosr(); 00071 00072 #if !DtTENA 00073 00074 00075 00076 virtual DtCtrlPublisherDecoder* decoder(); 00077 00080 virtual DtCtrlPublisherEncoder* encoder(); 00081 #endif 00082 00083 private: 00085 DtControlObjectPublisher(const DtControlObjectPublisher&); 00086 DtControlObjectPublisher& operator=(const DtControlObjectPublisher&); 00087 }; 00088 00089 #endif