PJoinDataNodeREQ.cpp
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:1k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. // PJoinDataNodeREQ.cpp: implementation of the PJoinDataNodeREQ class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "PJoinDataNodeREQ.h"
  5. //////////////////////////////////////////////////////////////////////
  6. // Construction/Destruction
  7. //////////////////////////////////////////////////////////////////////
  8. PJoinDataNodeREQ::PJoinDataNodeREQ()
  9. {
  10. this->Tag = PJoinDataNodeREQTAG;
  11. this->user_id = 0;
  12. this->user_name = "";
  13. this->conference_name = "";
  14. }
  15. PJoinDataNodeREQ::~PJoinDataNodeREQ()
  16. {
  17. }
  18. bool PJoinDataNodeREQ::assembleData( int user_id , const char * username , const char * c_name )
  19. {
  20. this->buffer.Resize( 3 * INT_SIZE + strlen( username ) + CHAR_SIZE + strlen( c_name ) + CHAR_SIZE );
  21. char * now = this->buffer.GetBuffer( );
  22. *( int * )now = this->buffer.GetSize( ); now += INT_SIZE;
  23. *( int * )now = this->Tag; now += INT_SIZE;
  24. *( int * )now = user_id; now += INT_SIZE;
  25. strcpy( now , username ); now += strlen( username ) + CHAR_SIZE;
  26. strcpy( now , c_name );
  27. return true;
  28. }
  29. bool PJoinDataNodeREQ::parseData( CBuffer & buffer )
  30. {
  31. if( ! buffer.GetSize( ) ) return false;
  32. char * now = buffer.GetBuffer( ) + 2 * INT_SIZE;
  33. this->user_id = *( int * )now ; now += INT_SIZE;
  34. this->user_name = now; now += this->user_name.length( ) + CHAR_SIZE;
  35. this->conference_name = now;
  36. return true;
  37. }