summaryrefslogtreecommitdiff
path: root/cesar/maximus/functioncall/inc/FunctionSciMsg.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/maximus/functioncall/inc/FunctionSciMsg.h')
-rw-r--r--cesar/maximus/functioncall/inc/FunctionSciMsg.h332
1 files changed, 332 insertions, 0 deletions
diff --git a/cesar/maximus/functioncall/inc/FunctionSciMsg.h b/cesar/maximus/functioncall/inc/FunctionSciMsg.h
new file mode 100644
index 0000000000..85c900945b
--- /dev/null
+++ b/cesar/maximus/functioncall/inc/FunctionSciMsg.h
@@ -0,0 +1,332 @@
+/************************************************************************
+ FunctionSciMsg.h - Copyright buret
+
+Here you can write a license for your code, some comments or any other
+information you want to have in your generated code. To to this simply
+configure the "headings" directory in uml to point to a directory
+where you have your heading files.
+
+or you can just replace the contents of this file with your own.
+If you want to do this, this file is located at
+
+/usr/share/apps/umbrello/headings/heading.h
+
+-->Code Generators searches for heading files based on the file extension
+ i.e. it will look for a file name ending in ".h" to include in C++ header
+ files, and for a file name ending in ".java" to include in all generated
+ java code.
+ If you name the file "heading.<extension>", Code Generator will always
+ choose this file even if there are other files with the same extension in the
+ directory. If you name the file something else, it must be the only one with that
+ extension in the directory to guarantee that Code Generator will choose it.
+
+you can use variables in your heading files which are replaced at generation
+time. possible variables are : author, date, time, filename and filepath.
+just write %variable_name%
+
+This file was generated on %date% at %time%
+The original location of this file is /home/buret/eclipse/maximus/functioncall/inc/FunctionSciMsg.h
+**************************************************************************/
+
+#ifndef FUNCTIONSCIMSG_H
+#define FUNCTIONSCIMSG_H
+
+#include "SciMsg.h"
+
+#include "functioncall_types.h"
+#include "sci_types.h"
+
+#include <vector>
+#include <string>
+#include <ostream>
+
+class IFunctionCall;
+class FunctionCallParameter;
+
+typedef std::vector<FunctionCallParameter> ParametersList;
+
+
+/**
+ * class FunctionSciMsg
+ */
+
+class FunctionSciMsg : public SciMsg
+{
+
+public:
+
+ // public attributes
+ //
+
+private:
+
+ // private attributes
+ //
+
+ // Get from specialized SCI message header
+ //
+ Function_Call_Type mSpecializedSciMsgType;
+ static Function_Call_Msg_Id mSpecializedSciMsgId; // to send to station
+ Function_Call_Parameters_Number mSpecializedSciMsgParametersNumber;
+ Function_Call_Flags mSpecializedSciMsgFlags;
+
+ // Specialized SCI msg header
+ //
+ Function_Call_Header mSpecializedSciMsgHeader;
+
+ // Unique string identifier for function call
+ //
+ std::string mFunctionName;
+
+ // Function parameters
+ //
+ ParametersList mListOfParameters;
+
+ IFunctionCall * mpFunctionCallManager;
+
+protected:
+
+ // protected attributes
+ //
+
+public:
+
+ // Constructors/Destructors
+ //
+
+ /**
+ * Constructor
+ */
+ FunctionSciMsg ( IFunctionCall * p_function_call_manager );
+
+ /**
+ * Copy Constructors
+ */
+ FunctionSciMsg ( const FunctionSciMsg & function_sci_msg );
+
+ /**
+ * Empty Destructor
+ */
+ virtual ~FunctionSciMsg ( );
+
+ // public methods
+ //
+
+ /**
+ * @return SciMsg *
+ */
+ SciMsg * create ( ) const;
+
+ /**
+ * return bool
+ */
+ bool dispatchMsg ( );
+
+ /**
+ * @return bool
+ */
+ bool identifySpecializedSciMsgHeader ( );
+
+ /**
+ * @return bool
+ */
+ bool checkCompatibility ( ) const;
+
+ /**
+ * @return bool
+ * @param function_argument_to_add
+ */
+ bool addParameter ( const FunctionCallParameter & function_argument_to_add );
+
+ /**
+ * @return bool
+ * @param name
+ * Remove the parameter named name from the function SCI message.
+ */
+ bool removeParameter ( const std::string & name );
+
+ /**
+ * @return bool
+ * @param name_of_parameter_to_get
+ * @param p_data
+ */
+ bool bindParameter ( const std::string name_of_parameter_to_get, unsigned long & data_length, unsigned char * p_data ) const;
+
+ /**
+ * @return bool
+ */
+ bool identifyFunctionName ( );
+
+ /**
+ * @return bool
+ */
+ bool identifyParameters ( );
+
+ /**
+ * @return bool
+ */
+ bool fillSpecializedSciMsgToSend ( );
+
+ void displaySpecializedSciMsgHeader ( ) const;
+
+ /**
+ * Display the specialized SCI message type.
+ */
+ void displaySpecializedSciMsgType ( int log_level ) const;
+
+ // public attribute accessor methods
+ //
+
+ // private attribute accessor methods
+ //
+
+ /**
+ * Get the value of mSpecializedSciMsgType
+ * @return the value of mSpecializedSciMsgType
+ */
+ Function_Call_Type getSpecializedSciMsgType ( ) const;
+
+ /**
+ * Set the value of mSpecializedSciMsgType
+ * @return bool
+ * @param type the new value of mSpecializedSciMsgType
+ */
+ bool setSpecializedSciMsgType ( const Function_Call_Type type );
+
+ /**
+ * Get the value of mSpecializedSciMsgHeader.msg_id
+ * @return the value of mSpecializedSciMsgHeader.msg_id
+ */
+ Function_Call_Msg_Id getMsgId ( ) const;
+
+ /**
+ * Set the value of mSpecializedSciMsgHeader.msg_id
+ * @return bool
+ */
+ bool setMsgId ( const Function_Call_Msg_Id msg_id );
+
+ /**
+ * Get the value of mSpecializedSciMsgId
+ * @return the value of mSpecializedSciMsgId
+ */
+ Function_Call_Msg_Id getSpecializedSciMsgId ( ) const;
+
+ /**
+ * Increment the value of mSpecializedSciMsgId
+ * @return bool
+ */
+ bool incrementSpecializedSciMsgId ( );
+
+ /**
+ * Get the value of mSpecializedSciMsgParametersNumber
+ * @return the value of mSpecializedSciMsgParametersNumber
+ */
+ Function_Call_Parameters_Number getSpecializedSciMsgParametersNumber ( ) const;
+
+ /**
+ * Set the value of mSpecializedSciMsgParametersNumber
+ * @return bool
+ * @param number_of_parameters the new value of mSpecializedSciMsgParametersNumber
+ */
+ bool setSpecializedSciMsgParametersNumber ( const Function_Call_Parameters_Number number_of_parameters );
+
+ /**
+ * Get the value of mSpecializedSciMsgFlags
+ * @return the value of mSpecializedSciMsgFlags
+ */
+ Function_Call_Flags getSpecializedSciMsgFlags ( ) const;
+
+ /**
+ * Set the value of mSpecializedSciMsgFlags
+ * @return bool
+ * @param flags the new value of mSpecializedSciMsgFlags
+ */
+ bool setSpecializedSciMsgFlags ( const Function_Call_Flags flags );
+
+ /**
+ * Set the value of mSpecializedSciMsgHeader.reserved
+ * @return bool
+ */
+ bool setReserved ( const uint16_t reserved );
+
+ /**
+ * Get the value of mSpecializedSciMsgHeader
+ * @return the value of mSpecializedSciMsgHeader into a void pointer
+ */
+ void * returnSpecializedSciMsgHeader ( ) const;
+
+ /**
+ * @return mSpecializedSciMsgHeader
+ */
+ const Function_Call_Header & getSpecializedSciMsgHeader ( ) const;
+
+ /**
+ * @return bool
+ * @param specialized_sci_msg_header the new value of mSpecializedSciMsgHeader
+ */
+ bool setSpecializedSciMsgHeader ( const Function_Call_Header & specialized_sci_msg_header );
+
+ /**
+ * Get the value of mFunctionName
+ * @return the value of mFunctionName
+ */
+ std::string getFunctionName ( ) const;
+
+ /**
+ * Set the value of mFunctionName
+ * @return bool
+ * @param name the new value of mFunctionName
+ */
+ bool setFunctionName ( const std::string name );
+
+ /**
+ * Get the value of mListOfParameters
+ * @return the value of mListOfParameters
+ */
+ const ParametersList & getListOfParameters ( ) const;
+
+ /**
+ * Set the value of mListOfParameters
+ * @return bool
+ * @param list_of_parameters the new value of mListOfParameters
+ */
+ bool setListOfParameters ( const ParametersList & list_of_parameters );
+
+ /**
+ * Get the value of mpFunctionCallManager
+ * @return mpFunctionCallManager
+ */
+ IFunctionCall * getFunctionCallManager () const;
+
+ /**
+ * Set the value of mpFunctionCallManager
+ * @return bool
+ * @param p_function_call_manager the new value of mpFunctionCallManager
+ */
+ bool setFunctionCallManager ( IFunctionCall * p_function_call_manager );
+
+ // protected attribute accessor methods
+ //
+
+private:
+
+ // private methods
+ //
+
+ void initAttributes ( );
+
+ void displayFunctionName ( ) const;
+
+ void displayParameter ( unsigned int parameter_iterator ) const;
+
+ void displayListOfParameters ( ) const;
+
+protected:
+
+ // protected methods
+ //
+
+};
+
+
+#endif // FUNCTIONSCIMSG_H