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

IP电话/视频会议

开发平台:

Visual C++

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