Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/nto/bakJuly/Message.cpp

Go to the documentation of this file.
00001 #ifndef __J2K__Message_CPP__
00002 #define __J2K__Message_CPP__
00003 
00004 #include <j2k/nto/Message.hpp>   
00005 
00006 Message::Message( int number0 = 0, 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 void Message::handleHeader()
00032 {
00033    switch( msg.hdr.code ) 
00034    {
00035       case _PULSE_CODE_DISCONNECT:
00036         /*
00037          * A client disconnected all its connections (called
00038          * name_close() for each name_open() of our name) or
00039          * terminated
00040          */
00041         ConnectDetach(msg.hdr.scoid);
00042       break;
00043 
00044       case _PULSE_CODE_UNBLOCK:
00045         /*
00046          * REPLY blocked client wants to unblock (was hit by
00047          * a signal or timed out).  It's up to you if you
00048          * reply now or later.
00049          */
00050       break;
00051 
00052       default:
00053         /*
00054          * A pulse sent by one of your processes or a
00055          * _PULSE_CODE_COIDDEATH or _PULSE_CODE_THREADDEATH 
00056          * from the kernel?
00057          */
00058        break;
00059    }
00060 }
00061 
00062 int Message::checkHeader( int rcvid )
00063 {
00064   if ( rcvid == 0 )  /* Pulse received */
00065   {
00066     handleHeader();
00067     return 1;
00068   }
00069 
00070   /* A QNX IO message received, reject */
00071   if (  isIO()  ) 
00072   {
00073     MsgError( rcvid, ENOSYS );
00074     return 1;
00075   }
00076 
00077   return 0;
00078 }
00079 
00080 #endif // End of Meesage.cpp

Generated on Sun Oct 14 18:46:35 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001