CTCPClient* m_Client = new CTCPClient();
MTSOutputDebugString("Huawei-zte Switch SendCommand");
CTL1Response * reponse = new CTL1Response(m_Manager, "HU");
reponse->m_Tl1ParamsMap=this->m_Tl1Map;
strcpy(reponse->m_technologyid,"AXE");
strcpy(h.ip,msan.ip);
h.port = msan.port;
reponse->THip=h.ip;
reponse->THport=h.port;
m_Client->Bind();
errorno = m_Client->Connect(h.ip,h.port);
if(errorno != 1)
{
MTSOutputDebugString("HUAWEI-zte MSAN Connection Failed");
reponse->CreateResponse(ResponseString,NO_AVAILABLE_TESTHEAD);
return ResponseString;
}
else
{
MTSOutputDebugString("HUAWEI-zte MSAN Connection sucess \n");
}
char * bbuf = new char [1000];
pots = "config\r\n";
m_Client->Write(username.c_str());
m_Client->Write("\r\n");
errorno = m_Client->Read(bbuf,300,12,":",1,&mread);
m_Client->Write((char*)pwd.c_str());
m_Client->Write("\r\n");
errorno = m_Client->Read(bbuf,800,6,"#",1,&mread);
MTSOutputDebugString((char*)bbuf);
m_Client->Write((char*)pots.c_str());
m_Client->Read(bbuf,200,5,":",1,&mread);
MTSOutputDebugString((char*)bbuf);
if(errorno<1)
{
m_Client->Disconnect();
delete m_Client;
return "HUAWEI-zte MSAN send pots failed ";
}
m_Client->Write("ag\r\n");
errorno = m_Client->Read(bbuf,800,5,"#",1,&mread);
int * shelf;shelf = new int;
int * rac; rac = new int ;
int* slot;slot = new int ;
*shelf = 3;
* rac = 1;
* slot = 2;
int circit = terminalid;;
terminalid /= 32;
if(terminalid > 0)
{
terminalid *= 32;
circit -=terminalid;
}
m_Manager->m_DB.zte_get(terminalid,(int &)*rac,(int &)*shelf,(int &)*slot);
sleep(5);
char * num = new char[4];
pots = "get-sunitinfo rack "+string(itoa(*rac,num,10))+" shelf "+string(itoa(*shelf,num,10))+" slot "+string(itoa(*slot,num,10))+"";
m_Client->Write(pots.c_str());
m_Client->Write("\r\n");
pots = "start item 29 times 1 obliged 0 unit "+ parsing(bbuf,-2)+" sunit "+parsing(bbuf,-3)+" index "+string(itoa(circit,num,10))+" \r\n" ;
delete []num;
delete shelf;delete slot;delete rac;
m_Client->Write("exit\r\n");
errorno = m_Client->Read(bbuf,800,3,"#",1,&mread);
m_Client->Write("112\r\n");
errorno = m_Client->Read(bbuf,100,3,"#",1,&mread);
m_Client->Write((char*)pots.c_str(),true);
errorno = m_Client->Read(bbuf,600,6,"RESULT",1,&mread);
sleep(7);
errorno = m_Client->Read(bbuf,1000,18,"#",sizeof(bbuf),&mread);
if(errorno<1)
{
delete []bbuf;
m_Client->Disconnect();
delete m_Client;
reponse->CreateResponse(ResponseString,NO_AVAILABLE_TESTHEAD);
}
if(strstr(bbuf,"User busy")!=NULL)
{
delete []bbuf;
m_Client->Disconnect();
delete m_Client;
reponse->CreateResponse(ResponseString,LINE_IS_BUSY);
return ResponseString;
}
pots = string(bbuf);
m_Client->Write("exit\r\n");
errorno = m_Client->Read(bbuf,100,5,"#",1,&mread);
m_Client->Write("logout\r\n");
m_Client->Disconnect();
delete []bbuf;
MTSOutputDebugString("\n test\n");
m_Manager->dbSection.Lock();
delete m_Client ;
m_Manager->dbSection.Unlock();
MTSOutputDebugString("\n test\n");
if(atoi(GetResultValue(pots,"Total failure count :").c_str())> 0 )
{
MTSOutputDebugString("\nFail\n");
delete []bbuf;
m_Client->Disconnect();
reponse->CreateResponse(ResponseString,NO_AVAILABLE_TESTHEAD);
delete m_Client;
delete reponse->m_GData;
delete reponse->m_db;
delete reponse->m_cs;
delete reponse;
return ResponseString;
}
reponse->m_GData->dcvoldata.b_ae = true;
reponse->m_GData->dcvoldata.sae = GetResultValue(pots,"A-GND DC Vol:");