![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: connectionAndConfiguration.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef rtiConnectionAndConfiguration_H_ 00010 #define rtiConnectionAndConfiguration_H_ 00011 00014 00015 00016 #include <rtiMsConfig.h> 00017 #include <map> 00018 00019 #include "assistantConnectionInfo.h" 00020 #include "assistantConnectionConfigurationInfo.h" 00021 00022 00025 00026 class DT_DLL_ASSISTANT DtRtiConnectionAndConfiguration 00027 { 00028 public: 00029 00030 typedef std::map<DtRtiConnectionInfo, DtRtiConnectionConfigurationInfo> DtRtiConnAndConfigMap; 00031 00032 DtRtiConnectionAndConfiguration(); 00033 DtRtiConnectionAndConfiguration(const DtRtiConnectionAndConfiguration&); 00034 ~DtRtiConnectionAndConfiguration(); 00035 00036 virtual DtRtiConnectionAndConfiguration& operator=(const DtRtiConnectionAndConfiguration& orig ); 00037 virtual bool operator<(const DtRtiConnectionAndConfiguration& other) const; 00038 virtual bool operator==(const DtRtiConnectionAndConfiguration& other) const; 00039 virtual bool operator!=(const DtRtiConnectionAndConfiguration& other) const; 00040 00041 virtual unsigned int size() const { return myConns.size(); } 00042 00044 virtual bool addConfiguration( const DtRtiConfigurationInfoDataPair& config ); 00045 00047 virtual bool removeConfiguration( const DtRtiConnectionConfigurationInfo& config ); 00048 00050 virtual bool addConnection( const DtRtiConnectionInfoDataPair& conn ); 00051 00053 virtual bool removeConnection( const DtRtiConnectionInfo& conn ); 00054 00058 virtual bool updateConnection( DtRtiConnectionInfoDataPair& conn ); 00059 00063 virtual bool updateConnectionAssociatedDataOnly( DtRtiConnectionInfoDataPair& conn ); 00064 00066 virtual bool updateConfiguration(const DtRtiConfigurationInfoDataPair& config ); 00067 00071 virtual void setConnectionConfigMapping(const DtRtiConnectionInfo& conn, 00072 const DtRtiConnectionConfigurationInfo& config); 00073 00075 virtual void removeConnectionConfigMapping(const DtRtiConnectionInfo& conn); 00076 00078 virtual bool findConfigMapping(const DtRtiConnectionInfo& conn, 00079 DtRtiConfigurationInfoDataPair& config ) const; 00080 00084 virtual bool willConflict( const DtRtiConnectionInfo& compare, 00085 MAKRti::DtString& reason ) const; 00086 00089 virtual bool nameAndOwnerExists( const MAKRti::DtString& name, const MAKRti::DtString& owner ) const; 00090 00092 virtual int numberOfEntriesWithName( const MAKRti::DtString& name ) const; 00093 00096 virtual bool findConnectionWithMatchingNameAndOwner( DtRtiConnectionInfoDataPair& conn ); 00097 00099 virtual void clearAllInfo(); 00100 00103 virtual bool findConnection( DtRtiConnectionInfoDataPair& conn ) const; 00104 00107 virtual bool findConfiguration(DtRtiConfigurationInfoDataPair& config ) const; 00108 00111 virtual void clearAllSaved(); 00112 00115 virtual bool getChosenConnAndConfig( DtRtiConnectionInfoDataPair& conn, 00116 DtRtiConfigurationInfoDataPair& config ); 00117 00119 virtual const DtRtiConnectionInfoDataMap& connections() const { return myConns; } 00120 00122 virtual const DtRtiConfigurationInfoDataMap& configs() const { return myConfigs; } 00123 00125 virtual const DtRtiConnAndConfigMap& connToConfigMap() const { return myConnsAndConfigs; } 00126 00127 00128 protected: 00129 00131 void removeChosenDesignation(); 00132 00134 void setChosenConfigurationFromConnection(); 00135 00136 DtRtiConnAndConfigMap myConnsAndConfigs; 00137 DtRtiConnectionInfoDataMap myConns; 00138 DtRtiConfigurationInfoDataMap myConfigs; 00139 00140 typedef std::map<std::pair<MAKRti::DtString,MAKRti::DtString>, DtRtiConnectionInfoDataMap::iterator> DtNameAndOwnerMap; 00141 DtNameAndOwnerMap myConnNames; 00142 00143 DtRtiConnectionInfoDataMap::iterator myChosenConnection; 00144 DtRtiConfigurationInfoDataMap::iterator myChosenConfiguration; 00145 bool myConnectionIsChosen; 00146 bool myConfigurationIsChosen; 00147 }; 00148 00149 00150 00151 #endif 00152