Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Some new files of the cxx version of the MSG API
[simgrid.git] / src / cxx / Environment.hpp
diff --git a/src/cxx/Environment.hpp b/src/cxx/Environment.hpp
new file mode 100644 (file)
index 0000000..9eae1e3
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef MSG_ENVIRONMENT_HPP\r
+#define MSG_ENVIRONMENT_HPP\r
+\r
+#ifndef __cplusplus\r
+       #error Environment.hpp requires C++ compilation (use a .cxx suffix)\r
+#endif\r
+\r
+#include <InvalidParameterException.hpp>\r
+#include <LogicException.hpp>\r
+#include <MsgException.hpp>\r
+\r
+\r
+namespace SimGrid\r
+{\r
+       namespace Msg\r
+       {\r
+               class Environment\r
+               {\r
+                       public:\r
+                               \r
+                               Environment();\r
+                               \r
+                               Environment(const Environment& rEnvironment);\r
+                               \r
+                               Environment(const char* file)\r
+                               throw(InvalidArgumentException);\r
+                               \r
+                               virtual ~Environment();\r
+                               \r
+                               // Operations.\r
+                               \r
+                               void load(void)\r
+                               throw(LogicException);\r
+                               \r
+                               void load(const char* file)\r
+                               throw(InvalidArgumentException, LogicException);\r
+                               \r
+                               bool isLoaded(void) const;\r
+                               \r
+                               // Getters/setters\r
+                               void setFile(const char* file)\r
+                               throw(InvalidArgumentException, LogicException);\r
+                               \r
+                               const char* getFile(void) const;\r
+                               \r
+                               // Operators.\r
+                               \r
+                               const Environment& operator = (const Environment& rEnvironment)\r
+                               throw(LogicException);\r
+                               \r
+                       private:\r
+                               \r
+                               // Attributes.\r
+                               \r
+                               // the xml file which describe the environment of the simulation.\r
+                               const char* file;\r
+                               \r
+                               // flag : is true the environment of the simulation is loaded.\r
+                               bool loaded.\r
+               };\r
+               \r
+       } // namespace Msg\r
+} // namespace SimGrid\r
+\r
+\r
+#endif // !MSG_ENVIRONMENT_HPP
\ No newline at end of file