00001 #ifndef __J2K__Message_CPP__
00002 #define __J2K__Message_CPP__
00003
00004 #include <j2k/nto/Message.hpp>
00005
00006 Message::Message( int number0 = -1, int request0 = 0, int status0 = 0, int index0 = 0, void* data0 = NULL )
00007 {
00008 memset( &msg, 0, sizeof( fred_msg_data_t ) );
00009 msg.number = number0;
00010 msg.request = request0;
00011 msg.index = index0;
00012 msg.status = status0;
00013 msg.data = data0;
00014 }
00015
00016 Message::Message( const Message& src )
00017 {
00018 memcpy( &msg, &src.msg, sizeof( fred_msg_data_t ) );
00019 }
00020
00021 const Message& Message::operator=( const Message& src )
00022 {
00023 memcpy( &msg, &src.msg, sizeof( fred_msg_data_t ) );
00024 return *this;
00025 }
00026
00027 Message::~Message()
00028 {
00029 }
00030
00031
00032 void Message::handleHeader()
00033 {
00034 switch( msg.hdr.code )
00035 {
00036 case _PULSE_CODE_DISCONNECT:
00037
00038
00039
00040
00041
00042 ConnectDetach(msg.hdr.scoid);
00043 break;
00044
00045 case _PULSE_CODE_UNBLOCK:
00046
00047
00048
00049
00050
00051 break;
00052
00053 default:
00054
00055
00056
00057
00058
00059 break;
00060 }
00061 }
00062
00063
00064 int Message::checkHeader( int rcvid )
00065 {
00066 if ( rcvid == 0 )
00067 {
00068 handleHeader();
00069 return 1;
00070 }
00071
00072
00073 if ( isIO() )
00074 {
00075 MsgError( rcvid, ENOSYS );
00076 return 1;
00077 }
00078
00079 return 0;
00080 }
00081
00082 #endif // End of Meesage.cpp