int main() { log_DEBUG(PSTR("debug")); log_INFORMATIONAL(PSTR("informational")); log_NOTICE(PSTR("notice")); log_WARNING(PSTR("warning")); log_ERROR(PSTR("error")); log_CRITICAL(PSTR("critical")); log_ALERT(PSTR("alert")); log_EMERGENCY(PSTR("emergency")); return EXIT_SUCCESS; }
void Logs::PLUGIN_ERROR(const char* file, int line, const char* function, const char* format, ...) { if (Settings::getInstance()->IsLogEnabled && Settings::getInstance()->SeePluginLog) { char buffer[2048]; memset(buffer, 0x00, sizeof(buffer)); va_list args; va_start (args, format); #ifdef __unix__ vsnprintf(buffer, sizeof(buffer) - 1, format, args); #else _vsnprintf_s(buffer, sizeof(buffer) - 1, format, args); #endif log_ERROR(processLog(file, line, function, buffer)); va_end(args); } }
void Logs::ERROR_LOG(const char* file, int line, const char* function, const char* format, ...) { if (!Settings::getInstance()->IsLogEnabled) return; char buffer[2048]; memset(buffer, 0x00, sizeof(buffer)); va_list args; va_start (args, format); #if defined(__unix__) vsnprintf(buffer, sizeof(buffer) - 1, format, args); #else _vsnprintf_s(buffer, sizeof(buffer) - 1, format, args); #endif log_ERROR(processLog(file, line, function, buffer)); va_end(args); }
int variable_detection(char buffer[512]) { int i=0; int j=0; char name[512]={'\0'}; char value[512]={'\0'}; int int_value=0; while( buffer[i] != DELIM ) { name[i]=buffer[i]; i++; } i++; while( buffer[i] != ENDLIM ) { value[j]=buffer[i]; i++; j++; } if (!strcmp(name,"LOG_FILE_PATH")){ strcpy(LOG_FILE_PATH,value); } else if (!strcmp(name,"LOG_LEVEL")){ strcpy(LOG_LEVEL,value); } else if (!strcmp(name,"MYSQL")){ MYSQL = atoi(value); } else if (!strcmp(name,"HOSTNAME")){ strcpy(HOSTNAME,value); } else if (!strcmp(name,"PORT")){ PORT = atoi(value); } else if (!strcmp(name,"LOGIN")){ strcpy(LOGIN,value); } else if (!strcmp(name,"PASSWORD")){ strcpy(PASSWORD,value); } else if (!strcmp(name,"DATABASE")){ strcpy(DATABASE,value); } else if (!strcmp(name,"PORT_RFXTRX433")){ strcpy(PORT_RFXTRX433,value); } else if (!strcmp(name,"PORT_ENOUSB300")){ strcpy(PORT_ENOUSB300,value); } else if (!strcmp(name,"MODULE_SOAP")){ MODULE_SOAP = atoi(value); } else if (!strcmp(name,"PORT_SOAP")){ PORT_SOAP = atoi(value); } else if (!strcmp(name,"MODULE_RPIDOM")){ MODULE_RPIDOM = atoi(value); } else if (!strcmp(name,"PORT_RPIDOM")){ strcpy(PORT_RPIDOM,value); } else if (!strcmp(name,"RPIDOM_TELE1_TYPE")){ RPIDOM_TELE1_TYPE = atoi(value); } else if (!strcmp(name,"RPIDOM_TELE2_TYPE")){ RPIDOM_TELE2_TYPE = atoi(value); } else if (!strcmp(name,"RPIDOM_1WIRE")){ RPIDOM_1WIRE = atoi(value); } else if (!strcmp(name,"MDB_CLOUD")){ MDB_CLOUD = atoi(value); } else if (!strcmp(name,"MDB_KEY")){ strcpy(MDB_KEY,value); } else if (!strcmp(name,"MDB_ID")){ strcpy(MDB_ID,value); } else if (!strcmp(name,"MDB_X_ISS_Key")){ strcpy(MDB_X_ISS_Key,value); } else if (!strcmp(name,"MDB_X_OAPI_Key")){ strcpy(MDB_X_OAPI_Key,value); } else if (!strcmp(name,"MDB_DATASOURCE")){ strcpy(MDB_DATASOURCE,value); } else{ log_ERROR("Parameter : \"%s\" not yet supported by mydombox",name); } /* detecting if it is a char or int if (( value[0] != '"')&&(value[0] >= '0' && value[0] <= '9')) { int_value = atoi (value ); printf("int %s= %d \n", name,int_value); } else { printf("char %s = %s \n", name,value); } */ return 0; }
bool CProxy::start(const std::string& sListenIP, ushort uListenPort, const std::string& sLoginSrvIP, ushort uLoginSrvPort, const std::vector<s_serverInfos>& vecAreas, ushort uMaxConnections) { // Check if listen address is correctly formated if (!m_listenAddress.FromStringExplicitPort(sListenIP.c_str(), uListenPort)) { log_ERROR("Invalid listen address. Aborting."); return false; } // Start listen interface RakNet::SocketDescriptor listenSocket(uListenPort, sListenIP.c_str()); m_pListenInterface = RakNet::RakPeerInterface::GetInstance(); if (m_pListenInterface->Startup(uMaxConnections, &listenSocket, 1) != RakNet::RAKNET_STARTED) { log_ERROR("Failed to startup Raknet interface. Aborting."); stop(); return false; } m_pListenInterface->SetMaximumIncomingConnections(uMaxConnections); ff::write(pan::notice, "Started listening on ", sListenIP, ":", uListenPort, "."); ff::write(pan::notice, "Accepting max ", uMaxConnections, " connections."); ushort uTmpPort = 49777; // Start login server interface { // Check if login server address is correctly formated if (!m_loginSrvAddress.FromStringExplicitPort(sLoginSrvIP.c_str(), uLoginSrvPort)) { log_ERROR("Invalid login server address. Aborting."); stop(); return false; } RakNet::SocketDescriptor loginSocketDesc(++uTmpPort, NULL); while (RakNet::SocketLayer::IsPortInUse(loginSocketDesc.port, loginSocketDesc.hostAddress, loginSocketDesc.socketFamily)) loginSocketDesc.port = uTmpPort++; // Create and startup login server interface m_pLoginSrvInterface = RakNet::RakPeerInterface::GetInstance(); if (m_pLoginSrvInterface->Startup(1, &loginSocketDesc, 1) != RakNet::RAKNET_STARTED) { log_ERROR("Failed to startup login server interface."); stop(); return false; } int latency = ping(m_pLoginSrvInterface, sLoginSrvIP, uLoginSrvPort); if (latency < 0) ff::write(pan::warning, "Failed to ping login server (", sLoginSrvIP, ":", uLoginSrvPort, ")."); else ff::write(pan::notice, "Pinged login server (", sLoginSrvIP, ":", uLoginSrvPort, ") - ", latency, "ms."); // Attempt connection if (m_pLoginSrvInterface->Connect(sLoginSrvIP.c_str(), uLoginSrvPort, NULL, 0) != RakNet::CONNECTION_ATTEMPT_STARTED) { ff::write(pan::error, "Connection to login server (", sLoginSrvIP, ":", uLoginSrvPort, ") failed."); stop(); return false; } m_pLoginSrvInterface->SetOccasionalPing(true); } // Connect to area servers for (std::vector<s_serverInfos>::const_iterator it = vecAreas.begin(); it != vecAreas.end(); it++) { RakNet::SocketDescriptor areaSocketDesc(uTmpPort++, NULL); while (RakNet::SocketLayer::IsPortInUse(areaSocketDesc.port, areaSocketDesc.hostAddress, areaSocketDesc.socketFamily)) areaSocketDesc.port = uTmpPort++; RakNet::RakPeerInterface* pAreaItf = RakNet::RakPeerInterface::GetInstance(); if (pAreaItf->Startup(1, &areaSocketDesc, 1) != RakNet::RAKNET_STARTED) { log_ERROR("Failed to startup an area server interface."); continue; } if (pAreaItf->Connect((*it).m_srvIP.c_str(), (*it).m_srvPort, NULL, 0) != RakNet::CONNECTION_ATTEMPT_STARTED) { ff::write(pan::error, "Connection attempt to area server (", (*it).m_srvIP, ":", (*it).m_srvPort, ") failed."); continue; } pAreaItf->SetOccasionalPing(true); // TODO: Do something here with this connection } // Proxy server started successfuly m_pListenInterface->AttachPlugin(this); m_bStarted = true; m_bQuit = false; m_pUpdateThread = new boost::thread(FastDelegate0<>(this, &CProxy::updateThread)); return m_bStarted; }