VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfPluginRecord.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: vrfPluginRecord.h,v $ $Revision: 1.1 $ $State: Exp $
7 *******************************************************************************/
8 
11 
16 
17 #pragma once
18 
19 #include "vrfutil/vrfutilDefines.h"
20 
21 #include <boost/serialization/access.hpp>
22 #include <boost/serialization/nvp.hpp>
23 #include <boost/serialization/list.hpp>
24 #include <boost/serialization/map.hpp>
25 #include <boost/serialization/vector.hpp>
26 #include <boost/serialization/string.hpp>
27 
29 {
30 public:
32  typedef std::map<std::string, std::string> PluginData;
33 
35  typedef std::map<std::string, PluginData> TransportConfigurationMap;
36 
38  typedef std::map<std::string, TransportConfigurationMap> BuildConfigurationMap;
39 
41  typedef std::map<std::string, BuildConfigurationMap> PlatformMap;
42 
44  typedef std::map<std::string, PlatformMap> PluginMap;
45 
46 public:
47 
51 
53  virtual ~DtVrfPluginRecord();
54 
56  virtual bool load(const std::string& file);
57 
59  virtual bool save(const std::string& file);
60  virtual bool save();
61 
62  virtual const std::string& file() const;
63 
64  DtVrfPluginRecord& operator=(const DtVrfPluginRecord&);
65 
67  virtual std::string name() const;
68 
70  virtual bool rename(const std::string& newName);
71 
72  void setAutoSave(bool);
73  bool autoSave() const;
74 
75 public:
76  void setApplication(const std::string& application);
77  virtual const std::string& application() const;
78 
79  void setPlatform(const std::string& platform);
80  virtual const std::string& platform() const;
81 
82  void setTransport(const std::string& transport);
83  virtual const std::string& transport() const;
84 
85  void setConfiguration(const std::string&);
86  virtual const std::string& configuration() const;
87 
88  virtual std::string value(const std::string& key) const;
89  virtual std::string value(const std::string& application,
90  const std::string& platform, const std::string& configuration, const std::string& transport, const std::string& key) const;
91 
92  virtual std::string plugin() const;
93  virtual std::string plugin(const std::string& application,
94  const std::string& platform, const std::string& configuration, const std::string& transport) const;
95 
96  virtual bool loadPlugin() const;
97  virtual bool loadPlugin(const std::string& application,
98  const std::string& platform, const std::string& configuration, const std::string& transport) const;
99 
100  virtual void setPlugin(const std::string&);
101  virtual void setPlugin(const std::string& application,
102  const std::string& platform, const std::string& configuration, const std::string& transport, const std::string& plugin);
103 
105  virtual PluginData pluginData() const;
106  virtual PluginData pluginData(const std::string& application,
107  const std::string& platform, const std::string& configuration, const std::string& transport) const;
108 
109  virtual void setPluginData(const std::string& key, const std::string& value);
110  virtual void setPluginData(const std::string& application,
111  const std::string& platform, const std::string& configuration, const std::string& transport, const std::string& key,
112  const std::string& value);
113 
116  virtual bool removePlugin();
117  virtual bool removePlugin(const std::string& application,
118  const std::string& platform, const std::string& configuration, const std::string& transport);
119 
122  virtual bool addPlugin(const std::string& application,
123  const std::string& platform, const std::string& configuration, const std::string& transport);
124 
127  virtual bool removePluginData(const std::string& key);
128  virtual bool removePluginData(const std::string& application,
129  const std::string& platform, const std::string& configuration, const std::string& transport, const std::string& key);
130 
131  const PluginMap& pluginStructure() const;
132 
134  void setLoad(bool);
135  virtual bool load() const;
136 
137 protected:
138  friend class boost::serialization::access;
139 
143  template<class Archive>
144  void serialize(Archive & ar, const unsigned int version)
145  {
146  ar & BOOST_SERIALIZATION_NVP(myPluginData);
147  ar & BOOST_SERIALIZATION_NVP(myLoad);
148  }
149 
150 protected:
152 
153  std::string myPlatform;
154  std::string myConfiguration;
155  std::string myTransport;
156  std::string myApplication;
157  std::string myFile;
158 
159  bool myLoad;
161 };
162 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)