summaryrefslogtreecommitdiff
path: root/cesar/maximus/sci/inc/SciMsg.h
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/maximus/sci/inc/SciMsg.h')
-rw-r--r--cesar/maximus/sci/inc/SciMsg.h333
1 files changed, 333 insertions, 0 deletions
diff --git a/cesar/maximus/sci/inc/SciMsg.h b/cesar/maximus/sci/inc/SciMsg.h
new file mode 100644
index 0000000000..7ed2608be5
--- /dev/null
+++ b/cesar/maximus/sci/inc/SciMsg.h
@@ -0,0 +1,333 @@
+/************************************************************************
+ SciMsg.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/sci/inc/SciMsg.h
+**************************************************************************/
+
+#ifndef SCIMSG_H
+#define SCIMSG_H
+
+#include "sci_types.h"
+
+
+/**
+ * class SciMsg
+ */
+
+class SciMsg
+{
+
+public:
+
+ // public attributes
+ //
+
+private:
+
+ // private attributes
+ //
+
+ Sci_Msg_Status mSciMsgStatus; // NOT USED YET
+
+ // Values of SCI message header
+ //
+ Sci_Msg_Type mSciMsgType;
+ Sci_Msg_Station_Id mSciMsgStationId;
+ static Sci_Msg_Id mSciMsgId; // to send to station
+ Sci_Msg_Flag mSciMsgFlag;
+
+ // SCI message header, SCI message data length, and SCI message data
+ //
+ Sci_Msg_Header mSciMsgHeader;
+ unsigned long mSciMsgDataLength;
+ unsigned char * mpSciMsgData;
+
+protected:
+
+ // protected attributes
+ //
+
+ // Specialized SCI message header size, specialized SCI message data length, and specialized SCI message data
+ //
+ unsigned long mSpecializedSciMsgHeaderSize;
+ unsigned long mSpecializedSciMsgDataLength;
+ unsigned char * mpSpecializedSciMsgData;
+
+public:
+
+ // Constructors/Destructors
+ //
+
+ /**
+ * Empty Constructor
+ */
+ SciMsg ( );
+
+ /**
+ * Copy Constructors
+ */
+ SciMsg ( const SciMsg & sci_msg );
+ SciMsg ( const SciMsg * p_sci_msg );
+
+ /**
+ * Empty Destructor
+ */
+ virtual ~SciMsg ( );
+
+ // public methods
+ //
+
+ /**
+ * @return SciMsg *
+ */
+ virtual SciMsg * create ( ) const = 0;
+
+ /**
+ * @return bool
+ */
+ virtual bool dispatchMsg ( ) = 0;
+
+ /**
+ * @return bool
+ */
+ virtual bool identifySpecializedSciMsgHeader ( ) = 0;
+
+ /**
+ * @return bool
+ */
+ virtual bool checkCompatibility ( ) const;
+
+ /**
+ * @return bool
+ */
+ virtual bool checkValidity ( ) const;
+
+ /**
+ * @return bool
+ */
+ bool identifySpecializedSciMsgData ( );
+
+ void displaySciMsgHeader ( ) const;
+
+ void displaySciMsgData ( ) const;
+
+ virtual void displaySpecializedSciMsgHeader ( ) const = 0;
+
+ /**
+ * Display the specialized SCI message type.
+ */
+ virtual void displaySpecializedSciMsgType ( int log_level ) const = 0;
+
+ void displaySpecializedSciMsgData ( ) const;
+
+ /**
+ * @return SCI_MSG_MAGIC converted to uint32_t
+ */
+ uint32_t getDefinedSciMsgMagicId ( ) const;
+
+ /**
+ * @return SCI_MSG_VERSION
+ */
+ uint8_t getDefinedSciMsgVersion ( ) const;
+
+ // public attribute accessor methods
+ //
+
+ // private attribute accessor methods
+ //
+
+ /**
+ * @return mSciMsgStatus
+ */
+ Sci_Msg_Status getSciMsgStatus ( ) const;
+
+ /**
+ * @return bool
+ * @param status the new value of mSciMsgStatus
+ */
+ bool setSciMsgStatus ( const Sci_Msg_Status status );
+
+ /**
+ * @return the value of mSciMsgType
+ */
+ Sci_Msg_Type getSciMsgType ( ) const;
+
+ /**
+ * @return bool
+ * @param type the new value of mSciMsgType
+ */
+ bool setSciMsgType ( const Sci_Msg_Type type );
+
+ /**
+ * Get the value of mSciMsgStationId
+ * @return the value of mSciMsgStationId
+ */
+ Sci_Msg_Station_Id getSciMsgStationId ( ) const;
+
+ /**
+ * Set the value of mSciMsgStationId
+ * @return bool
+ * @param station_id the new value of mSciMsgStationId
+ */
+ bool setSciMsgStationId ( const Sci_Msg_Station_Id station_id );
+
+ /**
+ * Get the value of mSciMsgId
+ * @return the value of mSciMsgId
+ */
+ Sci_Msg_Id getSciMsgId ( ) const;
+
+ /**
+ * Increment the value of mSciMsgId
+ * @return bool
+ */
+ bool incrementSciMsgId ( );
+
+ /**
+ * @return the value of mSciMsgFlag
+ */
+ Sci_Msg_Flag getSciMsgFlag ( ) const;
+
+ /**
+ * @return bool
+ * @param flag the new value of mSciMsgFlag
+ */
+ bool setSciMsgFlag ( const Sci_Msg_Flag flag );
+
+ /**
+ * @return a pointer to mSciMsgHeader
+ */
+ Sci_Msg_Header * getSciMsgHeader ( ) const;
+
+ /**
+ * @return bool
+ * @param sci_msg_header the new value of mSciMsgHeader
+ */
+ bool setSciMsgHeader ( const Sci_Msg_Header & sci_msg_header );
+
+ /**
+ * Get the value of mSciMsgDataLength
+ * @return the value of mSciMsgDataLength
+ */
+ unsigned long getSciMsgDataLength ( ) const;
+
+ /**
+ * Set the value of mSciMsgDataLength
+ * @return bool
+ * @param data_length the new value of mSciMsgDataLength
+ */
+ bool setSciMsgDataLength ( const unsigned long data_length );
+
+ /**
+ * Get the value of mpSciMsgData
+ * @return the value of mpSciMsgData
+ */
+ unsigned char * getSciMsgData ( ) const;
+
+ /**
+ * Set the value of mpSciMsgData
+ * @return bool
+ * @param p_data the new value of mpSciMsgData
+ */
+ bool setSciMsgData ( const unsigned char * p_data );
+
+ // protected attribute accessor methods
+ //
+
+ /**
+ * Get the value of mSpecializedSciMsgHeaderSize
+ * @return the value of mSpecializedSciMsgHeaderSize
+ */
+ virtual unsigned long getSpecializedSciMsgHeaderSize ( ) const;
+
+ /**
+ * Set the value of mSpecializedSciMsgHeaderSize
+ * @return bool
+ * @param header_size the new value of mSpecializedSciMsgHeaderSize
+ */
+ virtual bool setSpecializedSciMsgHeaderSize ( const unsigned long header_size );
+
+ /**
+ * Get the value of mpSpecializedSciMsgHeader
+ * @return the value of mpSpecializedSciMsgHeader into a void pointer
+ */
+ virtual void * returnSpecializedSciMsgHeader ( ) const = 0;
+
+ /**
+ * Get the value of mSpecializedSciMsgDataLength
+ * @return the value of mSpecializedSciMsgDataLength
+ */
+ virtual unsigned long getSpecializedSciMsgDataLength ( ) const;
+
+ /**
+ * Set the value of mSpecializedSciMsgDataLength
+ * @return bool
+ * @param data_length the new value of mSpecializedSciMsgDataLength
+ */
+ virtual bool setSpecializedSciMsgDataLength ( const unsigned long data_length );
+
+ /**
+ * Get the value of mpSpecializedSciMsgData
+ * @return the value of mpSpecializedSciMsgData
+ */
+ virtual unsigned char * getSpecializedSciMsgData ( ) const;
+
+ /**
+ * Set the value of mpSpecializedSciMsgData
+ * @return bool
+ * @param p_data the new value of mpSpecializedSciMsgData
+ */
+ virtual bool setSpecializedSciMsgData ( const unsigned char * p_data );
+
+ void displaySciMsgType ( ) const;
+
+private:
+
+ // private methods
+ //
+
+ void initAttributes ( ) ;
+
+ void displaySciMsgFlag ( ) const;
+
+protected:
+
+ // protected methods
+ //
+
+ /**
+ * @return bool
+ * @param data_length_to_remove
+ * @param data_length
+ * @param pp_data
+ */
+ bool removeData ( const unsigned long data_length_to_remove, unsigned long & data_length, unsigned char ** pp_data );
+
+};
+
+
+#endif // SCIMSG_H