⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _mblogin_resp.cpp

📁 这是江苏企业通讯协议(联通版本)的一个Release
💻 CPP
字号:
// _MBLOGIN_RESP.cpp: implementation of the C_MBLOGIN_RESP class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "_MBLOGIN_RESP.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

EMSP2_0::C_MBLOGIN_RESP::C_MBLOGIN_RESP()
{

}

EMSP2_0::C_MBLOGIN_RESP::~C_MBLOGIN_RESP()
{

}

 char* EMSP2_0::C_MBLOGIN_RESP::getBytes()
{
Utility::Zerochars(result,59);
	  result[0]=mb.Result;
     result[1]=mb.ConnectType;
      result[2]=mb.LoginType;
	int cur=3;
	int size=mb.Reserved1.size();
	for(int i=0;i<size;i++)
	{   
		result[cur]=mb.Reserved1[i];
		cur++;
	}
	result[cur]=0;
	cur++;
	 char sUserNo[4];
	Utility::intTochars(mb.UserNO,sUserNo);
	size=sizeof(sUserNo);
	for (int i=0;i<size;i++)
	{
     result[cur]=sUserNo[i];
	 cur++;
	}

	size=mb.SessionID.size();
	for(int i=0;i<size;i++)
	{
		result[cur]=mb.SessionID[i];
	    cur++;
	}
	result[cur]=0;
	cur++;
	size=mb.SessionKey.size();
	for(int i=0;i<size;i++)
	{
		result[cur]=mb.SessionKey[i];
		cur++;
	}
	result[cur]=0;
	bsize=cur+1;
	
  return result;
	
}

void EMSP2_0::C_MBLOGIN_RESP::TranFromchars(char chars[], int len, MB_LOGIN_RESP &mbv)
{
int size=len;
		 if(size>59) 
		 {
			 size=59;
		 }
		// Utility::fillchar(result,0);
		 mbv.Result=chars[0];
		 mbv.ConnectType=chars[1];
		 mbv.LoginType=chars[2];
		 mbv.Reserved1="";
		int  cur=3;
		 for(cur=3;(chars[cur]>0)&&(cur<size);cur++)
		 {
			 mbv.Reserved1+=chars[cur];

		 }
		 cur++;//Zero char
		  char ar[4];//int chars
		 for(int i=0;i<4;i++)
		 {
			 ar[i]=chars[cur];
			 cur++;
		 }
		 mbv.UserNO=Utility::charsToInt(ar);
		 mbv.SessionID="";
		 for(int i=cur;(chars[i]!=0)&&(i<size);i++)
		 {
			 mbv.SessionID+=chars[i];
			 cur++;
		 }
		 cur++;//Skip end '/0';
         mbv.SessionKey="";
           for(int i=cur;(chars[i]!=0)&&(i<size);i++)
		 {
			 mbv.SessionKey+=chars[i];
			 cur++;
		 }

}

EMSP2_0::C_MBLOGIN_RESP::C_MBLOGIN_RESP(MB_LOGIN_RESP& mbv)
{
     mb.ConnectType=mbv.ConnectType;
	 mb.LoginType=mbv.LoginType;
    mb.Reserved1=mbv.Reserved1;
	 mb.Result=mbv.Result;
	 mb.SessionID=mbv.SessionID;
	mb.SessionKey=mbv.SessionKey;
	 mb.UserNO=mbv.UserNO;
}

/*EMSP2_0::C_MBLOGIN_RESP C_MBLOGIN_RESP::operator =(C_MBLOGIN_RESP &right)
{
 ConnectType=right.ConnectType;
	 LoginType=right.LoginType;
     Reserved1=right.Reserved1;
	 Result=right.Result;
	 SessionID=right.SessionID;
	 SessionKey=right.SessionKey;
	 UserNO=right.UserNO;
}

C_MBLOGIN_RESP EMSP2_0::C_MBLOGIN_RESP::operator =(char chars[])
{
int size=sizeof(chars);
	TranFromchars(chars,size,*this);
	return *this;
}

bool EMSP2_0::C_MBLOGIN_RESP::operator ==(C_MBLOGIN_RESP &right)
{
return	 ConnectType==right.ConnectType&&
	 LoginType==right.LoginType&&
     Reserved1==right.Reserved1&&
	 Result==right.Result&&
	 SessionID==right.SessionID&&
	 SessionKey==right.SessionKey&&UserNO==right.UserNO;
}

bool EMSP2_0::C_MBLOGIN_RESP::operator !=(C_MBLOGIN_RESP &right)
{
 return !(*this==right);
}*/

void EMSP2_0::C_MBLOGIN_RESP::TransFromchars(char *chars, int len)
{
 TranFromchars(chars,len,mb);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -