--- /dev/null
+#ifndef MSG_APPLICATION_HPP\r
+#define MSG_APPLICATION_HPP\r
+\r
+#ifndef __cplusplus\r
+ #error Application.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
+namespace SimGrid\r
+{\r
+ namespace Msg\r
+ {\r
+ class Application\r
+ {\r
+ public:\r
+ \r
+ // Default constructor.\r
+ Application();\r
+ \r
+ /*! \brief Copy constructor.\r
+ */\r
+ Application(const Application& rApplication);\r
+ \r
+ /* \brief A constructor which takes as parameter the xml file of the application.\r
+ *\r
+ * \exception [InvalidParameterException] if the parameter file is invalid\r
+ * (NULL or if the file does not exist).\r
+ */\r
+ Application(const char* file)\r
+ throw(InvalidParameterException);\r
+ \r
+ /*! \brief Destructor.\r
+ */\r
+ virtual ~Application();\r
+ \r
+ // Operations.\r
+ \r
+ /*! \brief Application::deploy() - deploy the appliction.\r
+ *\r
+ * \return If successfuly the application is deployed. Otherwise\r
+ * the method throws an exception listed below.\r
+ *\r
+ * \exception [LogicException] if the xml file which describes the application\r
+ * is not yet specified or if the application is already\r
+ * deployed.\r
+ * [MsgException] if a internal exception occurs.\r
+ *\r
+ * \remark Before use this method, you must specify the xml file of the application to\r
+ * deploy.\r
+ *\r
+ * \see Application::setFile()\r
+ */\r
+ \r
+ void deploy(void)\r
+ throw(LogicExeption, MsgException);\r
+ \r
+ /*! \brief Application::deploy() - deploy the appliction.\r
+ *\r
+ * \return If successfuly the application is deployed. Otherwise\r
+ * the method throws an exception listed below.\r
+ *\r
+ * \exception [InvalidParameterException] if the parameter file is invalid\r
+ * (NULL or not a xml deployment file name).\r
+ * [MsgException] if a internal exception occurs.\r
+ * [LogicException] if the application is already deployed.\r
+ *\r
+ * \\r
+ */\r
+ void deploy(const char* file)\r
+ throw(InvalidParameterException, LogicException, MsgException);\r
+ \r
+ /*! \brief Application::isDeployed() - tests if the application is deployed.\r
+ *\r
+ * \return This method returns true is the application is deployed.\r
+ * Otherwise the method returns false.\r
+ */\r
+ bool isDeployed(void) const;\r
+ \r
+ \r
+ // Getters/setters\r
+ \r
+ /*! \brief Application::setFile() - this setter sets the value of the file of the application.\r
+ *\r
+ * \return If successful, the value of the file of the application is setted.\r
+ * Otherwise the method throws on of the exceptions listed below.\r
+ *\r
+ * \exception [InvalidParameterException] if the parameter file is invalid\r
+ * (NULL or does no exist).\r
+ * [LogicException] if you try to set the value of the file of an\r
+ * application which is already deployed.\r
+ */\r
+ void setFile(const char* file)\r
+ throw (InvalidParameterException, LogicException);\r
+ \r
+ /*! \brief Application::getFile() - this getter returns the file of an application object.\r
+ */\r
+ const char* getFile(void) const;\r
+ \r
+ // Operators.\r
+ \r
+ /*! \brief Assignement operator.\r
+ *\r
+ * \exception [LogicException] if you try to assign an application already deployed.\r
+ */\r
+ const Application& operator = (const Application& rApplication)\r
+ throw(LogicException);\r
+ \r
+ private:\r
+ // Attributes.\r
+ \r
+ // flag : if true the application was deployed.\r
+ bool deployed;\r
+ // the xml file which describe the application.\r
+ const char* file;\r
+ \r
+ };\r
+ \r
+ } // namespace Msg\r
+} // namespace SimGrid\r
+\r
+#endif // !MSG_APPLICATION_HPP
\ No newline at end of file