00001
00002
00003
00004
00005
00006
00007
00008 #ifndef FEDERATORCONFIG_H
00009 #define FEDERATORCONFIG_H
00010
00011 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00012 #pragma once
00013 #endif
00014
00015 #include "federator_export.h"
00016 #include "FederationId.h"
00017 #include "FederatorC.h"
00018
00019 #include <string>
00020
00021 namespace OpenDDS {
00022 namespace Federator {
00023
00024 typedef std::basic_string<ACE_TCHAR> tstring;
00025
00026 class OpenDDS_Federator_Export Config {
00027 public:
00028
00029 static const tstring FEDERATOR_CONFIG_OPTION;
00030
00031
00032 static const tstring FEDERATOR_ID_OPTION;
00033
00034
00035 static const tstring FEDERATE_WITH_OPTION;
00036
00037
00038 Config(int argc, ACE_TCHAR** argv);
00039
00040
00041 virtual ~Config();
00042
00043
00044 int& argc();
00045 int argc() const;
00046
00047
00048 ACE_TCHAR**& argv();
00049 ACE_TCHAR** argv() const;
00050
00051
00052 void addArg(ACE_TCHAR* arg);
00053
00054
00055 TAO_DDS_DCPSFederationId& federationId();
00056 const TAO_DDS_DCPSFederationId& federationId() const;
00057
00058
00059 void federationDomain(long domain);
00060 long federationDomain() const;
00061
00062
00063 void federationPort(short port);
00064 short federationPort() const;
00065
00066
00067 void federateIor(const tstring& ior);
00068 tstring federateIor() const;
00069
00070
00071 void configFile(const tstring& file);
00072 tstring configFile() const;
00073
00074 private:
00075
00076 void processFile();
00077
00078
00079 int argc_;
00080
00081
00082 ACE_TCHAR** argv_;
00083
00084
00085 tstring configFile_;
00086
00087
00088 tstring federateIor_;
00089
00090
00091 TAO_DDS_DCPSFederationId federationId_;
00092
00093
00094 long federationDomain_;
00095
00096
00097 short federationPort_;
00098 };
00099
00100 }
00101 }
00102
00103 #if defined (__ACE_INLINE__)
00104 # include "FederatorConfig.inl"
00105 #endif
00106
00107 #endif