Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

magnserverrequest.cpp

Go to the documentation of this file.
00001 // magnserverrequest.cpp: implementation of the ServerMagnitudeRequest class.
00002 //
00004 
00005 #include "magnserverrequest.h"
00006 
00008 // Construction/Destruction
00010 
00011 ServerMagnitudeRequest::ServerMagnitudeRequest()
00012 {
00013    TestValue = 0;
00014 }
00015 //
00016 // --------------------------------------------------------------------
00017 //
00018 long ServerMagnitudeRequest::BufferInitAlloc()
00019 {
00020    return (long)(  MutableServerRequest::BufferInitAlloc()
00021                  + 10 // TestValue.length()
00022                  + 1  // additional '\n'
00023                 )
00024                 ;
00025 }
00026 //
00027 // --------------------------------------------------------------------
00028 //
00029 void ServerMagnitudeRequest::FormatDerivativeData()
00030 {
00031    MutableServerRequest::FormatDerivativeData();
00032 
00033    char _b[20];
00034    sprintf( _b, "%d\n", TestValue );
00035 
00036    MessageBuffer.append( _b );
00037 }
00038 //
00039 // --------------------------------------------------------------------
00040 //
00041 void ServerMagnitudeRequest::ParseDerivativeData()
00042 {
00043    MutableServerRequest::ParseDerivativeData();
00044 
00045    long _index;
00046 
00047    std::string _val;
00048 
00049 
00050    if ( (_index = MessageBuffer.find("\n")) == MessageBuffer.npos )
00051    {
00052       throw worm_exception("unterminated message while parsing TestValue");
00053    }
00054 
00055    _val = MessageBuffer.substr( 0 , _index );
00056 
00057 
00058    // Remove this line from the buffer
00059 
00060    MessageBuffer.erase( 0 , _index + 1 );
00061 
00062 
00063    // Set the value
00064 
00065    TestValue = atoi( _val.c_str() );
00066 }
00067 //
00068 //-------------------------------------------------------------------
00069 //
00070 void ServerMagnitudeRequest::SetTestValue( int p_value )
00071 {
00072    TestValue = p_value;
00073    /*
00074    char _b[20];
00075 
00076    sprintf( _b, "%d", p_value );
00077 
00078    TestValue = _b;
00079    */
00080 }
00081 //
00082 //-------------------------------------------------------------------
00083 //
00084 int ServerMagnitudeRequest::GetTestValue()
00085 {
00086    return TestValue; // atoi( TestValue.c_str() );
00087 }
00088 //
00089 //-------------------------------------------------------------------
00090 //

Generated on Tue May 6 09:16:04 2003 for Earthworm Libs by doxygen1.3-rc3