📄 socket_activity_list_handler.cpp
字号:
// SOCKET_ACTIVITY_LIST_Handler.cpp: implementation of the SOCKET_ACTIVITY_LIST_Handler class.
//
//////////////////////////////////////////////////////////////////////
#include "SOCKET_ACTIVITY_LIST_Handler.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
SOCKET_ACTIVITY_LIST_Handler* SOCKET_ACTIVITY_LIST_Handler::pinstance = NULL;// 初始化指针
SOCKET_ACTIVITY_LIST_Handler::SOCKET_ACTIVITY_LIST_Handler()
{
m_No_ActivityNode_STR.port = 3002;
m_No_ActivityNode_STR.deviceID = 99;
m_No_ActivityNode_STR.ip = 2;
// m_No_ActivityNode_STR.password[0] = 'abc';
strcpy(m_No_ActivityNode_STR.password,"abc");
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
SOCKET_ACTIVITY_LIST_Handler::~SOCKET_ACTIVITY_LIST_Handler()
{
}
/*
factory pattern, make sure there is only one object of this class
*/
SOCKET_ACTIVITY_LIST_Handler* SOCKET_ACTIVITY_LIST_Handler::get_instance ()
{
if (pinstance == NULL) // 是第一次调用吗?
{
pinstance = new SOCKET_ACTIVITY_LIST_Handler; // 创建唯一实例
}
return pinstance; // 唯一实例的地址
}
/*
call data from database,and put the data in m_no_activityNode_vector
*/
bool SOCKET_ACTIVITY_LIST_Handler::f_introduce_no_activity_node_List()
{
struct
{
int EquipId[50];
char EquipType[50];
long EquipIP[50];
}equip;
ConnDB();
count = SelectEquipTable(equip.EquipId,equip.EquipType,equip.EquipIP);
cout<<"cout="<<count<<endl;
if(count != 0)
{
for(int i = 0;i < count;i++)
{
if(equip.EquipType[i] == '0')
{
m_No_ActivityNode_STR.port = 3002;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '1')
{
m_No_ActivityNode_STR.port = 3012;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '2')
{
m_No_ActivityNode_STR.port = 3022;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '3')
{
m_No_ActivityNode_STR.port = 3032;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '4')
{
m_No_ActivityNode_STR.port = 3041;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '5')
{
m_No_ActivityNode_STR.port = 3101;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '6')
{
m_No_ActivityNode_STR.port = 3201;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '7')
{
m_No_ActivityNode_STR.port = 3301;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '8')
{
m_No_ActivityNode_STR.port = 4001;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == '9')
{
m_No_ActivityNode_STR.port = 4000;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
if(equip.EquipType[i] == 'A')
{
m_No_ActivityNode_STR.port = 4011;
m_No_ActivityNode_STR.deviceID = equip.EquipId[i];
m_No_ActivityNode_STR.ip = equip.EquipIP[i];
m_No_ActivityNode_STR.password[0] ='0';
m_no_activityNode_vector.push_back(m_No_ActivityNode_STR);
}
printf("deviceID: %d\n",m_No_ActivityNode_STR.deviceID);
printf("ip: %d\n",m_No_ActivityNode_STR.ip);
printf("port: %d\n",m_No_ActivityNode_STR.port);
printf("password: %c\n",m_No_ActivityNode_STR.password[0]);
printf("\n");
}
return 0;
}
else
printf("Connect failed!");
return true;
}
/*
acorrding to ip, get the correspond activity node
*/
bool SOCKET_ACTIVITY_LIST_Handler::f_add_activity_node_by_ip(unsigned int ip_temp)
{
A_FIND_STR a_find;
a_find.type=1;
a_find.ip=ip_temp;
vector<No_ActivityNode_STR>::iterator no_activity_iter;
if((no_activity_iter=find(m_no_activityNode_vector.begin(),m_no_activityNode_vector.end(),a_find))!=m_no_activityNode_vector.end())
{
ActivityNode_STR m_ActivityNode_STR;
m_ActivityNode_STR.deviceID = no_activity_iter->deviceID;
m_ActivityNode_STR.ip = no_activity_iter->ip;
// m_ActivityNode_STR.password=no_activity_iter->password;
strcpy(m_No_ActivityNode_STR.password,no_activity_iter->password);
m_ActivityNode_STR.port = no_activity_iter->port;
m_activityNode_vector.push_back(m_ActivityNode_STR);
m_no_activityNode_vector.erase(no_activity_iter);
}
return true;
}
/*
acorrding to device ID, get the correspond activity node
*/
bool SOCKET_ACTIVITY_LIST_Handler::f_add_activity_node_by_deviceID(unsigned int deviceID)
{
A_FIND_STR a_find;
a_find.type=0;
a_find.deviceID=deviceID;
vector<No_ActivityNode_STR>::iterator no_activity_iter;
if((no_activity_iter=find(m_no_activityNode_vector.begin(),m_no_activityNode_vector.end(),a_find))!=m_no_activityNode_vector.end())
{
ActivityNode_STR m_ActivityNode_STR;
m_ActivityNode_STR.deviceID = no_activity_iter->deviceID;
m_ActivityNode_STR.ip = no_activity_iter->ip;
// m_ActivityNode_STR.password=no_activity_iter->password;
strcpy(m_No_ActivityNode_STR.password,no_activity_iter->password);
m_ActivityNode_STR.port=no_activity_iter->port;
m_activityNode_vector.push_back(m_ActivityNode_STR);
m_no_activityNode_vector.erase(no_activity_iter);
}
return true;
}
/*
acorrding to ip, remove the correspond activity node,then put the node into
m_no_activityNode_vector
*/
bool SOCKET_ACTIVITY_LIST_Handler::f_remove_activity_node_by_ip(unsigned int ip_temp)
{
A_FIND_STR a_find;
a_find.type=1;
a_find.ip=ip_temp;
vector<ActivityNode_STR>::iterator activity_iter;
if((activity_iter=find(m_activityNode_vector.begin(),m_activityNode_vector.end(),a_find))!=m_activityNode_vector.end())
{
No_ActivityNode_STR m_no_ActivityNode_STR;
m_no_ActivityNode_STR.deviceID = activity_iter->deviceID;
m_no_ActivityNode_STR.ip = activity_iter->ip;
// m_no_ActivityNode_STR.password=activity_iter->password;
strcpy(m_No_ActivityNode_STR.password,activity_iter->password);
m_no_ActivityNode_STR.port=activity_iter->port;
m_no_activityNode_vector.push_back(m_no_ActivityNode_STR);
m_activityNode_vector.erase(activity_iter);
}
return true;
}
/*
acorrding to device ID, remove the correspond activity node,then put the node into
m_no_activityNode_vector
*/
bool SOCKET_ACTIVITY_LIST_Handler::f_remove_activity_node_by_deviceID(unsigned int deviceID)
{
A_FIND_STR a_find;
a_find.type=0;
a_find.deviceID=deviceID;
vector<ActivityNode_STR>::iterator activity_iter;
if((activity_iter=find(m_activityNode_vector.begin(),m_activityNode_vector.end(),a_find))!=m_activityNode_vector.end())
{
No_ActivityNode_STR m_no_ActivityNode_STR;
m_no_ActivityNode_STR.deviceID = activity_iter->deviceID;
m_no_ActivityNode_STR.ip = activity_iter->ip;
// m_no_ActivityNode_STR.password=activity_iter->password;
strcpy(m_No_ActivityNode_STR.password,activity_iter->password);
m_no_ActivityNode_STR.port=activity_iter->port;
m_no_activityNode_vector.push_back(m_no_ActivityNode_STR);
m_activityNode_vector.erase(activity_iter);
}
return true;
}
/*
acorrding to device ID, get the correspond ip and port
firstly check from m_activityNode_vector, if not in, check from m_no_activityNode_vector
*/
Addr_Str SOCKET_ACTIVITY_LIST_Handler::f_Find_ip_and_port_by_deviceID(unsigned int deviceID)
{
Addr_Str addr_str;
A_FIND_STR a_find;
a_find.type=0;
a_find.deviceID=deviceID;
vector<ActivityNode_STR>::iterator activity_iter;
vector<No_ActivityNode_STR>::iterator no_activity_iter;
if((activity_iter=find(m_activityNode_vector.begin(),m_activityNode_vector.end(),a_find))!=m_activityNode_vector.end())
{
addr_str.ip=activity_iter->ip;
addr_str.port=activity_iter->port;
}
if((no_activity_iter=find(m_no_activityNode_vector.begin(),m_no_activityNode_vector.end(),a_find))!=m_no_activityNode_vector.end())
{
addr_str.ip=no_activity_iter->ip;
addr_str.port=no_activity_iter->port;
}
return addr_str;
}
/*
acorrding to device ip, get the correspond device ID
firstly check from m_activityNode_vector, if not in, check from m_no_activityNode_vector
*/
unsigned int SOCKET_ACTIVITY_LIST_Handler::f_Find_deviceID_by_ip(unsigned int ip_temp)
{
unsigned int deviceId_temp=100; //100没找到
A_FIND_STR a_find;
a_find.type=1;
a_find.ip=ip_temp;
vector<ActivityNode_STR>::iterator activity_iter;
vector<No_ActivityNode_STR>::iterator no_activity_iter;
if((activity_iter=find(m_activityNode_vector.begin(),m_activityNode_vector.end(),a_find))!=m_activityNode_vector.end())
{
deviceId_temp=activity_iter->deviceID;
}
if((no_activity_iter=find(m_no_activityNode_vector.begin(),m_no_activityNode_vector.end(),a_find))!=m_no_activityNode_vector.end())
{
deviceId_temp=no_activity_iter->deviceID;
}
return deviceId_temp;
}
/*
acorrding to device ID, get the correspond password
firstly check from m_activityNode_vector, if not in, check from m_no_activityNode_vector
*/
char* SOCKET_ACTIVITY_LIST_Handler::f_Find_password_by_deviceID(unsigned int deviceID)
{
// unsigned int password_temp=100;
A_FIND_STR a_find;
a_find.type=0;
a_find.deviceID=deviceID;
vector<ActivityNode_STR>::iterator activity_iter;
vector<No_ActivityNode_STR>::iterator no_activity_iter;
if((activity_iter=find(m_activityNode_vector.begin(),m_activityNode_vector.end(),a_find))!=m_activityNode_vector.end())
{
// password_temp=activity_iter->password;
return activity_iter->password;
}
if((no_activity_iter=find(m_no_activityNode_vector.begin(),m_no_activityNode_vector.end(),a_find))!=m_no_activityNode_vector.end())
{
// password_temp=no_activity_iter->password;
return no_activity_iter->password;
}
return 0;
}
/*
acorrding to device ip, get the correspond password
firstly check from m_activityNode_vector, if not in, check from m_no_activityNode_vector
*/
char* SOCKET_ACTIVITY_LIST_Handler::f_Find_password_by_ip(unsigned int ip_temp)
{
// unsigned int password_temp=100; //100没找到
A_FIND_STR a_find;
a_find.type=1;
a_find.deviceID=ip_temp;
vector<ActivityNode_STR>::iterator activity_iter;
vector<No_ActivityNode_STR>::iterator no_activity_iter;
if((activity_iter=find(m_activityNode_vector.begin(),m_activityNode_vector.end(),a_find))!=m_activityNode_vector.end())
{
// password_temp=activity_iter->password;
return activity_iter->password;
}
if((no_activity_iter=find(m_no_activityNode_vector.begin(),m_no_activityNode_vector.end(),a_find))!=m_no_activityNode_vector.end())
{
// password_temp=no_activity_iter->password;
return no_activity_iter->password;
}
return 0;
}
/*
get the length of m_activityNode_vector
*/
int SOCKET_ACTIVITY_LIST_Handler::f_activityNode_vector_length()
{
return m_activityNode_vector.size();
}
/*
get the length of m_no_activityNode_vector
*/
int SOCKET_ACTIVITY_LIST_Handler::f_no_activityNode_vector_length()
{
return m_no_activityNode_vector.size();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -