DeploymentConfiguration.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __MERMAIDLOADER_DEPLOYMENTCONFIGURATION_HPP
00031 #define __MERMAIDLOADER_DEPLOYMENTCONFIGURATION_HPP
00032
00033 #include "ActiveObjectConfiguration.hpp"
00034 #include "ServiceDeploymentConfiguration.hpp"
00035
00036
00037 #include <XmlDocument.hpp>
00038
00039 #include <list>
00040 #include <map>
00041 #include <vector>
00042
00043 namespace mermaid
00044 {
00045 namespace mermaidloader
00046 {
00047
00048 using std::list;
00049 using std::map;
00050 using std::vector;
00051 using boost::shared_ptr;
00052 using mermaid::support::xml::XmlDocument;
00053
00054 typedef list<std::string> FileSearchPathList;
00055 typedef list<std::string> DataDescriptionFileList;
00056 typedef list<std::string> ServiceTypeDescriptionFileList;
00057 typedef list<std::string> EntityDescriptionFileList;
00058 typedef map<std::string, shared_ptr<ActiveObjectConfiguration> > ActiveObjectConfigurationNameMap;
00059 typedef map<std::string, vector< shared_ptr<ServiceDeploymentConfiguration> > > ActiveObjectConfigurationServiceMap;
00060 typedef map<std::string, shared_ptr<ServiceDeploymentConfiguration> > ServiceDeploymentConfigurationNameMap;
00061
00062
00063
00064
00065
00066
00067 class DeploymentConfiguration
00068 {
00069
00070 public:
00071 void loadConfiguration (shared_ptr<XmlDocument> config);
00072 FileSearchPathList getFileSearchPathList();
00073 DataDescriptionFileList getDataDescriptionFileList();
00074 ServiceTypeDescriptionFileList getServiceTypeDescriptionFileList();
00075 EntityDescriptionFileList getEntityDescriptionFileList();
00076 ActiveObjectConfigurationNameMap getActiveObjectConfigurationNameMap();
00077 ActiveObjectConfigurationServiceMap getActiveObjectConfigurationServiceMap();
00078 ServiceDeploymentConfigurationNameMap getServiceDeploymentConfigurationNameMap();
00079
00080 private:
00081 FileSearchPathList _fileSearchPathList;
00082 DataDescriptionFileList _dataDescriptionFileList;
00083 ServiceTypeDescriptionFileList _serviceTypeDescriptionFileList;
00084 EntityDescriptionFileList _entityDescriptionFileList;
00085 ActiveObjectConfigurationNameMap _activeObjectMap;
00086 ActiveObjectConfigurationServiceMap _activeObjectBelongedServices;
00087 ServiceDeploymentConfigurationNameMap _serviceMap;
00088
00089 };
00090 }
00091 }
00092
00093
00094 #endif // __MERMAIDLOADER_DEPLOYMENTCONFIGURATION_HPP