![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfVrlinkPublisherFactory.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef VRFVRLINKPUBLISHERFACTORY_H_ 00010 #define VRFVRLINKPUBLISHERFACTORY_H_ 00011 00012 #include <vrfExtObjects/vrfExtObjectsDefines.h> 00013 #include <vrfExtObjects/vrfObjIdGen.h> 00014 00015 #include <vl/globalObjDes.h> 00016 00017 class DtEntityPublisher; 00018 class DtAggregatePublisher; 00019 class DtControlObjectPublisher; 00020 class DtTacticalSmokePublisher; 00021 class DtGlobalEnvironmentObjectPublisher; 00022 class DtEmitterSystemPublisher; 00023 class DtExerciseConn; 00024 class DtEntityType; 00025 class DtIffPublisher; 00026 class DtRadioTransmitterPublisher; 00027 class DtDesignatorPublisher; 00028 00032 00034 class DT_DLL_vrfExtObjects DtVrfVrlinkEntityPublisherFactory 00035 { 00036 public: 00037 virtual DtEntityPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn, 00038 const DtGlobalObjectDesignator& id); 00039 }; 00040 00041 class DT_DLL_vrfExtObjects DtVrfVrlinkAggregatePublisherFactory 00042 { 00043 public: 00044 virtual DtAggregatePublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn, 00045 const DtGlobalObjectDesignator& id); 00046 }; 00047 00048 class DT_DLL_vrfExtObjects DtVrfVrlinkControlObjectPublisherFactory 00049 { 00050 public: 00051 virtual DtControlObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn, 00052 const DtGlobalObjectDesignator& id); 00053 }; 00054 00055 class DT_DLL_vrfExtObjects DtVrfVrlinkTacticalSmokePublisherFactory 00056 { 00057 public: 00058 virtual DtTacticalSmokePublisher* createPublisher(DtExerciseConn* conn); 00059 }; 00060 00061 class DT_DLL_vrfExtObjects DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory 00062 { 00063 public: 00064 virtual DtGlobalEnvironmentObjectPublisher* createPublisher(DtExerciseConn* conn); 00065 }; 00066 00067 class DT_DLL_vrfExtObjects DtEmitterSystemPublisherFactory 00068 { 00069 public: 00070 virtual DtEmitterSystemPublisher* createPublisher(DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId); 00071 }; 00072 00073 class DT_DLL_vrfExtObjects DtIffPublisherFactory 00074 { 00075 public: 00076 virtual DtIffPublisher* createPublisher(DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId); 00077 }; 00078 00079 class DT_DLL_vrfExtObjects DtRadioTransmitterPublisherFactory 00080 { 00081 public: 00082 virtual DtRadioTransmitterPublisher* createPublisher(DtExerciseConn* conn, 00083 const DtGlobalObjectDesignator& hostId, const char* name = 0); 00084 }; 00085 00086 class DT_DLL_vrfExtObjects DtDesignatorPublisherFactory 00087 { 00088 public: 00089 virtual DtDesignatorPublisher* createPublisher(DtExerciseConn* conn); 00090 }; 00091 00092 class DT_DLL_vrfExtObjects DtVrfVrlinkPublisherFactory 00093 { 00094 public: 00096 static DtEntityPublisher* createEntityPublisher(const DtEntityType& type, DtExerciseConn* conn, 00097 const DtGlobalObjectDesignator& id= DtVrfObjectIdGenerator::nullId()); 00098 static DtAggregatePublisher* createAggregatePublisher(const DtEntityType& type, DtExerciseConn* conn, 00099 const DtGlobalObjectDesignator& id= DtVrfObjectIdGenerator::nullId()); 00100 static DtControlObjectPublisher* createControlObjectPublisher(const DtEntityType& type, DtExerciseConn* conn, 00101 const DtGlobalObjectDesignator& id= DtVrfObjectIdGenerator::nullId()); 00102 static DtTacticalSmokePublisher* createTacticalSmokePublisher(DtExerciseConn* conn); 00103 static DtGlobalEnvironmentObjectPublisher* createGlobalEnvironmentObjectPublisher(DtExerciseConn* conn); 00104 static DtEmitterSystemPublisher* createEmitterSystemPublisher(DtExerciseConn* conn, 00105 const DtGlobalObjectDesignator& hostId); 00106 static DtIffPublisher* createIffPublisher(DtExerciseConn* conn, 00107 const DtGlobalObjectDesignator& hostId); 00108 static DtRadioTransmitterPublisher* createRadioTransmitterPublisher(DtExerciseConn* conn, 00109 const DtGlobalObjectDesignator& hostId, const char* name = 0); 00110 static DtDesignatorPublisher* createDesignatorPublisher(DtExerciseConn* conn); 00111 00112 static DtVrfVrlinkEntityPublisherFactory* setEntityPublisherFactory(DtVrfVrlinkEntityPublisherFactory*); 00113 static DtVrfVrlinkEntityPublisherFactory* entityPublisherFactory(); 00114 00115 static DtVrfVrlinkAggregatePublisherFactory* setAggregatePublisherFactory(DtVrfVrlinkAggregatePublisherFactory*); 00116 static DtVrfVrlinkAggregatePublisherFactory* aggregatePublisherFactory(); 00117 00118 static DtVrfVrlinkControlObjectPublisherFactory* setControlObjectPublisherFactory( 00119 DtVrfVrlinkControlObjectPublisherFactory*); 00120 static DtVrfVrlinkControlObjectPublisherFactory* controlObjectPublisherFactory(); 00121 00122 static DtVrfVrlinkTacticalSmokePublisherFactory* setTacticalSmokePublisherFactory( 00123 DtVrfVrlinkTacticalSmokePublisherFactory*); 00124 static DtVrfVrlinkTacticalSmokePublisherFactory* tacticalSmokePublisherFactory(); 00125 00126 static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* setGlobalEnvironmentObjectPublisherFactory( 00127 DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory*); 00128 static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* globalEnvironmentObjectPublisherFactory(); 00129 00130 static DtEmitterSystemPublisherFactory* setEmitterSystemPublisherFactory(DtEmitterSystemPublisherFactory*); 00131 static DtEmitterSystemPublisherFactory* emitterSystemPublisherFactory(); 00132 00133 static DtIffPublisherFactory* setIffPublisherFactory(DtIffPublisherFactory*); 00134 static DtIffPublisherFactory* iffPublisherFactory(); 00135 00136 static DtRadioTransmitterPublisherFactory* setRadioTransmitterPublisherFactory(DtRadioTransmitterPublisherFactory*); 00137 static DtRadioTransmitterPublisherFactory* radioTransmitterPublisherFactory(); 00138 00139 static DtDesignatorPublisherFactory* setDesignatorPublisherFactory(DtDesignatorPublisherFactory*); 00140 static DtDesignatorPublisherFactory* designatorPublisherFactory(); 00141 00142 protected: 00143 static DtVrfVrlinkEntityPublisherFactory* theEntityPublisherFactory; 00144 static DtVrfVrlinkAggregatePublisherFactory* theAggregatePublisherFactory; 00145 static DtVrfVrlinkControlObjectPublisherFactory* theControlObjectPublisherFactory; 00146 static DtVrfVrlinkTacticalSmokePublisherFactory* theTacticalSmokePublisherFactory; 00147 static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* theGlobalEnvironmentObjectPublisherFactory; 00148 static DtEmitterSystemPublisherFactory* theEmitterSystemPublisherFactory; 00149 static DtIffPublisherFactory* theIffPublisherFactory; 00150 static DtRadioTransmitterPublisherFactory* theRadioTransmitterPublisherFactory; 00151 static DtDesignatorPublisherFactory* theDesignatorPublisherFactory; 00152 }; 00153 00154 #endif