summaryrefslogtreecommitdiff
path: root/cesar/maximus/ethernet/inc/EthernetProcessor.h
diff options
context:
space:
mode:
authorsave2008-04-07 14:17:42 +0000
committersave2008-04-07 14:17:42 +0000
commit3d58a62727346b7ac1a6cb36fed1a06ed72228dd (patch)
treed7788c3cf9f76426aef0286d0202e2097f0fa0eb /cesar/maximus/ethernet/inc/EthernetProcessor.h
parent095dca4b0a8d4924093bab424f71f588fdd84613 (diff)
Moved the complete svn base into the cesar directory.
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1769 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/maximus/ethernet/inc/EthernetProcessor.h')
-rw-r--r--cesar/maximus/ethernet/inc/EthernetProcessor.h169
1 files changed, 169 insertions, 0 deletions
diff --git a/cesar/maximus/ethernet/inc/EthernetProcessor.h b/cesar/maximus/ethernet/inc/EthernetProcessor.h
new file mode 100644
index 0000000000..9d389aa247
--- /dev/null
+++ b/cesar/maximus/ethernet/inc/EthernetProcessor.h
@@ -0,0 +1,169 @@
+/************************************************************************
+ EthernetProcessor.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/ethernet/inc/EthernetProcessor.h
+**************************************************************************/
+
+#ifndef ETHERNETPROCESSOR_H
+#define ETHERNETPROCESSOR_H
+
+#include "IEthernet.h"
+
+#include "ethernet_types.h"
+
+class ISci;
+
+
+/**
+ * class EthernetProcessor
+ */
+
+class EthernetProcessor : public IEthernet
+{
+
+public:
+
+ // public attributes
+ //
+
+private:
+
+ // private attributes
+ //
+ ISci * mpSci;
+ EtherCb mInterfaceCb;
+
+protected:
+
+ // protected attributes
+ //
+
+public:
+
+ // Constructors/Destructors
+ //
+
+ /**
+ * Constructor
+ */
+ EthernetProcessor ( ISci * p_sci );
+
+ /**
+ * Empty Destructor
+ */
+ virtual ~EthernetProcessor ( );
+
+ // public methods
+ //
+
+ /**
+ * Initializes Ethernet with an interface callback function for Ether SCI message reception.
+ * @param interface_cb
+ * @return bool
+ */
+ bool init ( EtherCb interface_cb );
+
+ /**
+ * Creates an Ether SCI message.
+ * @return EtherSciMsg *
+ */
+ EtherSciMsg * createEther ( );
+
+ /**
+ * Sends an Ether SCI message.
+ * This message has to be configured before transmission.
+ * @param ether_sci_msg
+ * @return bool
+ */
+ bool sendEther ( EtherSciMsg & ether_sci_msg );
+
+ /**
+ * Called when an Ether SCI message is received.
+ * @param ether_sci_msg
+ * @return bool
+ */
+ bool receiveEther ( EtherSciMsg & ether_sci_msg );
+
+ /**
+ * Creates a TAP.
+ * @param dev name of the TAP file
+ * @return the created TAP file descriptor
+ */
+ File_Descriptor allocTap ( char * dev ) const;
+
+ // public attribute accessor methods
+ //
+
+ // private attribute accessor methods
+ //
+
+ // protected attribute accessor methods
+ //
+
+private:
+
+ // private methods
+ //
+
+ /**
+ * Initializes the Ethernet processor class attributes.
+ */
+ void initAttributes ( );
+
+ /**
+ * Registers the Ether SCI message creation function to the SCI server.
+ */
+ void registerEtherSciMsg ( );
+
+ /**
+ * Fills the Ether SCI message to send.
+ * @return bool
+ * @param ether_sci_msg
+ */
+ bool fillEther ( EtherSciMsg & ether_sci_msg ) const;
+
+ /**
+ * Gets a pointer to SCI.
+ * @return mpSci
+ */
+ ISci * getSci ( ) const;
+
+ /**
+ * Gets the interface callback function for Ether SCI message reception.
+ * @return mInterfaceCb
+ */
+ EtherCb getInterfaceCb ( ) const;
+
+protected:
+
+ // protected methods
+ //
+
+};
+
+
+#endif // ETHERNETPROCESSOR_H