int VPN_close(int netmode) { #if (_CONFIG_VPN_MODULE != 0) int ret=0; system("../l2tp_end"); while(1) { if (netmode == NET_LAN) //遗留了一处ifconfig判断,待改进 ret = system("ifconfig ppp0"); else ret = system("ifconfig ppp1"); prn_log2("ret = %d", ret); if (ret != 0) { system("killall xl2tpd"); CommonSleep(1000); break; } CommonSleep(1000); } return VPN_SUCCESS; #else return VPN_SUCCESS; #endif }
static int wmmp_checkMonitorPlatform(void) { int rc; int status; int retries; int maxretries=5; //check login status for(retries=0;retries<maxretries;retries++) { DEBUG_PRINTF("retries: %d\n",retries); rc = wmmp_checkWmmpStatus(&status); if(rc != 0) { DEBUG_PRINTF("WMMP get response error: %x\n",rc); goto ExitProcessing; } if(status == 500) { DEBUG_PRINTF("WMMP ready for operation \n"); break; } else if(status == 732) { DEBUG_PRINTF("Alarmed!!!,reset the alarm status\n"); modem_sendCmd("AT$M2MALMRST=1234"); rc = modem_waitFor(MODEM_OK_STR,20); if( rc != 0 ) { DEBUG_PRINTF("Error: modem init\n"); goto ExitProcessing; } CommonSleep(10000); } else { DEBUG_PRINTF("Status = %d\n,sleep and retries",status); // CommonSleep (5000); CommonSleep (15000); } } //exceed max retries ,reset the modem application if (retries == maxretries) { DEBUG_PRINTF(("Failed,reset the module\n")); modem_sendCmd("AT+CFUN=1"); rc = modem_waitFor("OK",10); if(rc != 0) { DEBUG_PRINTF("WMMP get response error: %x\n",rc); goto ExitProcessing; } rc = MODEM_ERROR_NUM(MODEM_ERROR_WMMP,ERROR_WMMP_NOT_READY); goto ExitProcessing; } ExitProcessing: return rc; }
int CNetManager::autoDialProc(string &strErr) { int ret=0; INT32 autoDialType=0; CNetConnection *pnet=NULL; CNetDBWork::loadAutoDialType(&autoDialType, strErr); DBG_PRINT(("autoDialType = %d", autoDialType)); if (autoDialType <= 1) { pnet = g_netManager->GetConnectionHandle(); ret = pnet->performConnect(strErr); if (ret != NET_SUCCESS) { return ret; } } if (autoDialType == 0) { CommonSleep(1500); pnet = g_netManager->GetConnectionHandleL2(); ret = pnet->performConnect(strErr); if (ret != NET_SUCCESS) { return ret; } } return NET_SUCCESS; }
int InitPara(string &strErr) { DBG_PRINT(("==============InitPara Begin================")); if(g_initParaFlag == 0) { CDB *m_db = CDB::GetInstance(); m_db->Open(); m_db->Init(); CommonSleep(300); UINT8 index; for(index = 0; index<DET_ARRAY_LEN; index++) { s_DetArray[index] = new CInvDet; //DBG_PRINT(("s_DetArray[%d] = %x", index, s_DetArray[index])); DBG_ASSERT_EXIT((s_DetArray[index] != NULL), (" s_DetArray[index] == NULL!")); } g_globalArgLib = CGlobalArgLib::GetInstance(); g_gNetArg = CGlobalNetArg::GetInstance(); g_globalArgLib->InitGlobalArg(); INT8 tmpbuf[64]; memset(tmpbuf, 0, sizeof(tmpbuf)); sprintf(tmpbuf, "%u", g_globalArgLib->m_corpInfo->m_Kpjhm); g_gNetArg->InitGlobalNetArg(g_globalArgLib->m_corpInfo->m_Nsrsbh, "", g_globalArgLib->m_strHashNo, tmpbuf, g_globalArgLib->m_corpInfo->m_Jspsbh, ""); g_gNetArg->SetZskl(g_globalArgLib->m_strZskl); g_initParaFlag = 1; } DBG_PRINT(("==============InitPara End================")); }
/**! @parem s_APNtag : 0002 @parem s_APNvalue : APN接入点 @ 此函数应该没用,APN模式下的接入点设置是修改的标准拨号脚本。zl */ int wmmp_setAPN(char *s_APNtag, const char *s_APNvalue) { #if (_CONFIG_M2M_MODULE != 0) char buf[256]; char ctrlz[1]={0x1A}; int rc; //确认已登录M2M平台 DEBUG_PRINTF("Send cmd...\n"); modem_sendCmd("AT$M2MALMRST=1234"); CommonSleep(20);//20ms printf("wmmp_setAPN\n"); //Enable parsing of TLV data. modem_sendCmd("AT$M2MBHV=2,1"); rc = modem_waitFor("OK",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("wmmp_setAPN 1 WMMP get response error: %x\n",rc); DEBUG_PRINTF("wmmp_setAPN 1, rc = %d\n", rc); goto ExitProcessing; } //write TLV modem_sendCmd("AT$M2MCFG=1"); sleep(1); rc = modem_waitFor(">",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("wmmp_setAPN 2 WMMP get response error: %x\n",rc); DEBUG_PRINTF("wmmp_setAPN 2, rc = %d\n", rc); goto ExitProcessing; } //write tag value sprintf(buf,"%s,%s",s_APNtag,s_APNvalue); DEBUG_PRINTF("Set Value: %s\n",buf); modem_write( buf, strlen(buf) ); modem_write( ctrlz, 1 ); rc = modem_waitFor("OK",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("wmmp_setAppServer-3 WMMP get response error: %x\n",rc); DEBUG_PRINTF("wmmp_setAppServer 3, rc = %d\n", rc); goto ExitProcessing; } // printf("wmmp_setAppServer SUCCESS\n", rc); ExitProcessing: return rc; #else return 0; #endif }
int VPN_connent(const char *ip, const char *userName, const char* passwd) { #if (_CONFIG_VPN_MODULE != 0) int ret=0; prn_log("enter VPN_Connet"); if((ret=setLocalVar(ip,userName,passwd))!=VPN_SUCCESS) { prn_log2("ret = %d", ret); return ret; } prn_log("execute xl2tpd"); #if (_DBG_PRINT_TRANSDATA == 0) ret = system("../xl2tpd &"); #else ret = system("../xl2tpd -D &"); #endif if(ret != 0) { return VPN_RUN_XL2TPD_ER; } CommonSleep(2000); prn_log("execute l2tp"); ret = system("../l2tp"); if(ret != 0) { return VPN_RUN_L2TP_ER; } CommonSleep(2000); //3000 prn_log("connectProc complate"); return VPN_SUCCESS; #else return VPN_SUCCESS; #endif }
void CDB::MutexLock(void) { #if PTHREAD_MUTEX_OPEN == 1 DBG_ASSERT_EXIT((m_rwcs != NULL), (" m_rwcs == NULL!")); DBG_PRINT(("^^^^^^^^^^^countNum = %d^^^^^^^^", countNum)); while (pthread_mutex_trylock(m_rwcs) == EBUSY) { DBG_PRINT(("EBUSY")); CommonSleep(1000); } countNum++; DBG_PRINT(("^^^^^^^^^^^countNum = %d^^^^^^^^", countNum)); #endif }
void CNetManager::NetTransMutexLock() { #if (_TRANS_THREAD_SUPPORT!=0) DBG_PRINT(("^^^^^^^^^^^Net Mutex lock^^^^^^^^")); while (pthread_mutex_trylock(&s_net_mutex) == EBUSY) { CommonSleep(800); } /* int ret = 0; ret = pthread_mutex_lock(&s_net_mutex); DBG_PRINT(("^^^^^^^^^^^Net Mutex lock^^^^^^^^")); if (ret != 0) { DBG_PRINT(("===NET MUTEX LOCK %d====", ret)); } */ #endif }
void CSelfTestMenu::OnButton13(int iEvent, unsigned char * pEventData, int iDataLen) { TDateTime curDate; char chValue[64]; UINT8 nKeyTime = 1; while(1) { curDate = TDateTime::CurrentDateTime(); memset(chValue, 0, sizeof(chValue)); sprintf(chValue, " %s", curDate.FormatString(YYYYMMDDHHMMSS).c_str()); CaProgressBar proBar(chValue); proBar.Show(); if(CheckKey(nKeyTime)==SUCCESS) { break; } CommonSleep(1000); } this->ReFresh(); return; }
int wmmp_setAppServer(int flowID, const char *server_ip, const char *port) { char buf[256]; char ctrlz[1]={0x1A}; int rc; // 锁定中国移动网络,防止信号不稳定或与其他运营商有干扰时, //中国移动网络的ID号被添加在SIM卡的FPLMN(禁止访问的网络)文件中,造成自动选择网络时被屏蔽。 //该命令与设置M2M模块IP无关,放这只是想省事,款机使用过程中只执行一次。 DEBUG_PRINTF("Send cmd...\n"); #if (SIMCOM == 1) modem_sendCmd("at+cops=1,2,\"46000\""); //by yy 20110819 #else modem_sendCmd("at+cops=1,2,46000;&w"); #endif DEBUG_PRINTF("Wait response...\n"); rc = modem_waitFor("OK",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("锁定中国移动网络 WMMP get response error: %x\n",rc); //printf("wmmp_setAppServer, rc = %d\n", rc); goto ExitProcessing; } #if (SIMCOM == 1) //add by yy 20110819 DEBUG_PRINTF("Send cmd at&w\n"); // printf("Send cmd at&w\n"); modem_sendCmd("at&w"); DEBUG_PRINTF("Wait response...\n"); rc = modem_waitFor("OK",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("锁定中国移动网络 WMMP get response error: %x\n",rc); //printf("wmmp_setAppServer 1, rc = %d\n", rc); goto ExitProcessing; } #endif //Enable parsing of TLV data. DEBUG_PRINTF("Send cmd...\n"); modem_sendCmd("AT$M2MBHV=2,1"); DEBUG_PRINTF("Wait response...\n"); rc = modem_waitFor("OK",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("wmmp_setAppServer-1 WMMP get response error: %x\n",rc); // printf("wmmp_setAppServer 1, rc = %d\n", rc); goto ExitProcessing; } //确认已登录M2M平台 DEBUG_PRINTF("Send cmd...\n"); modem_sendCmd("AT$M2MALMRST=1234"); CommonSleep(20);//20ms // printf("wmmp_setAppServer 1.1\n"); //write TLV DEBUG_PRINTF("Send cmd...\n"); modem_sendCmd("AT$M2MCFG=1"); DEBUG_PRINTF("Wait response...\n"); rc = modem_waitFor(">",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("wmmp_setAppServer-2 WMMP get response error: %x\n",rc); // printf("wmmp_setAppServer 2, rc = %d\n", rc); goto ExitProcessing; } //write tag value sprintf(buf,"D00%X,4,\"tcp://%s:%s\"",(flowID+1),server_ip,port); DEBUG_PRINTF("Set Value: %s\n",buf); modem_write( buf, strlen(buf) ); modem_write( ctrlz, 1 ); rc = modem_waitFor("OK",WMMP_TIMEOUT); if(rc != 0) { DEBUG_PRINTF("wmmp_setAppServer-3 WMMP get response error: %x\n",rc); // printf("wmmp_setAppServer 3, rc = %d\n", rc); goto ExitProcessing; } // printf("wmmp_setAppServer SUCCESS\n", rc); ExitProcessing: return rc; }
INT32 CSaleBusinessFunc::InvoiceUpload(CYWXML_GY &ywxml_gy, string &strErr) { INT32 ret = SUCCESS; UINT8 upFlag = 0; UINT8 czlx = 0; UINT32 fpzx = 1; //一次只上传一张发票 string strInvInfo(""); string strMxjgmw(""); UINT8 nCount = 0; UINT32 nTime = 1000; UINT32 nTimeCount = 5; UINT8 xxlx = SKSBQTYXXCX_XXLX_FPSCJGHQ; string strSksbxx(""); string slxlh(""); UINT8 errNetFlag=0; //从金税盘获取上传发票信息 ret = g_pBusBase->FPSC_Business(ywxml_gy, czlx, fpzx, strInvInfo, strErr); DBG_PRINT(("ret = %d", ret)); if( (ret == JSK_COMMON_ERR_NO) && (strErr == "所有发票都已上传!") ) { DBG_PRINT(("here stop inv upload!")); g_globalArg->m_pthreadFlag = 0; return SUCCESS; } ret = g_pBusBase->ErrParse(ret, strErr); if(ret != SUCCESS) { return ret; } while(1) { if(nCount >= MAX_ERR_NUM) { break; } if(errNetFlag >= MAX_NET_ERR_NUM) { #if BUSINESS_TYPE_MODE == BUSINESS_JSK_MODE g_globalArgLib->m_pthreadFlag = 0; #else g_globalArg->m_pthreadFlag = 0; #endif break; } if(upFlag == 0) { //调用网络上传接口,上传发票信息 ret = g_pBusBase->NETFPSC_Business(ywxml_gy, strInvInfo, fpzx, slxlh, strErr); DBG_PRINT(("ret = %d", ret)); if(ret < -255) errNetFlag++; ret = g_pBusBase->ErrParse(ret, strErr); if(ret != SUCCESS) { nCount++; CommonSleep(nCount*nTime); continue; } CommonSleep(3*nTime); errNetFlag = 0; upFlag = 1; nCount = 0; } else { ret = g_pBusBase->SKSBQTYXXCX_Business(ywxml_gy, xxlx, strSksbxx, strErr); ret = g_pBusBase->ErrParse(ret, strErr); if(ret != SUCCESS) { return FAILURE; } //获取上传结果密文 ret = g_pBusBase->FPSCJGHQ_Business(ywxml_gy, strSksbxx, strMxjgmw, strErr); if(ret < -255) errNetFlag++; ret = g_pBusBase->ErrParse(ret, strErr); if( ret != SUCCESS ) { nCount++; CommonSleep(nCount*nTimeCount*nTime); continue; } errNetFlag = 0; //将上传结果密文更新到金税盘 ret = g_pBusBase->FPGX_Business(ywxml_gy, strMxjgmw, strErr); ret = g_pBusBase->ErrParse(ret, strErr); break; } CommonSleep(nTime); } return ret; }
UINT8 SimpleAutoIssue(UINT8 &nIfInvSum) { // INT32 nKey = 0x0; UINT8 nKeyTime = 0; UINT32 nDate; UINT8 nVolNum = 0;//发票卷数 UINT32 nInvNo = 0; UINT32 nCurrentInvNo = 0; INT8 chValue[256]; string strInfo; memset((void*)chValue, 0, sizeof(chValue)); SaleData saleInfo; CaProgressBar proBar(""); UINT8 ret; for(;;) { //超过开票截止日期,停止开票 nDate = TDateTime::CurrentDateTime().FormatInt(YYYYMMDD); DBG_PRINT(("for后 nDate = %u", nDate)); DBG_PRINT(("for后 g_globalArg->m_curInvVol->m_remain = %u", g_globalArg->m_curInvVol->m_remain)); // if (nDate>g_globalArg->m_corpInfo->m_ieDate) // { // CaMsgBox::ShowMsg("超过开票截止日期\n请立即申报!"); // return FAILURE; // } // if (1 == g_globalArg->m_declareLimitFlag) // { // CaMsgBox::ShowMsg("申报期超限,请立即申报"); // return FAILURE; // } //连续按两次确认键,则退出开票程序 if(CheckKey2(nKeyTime)==SUCCESS) { return SUCCESS; } DBG_PRINT(("开始自动开票")); // if(g_globalArg->m_curInvVol->m_remain != 0) // { // nCurrentInvNo = g_globalArg->m_curInvVol->m_ieno + 1 - // g_globalArg->m_curInvVol->m_remain; //判断是否滚动,若要滚动,显示消息框 // if(IfInvHeadRoll()!=SUCCESS) // { // return FAILURE; // } // if(IfInvSumRoll()!=SUCCESS) // { // return FAILURE; // } // if(IfRtInvRoll()!=SUCCESS) // { // return FAILURE; // } // if (g_globalArg->m_curInvVol->m_remain == 2) // { // DBG_PRINT(("自动开红票")); // if ((ret = SimpleMakeReturnInv(saleInfo)) != SUCCESS) // { // if (ret==DB_FULL) // { // CaMsgBox::ShowMsg("存储空间已满,无法开票 请尽快申报!"); // } // else if (HAVE_ROLLED==ret) // { // CaMsgBox::ShowMsg("滚动完毕!"); // } // else // { // CaMsgBox::ShowMsg("开红票失败!"); // } // return FAILURE; // } // } // else if (g_globalArg->m_curInvVol->m_remain == 1) // { // DBG_PRINT(("自动开废票")); // if ((ret = SimpleMakeWasteInv(saleInfo)) != SUCCESS) // { // if (ret==DB_FULL) // { // CaMsgBox::ShowMsg("存储空间已满,无法开票 请尽快申报!"); // } // else if (HAVE_ROLLED==ret) // { // CaMsgBox::ShowMsg("滚动完毕!"); // } // else // { // CaMsgBox::ShowMsg("开废票失败!"); // } // return FAILURE; // } // } // else // { // while (g_globalArg->m_InvServNum > 0) // { // CommonSleep(1000); // } CommonSleep(1000); DBG_PRINT(("自动开正票")); string strErr(""); if ((ret = SimpleMakeNormalInv(saleInfo,strErr))!= SUCCESS) { DBG_PRINT(("ret= %u",ret)); if (ret==DB_FULL) { CaMsgBox::ShowMsg("存储空间已满,无法开票 请尽快申报!"); } else if (HAVE_ROLLED==ret) { CaMsgBox::ShowMsg("滚动完毕!"); } else if(INV_LIB_ERR == ret) { CaMsgBox::ShowMsg(g_globalArg->m_strMsg); } else { CaMsgBox::ShowMsg(strErr); } return FAILURE; } // } //----销售相关变量复位 saleInfo.InitSaleData(1); //销售信息初始化 saleInfo.InitInvHead(); //单张发票信息初始化 //memset((void*)chValue, 0, sizeof(chValue)); nCurrentInvNo++; sprintf(chValue, "自动开票: %u号",nCurrentInvNo); proBar.SetText(chValue); proBar.ReFresh(); /* } else { //卷汇总,查询发票卷,并导入。若无发票卷,则报错并返回 if (GetInvNo(saleInfo, nInvNo) != SUCCESS) { return FAILURE; } if(nVolNum < 1) { nVolNum++; continue; } nVolNum = 0; //修改系统时间到第二天 // TDateTime dateTime(nDate, 80000); // dateTime++; // if (!TDateTime::SetCurrentDateTime(dateTime)) // { // CaMsgBox::ShowMsg("修改日期时间错误!"); // return FAILURE; // } // UINT32 nTestDate = TDateTime::CurrentDateTime().FormatInt(YYYYMMDD); // DBG_PRINT(("延迟后 nTestDate = %u", nTestDate)); //日汇总 // INT32 errorcode = 0; // INT8 charValue[128]; // memset((void*)charValue, 0, sizeof(charValue)); // if ((errorcode = g_globalArg->CheckDaySum(0)) != SUCCESS) // { // sprintf(charValue, "日交易汇总错误:%02x", errorcode); // CaMsgBox::ShowMsg(charValue); // return FAILURE; // } }*/ } }
void CWirelessViewWin::DoActive() { INT32 rc=0; int rssi=0; int ber=0; UINT8 key=0; INT8 title[OBJ_TITLE_MAX_LEN + 1]; INT32 titleLen=0; INT32 mode = g_netManager->GetConnectionMode(); CNetConnection *p = (CNetConnection *)g_netManager->GetConnectionHandle(); g_netManager->NetTransMutexLock(); do { if( key = ReadKeypad() ) { if (key == ESC_KEY) { break; } else if ( key==HELP_KEY && (mode==NET_M2M_WMMP || mode==NET_M2M_APN) ) { M2Minfo info; memset((void *)&info, 0, sizeof(M2Minfo)); ((M2MCommon *)p)->getModlueInfo(&info); sprintf(title, "IMEI:%s", info.IMEI); CaMsgBox::ShowMsg(title); } } rc = p->getCSQ(&rssi, &ber); DBG_PRINT(("rc = %d", rc)) if (rc != 0) { strcpy(title, "信号强度(0~31):监测失败"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel1->SetTitle(title, titleLen / CHAR_W); strcpy(title, "信 号 等 级: 监测失败"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel2->SetTitle(title, titleLen / CHAR_W); } else { DBG_PRINT(("CSQ: %d, %d",rssi,ber)); if (rssi==99 /*|| ber==99*/) //change for 3g. zl { strcpy(title, "信号强度(0~31):无信号"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel1->SetTitle(title, titleLen / CHAR_W); strcpy(title, "信 号 等 级: 无信号"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel2->SetTitle(title, titleLen / CHAR_W); } else { if (rssi>20) { sprintf(title, "信号强度(0~31):%d", rssi); titleLen = strlen(title) * CHAR_W + 1; m_pLabel1->SetTitle(title, titleLen / CHAR_W); strcpy(title, "信 号 等 级: 强"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel2->SetTitle(title, titleLen / CHAR_W); } else if (rssi>10) { sprintf(title, "信号强度(0~31):%d", rssi); titleLen = strlen(title) * CHAR_W + 1; m_pLabel1->SetTitle(title, titleLen / CHAR_W); strcpy(title, "信 号 等 级: 中"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel2->SetTitle(title, titleLen / CHAR_W); } else { sprintf(title, "信号强度(0~31):%d", rssi); titleLen = strlen(title) * CHAR_W + 1; m_pLabel1->SetTitle(title, titleLen / CHAR_W); strcpy(title, "信 号 等 级: 弱"); titleLen = strlen(title) * CHAR_W + 1; m_pLabel2->SetTitle(title, titleLen / CHAR_W); } } } this->ReFresh(); CommonSleep(800); }while (1); g_netManager->NetTransMutexUnlock(); ChangeWin(NETWORK_SET_MENU); return; }