![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: aggregateOrganizationController.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00014 00015 00016 #ifndef aggregateOrganizationController_H_ 00017 #define aggregateOrganizationController_H_ 00018 00019 #include "vrfmodel/orgCtlr.h" 00020 #include "vrfobjcore/simRadio.h" 00021 #include "vrfutil/entIdIntAssocLst.h" 00022 #include "vrfobjcore/cmdChanRadio.h" 00023 00024 class DtSimMessage; 00025 00026 00032 #include "vrfmodel/vrfmodelDefines.h" 00033 class DT_DLL_vrfmodel DtAggregateOrganizationController : public DtOrganizationController 00034 { 00035 00036 private: 00037 00039 DtAggregateOrganizationController(); 00041 DtAggregateOrganizationController( 00042 const DtAggregateOrganizationController& orig); 00044 DtAggregateOrganizationController& operator=( 00045 const DtAggregateOrganizationController& orig); 00046 00047 public: 00048 00051 DtAggregateOrganizationController(const DtString& name, 00052 DtVrfObject* owner, 00053 DtSimManager* simManager, 00054 DtComponentDescriptor* desc = 0, 00055 DtReaderWriterRegistry* parentRegistry = 0); 00056 00058 virtual ~DtAggregateOrganizationController(); 00059 00062 virtual DtString type() const; 00063 00068 virtual void tick(); 00069 00072 virtual void setRadio(DtSimBaseRadio * radio); 00073 00077 virtual void onSetReorganize(DtSimMessage * msg); 00078 00079 public: 00080 00081 virtual void registerWithOrgManager(); 00082 virtual void unregisterWithOrgManager(); 00083 00084 static void subordinatesChangedCallback(DtEntityIdentifier entId, 00085 void *usr); 00086 00088 static void reorganizeCallback(DtSimMessage * msg, 00089 void * usrData); 00090 00094 static DtSimComponent * creator(const DtString& name, 00095 DtVrfObject* owner, 00096 DtSimManager* simManager, 00097 DtComponentDescriptor* desc = 0, 00098 DtReaderWriterRegistry* parentRegistry = 0); 00099 00100 protected: 00101 00102 virtual void processSubordinatesChangedCallback(DtEntityIdentifier entId); 00103 00106 //virtual bool checkSubordinates(); 00107 00109 virtual void initiateAllSubordinates(); 00110 00114 virtual void initiateNewSubordinate(DtVrfObject* subordinate, int designator); 00115 00118 virtual void setCommandNetRadioChannel(); 00119 00121 virtual int nextAvaliableDesignator(); 00122 00126 virtual void reorganize(); 00127 00130 virtual void sendSetDesignator(int designator, const DtString& objectName); 00131 00134 virtual bool reorganizeNeeded(); 00135 00136 protected: 00137 00140 bool myRegisteredWithOrgManager; 00141 DtCommandChannelRadio* myCommandRadio; 00142 }; 00143 00144 #endif