int main() { Flog_Init(SPANK_NAME); Flog_AddTargetStream(stdout, Flog_SDebug1 |Flog_SDebug2 | Flog_SDebug3 | Flog_SVerbose | Flog_SInfo | Flog_SWarning, 1); Flog_AddTargetStream(stderr, Flog_SError | Flog_SFatal, 1); FlogI("Welcome to " << SPANK_NAME << " " << SPANK_VERSION); Server server; // Memory cached static data server.AddRequestHandler("/", new Cached(new StaticResource("data/index.html"))); server.AddRequestHandler("/favicon.ico", new Cached(new StaticResource("data/favicon.ico"))); // Non-cached static data server.AddRequestHandler("/heart.png", new StaticResource("data/heart.png")); // Non-cached dynamic page server.AddRequestHandler("/dynamic", new DynamicTest()); // Cached dynamic page server.AddRequestHandler("/time", new Cached(new ServerTime())); FlogAssert( signal(SIGHUP, HandleSigHup) != SIG_ERR, "Could not set signal handler"); server.ListenForever(); return 0; }
int main(int argc, char** argv) { Flog_Init("Testapp"); Flog_AddTargetStream(stdout, Flog_SDebug1 |Flog_SDebug2 | Flog_SDebug3 | Flog_SVerbose | Flog_SInfo | Flog_SWarning, 1); Flog_AddTargetStream(stderr, Flog_SError | Flog_SFatal, 1); if( !Flog_AddTargetServer("localhost", Flog_DefaultPort, Flog_SAll) ){ printf("couldn't connect to server\n"); return 1; } std::string testString = "value"; FlogExpD1(testString); FlogD1("debug level " << 1); FlogD2("debug level " << 2); FlogD3("debug level " << 3); FlogD("debug default level"); FlogV("verbose"); FlogI("info"); FlogW("warning"); FlogE("error"); FlogF("fatal error"); FlogAssert(argc == 1, "Not one arugment, exiting"); FlogDie("DEATH"); return 0; }
/* Fonctions services : start */ int ServiceStart() { fd_set i_rdfs; struct timeval i_tv; char i_xpp_buff[1500+1]; char Fichier[256]; //****************************************************************************************************************** //*** Initialisation générale FichierInit(g_ServiceChemin, g_ServiceNom); FichierStd(Fichier, TYPFIC_LOG); Flog_Init(Fichier); //****************************************************************************************************************** //*** Bavardage Flog_Ecrire("Démarrage de xAP-Rss"); //****************************************************************************************************************** //*** Lecture du fichier INI FichierStd(FichierCnf, TYPFIC_CNF); if(!Fcnf_Lire(FichierCnf, &g_LstParam)) { FichierStd(FichierCnf, TYPFIC_LOC+TYPFIC_CNF); Fcnf_Lire(FichierCnf, &g_LstParam); } Flog_Ecrire("Fichier de conf : %s", FichierCnf); g_receiver_sockfd = Rss_init(); if (g_debuglevel>0) Flog_Ecrire("DebugLevel : %d", g_debuglevel); //****************************************************************************************************************** //*** Lecture du fichier filtre Rss_LireIni(); //****************************************************************************************************************** //*** Boucle principale while(!g_bServiceStop) { // Send heartbeat periodically xpp_heartbeat_tick(HBEAT_INTERVAL); FD_ZERO(&i_rdfs); FD_SET(g_receiver_sockfd, &i_rdfs); i_tv.tv_sec=10; i_tv.tv_usec=0; select(g_receiver_sockfd+1, &i_rdfs, NULL, NULL, &i_tv); // Select either timed out, or there was data - go look for it. if (FD_ISSET(g_receiver_sockfd, &i_rdfs)) { // there was an incoming message, not that we care if (xpp_PollIncoming(g_receiver_sockfd, i_xpp_buff, sizeof(i_xpp_buff))>0) { switch(xpp_DispatchReception(i_xpp_buff)) { case XPP_RECEP_CAPTEUR_INFO : if(!g_bServicePause) xpp_handler_Rss(XPP_RECEP_CAPTEUR_INFO); break; case XPP_RECEP_CAPTEUR_EVENT : if(!g_bServicePause) xpp_handler_Rss(XPP_RECEP_CAPTEUR_EVENT); break; case XPP_RECEP_SERVICE_CMD : xpp_handler_service(); break; } } } } // while Flog_Ecrire("Arrêt de xAP-Rss"); return 0; } // main
/* Fonctions services : start */ int ServiceStart(char *ConfigFile, char *LogFile) { char Fichier[256]; fd_set i_rdfs; struct timeval i_tv; char i_xpp_buff[1500+1]; //****************************************************************************************************************** //*** Initialisation générale (Fichier de log) strcpy(g_OWDebugLevel, ""); strcpy(g_OWDebugOut, ""); strcpy(g_OWChnCnx, ""); //****************************************************************************************************************** //*** Initialisation générale (Fichier de log) FichierInit(g_ServiceChemin, g_ServiceNom); if(LogFile==NULL) { FichierStd(Fichier, TYPFIC_LOG); Flog_Init(Fichier); } else Flog_Init(LogFile); //****************************************************************************************************************** //*** Bavardage Flog_Ecrire("Démarrage de %s", XAP_SOURCE); //****************************************************************************************************************** //*** Lecture du fichier INI if(ConfigFile==NULL) { FichierStd(FichierCnf, TYPFIC_CNF); if(!Fcnf_Lire(FichierCnf, &g_LstParam)) { FichierStd(FichierCnf, TYPFIC_LOC+TYPFIC_CNF); Fcnf_Lire(FichierCnf, &g_LstParam); } } else { strcpy(FichierCnf, ConfigFile); Fcnf_Lire(ConfigFile, &g_LstParam); } Flog_Ecrire("Fichier de conf : %s", FichierCnf); g_receiver_sockfd = OneWire_init(); if (g_debuglevel>0) Flog_Ecrire("DebugLevel : %d", g_debuglevel); //****************************************************************************************************************** //*** Construction de la liste des capteurs OneWire_Liste(&g_LstCapteur); //****************************************************************************************************************** //*** Lecture du fichier capteurs Capteurs_LireIni(); //****************************************************************************************************************** //*** Boucle principale while(!g_bServiceStop) { // Envoi un heartbeat regulièrement xpp_heartbeat_tick(g_IntervalHbeat); // Parcours les capteurs OneWire_Controle(g_LstCapteur); // Envoi la liste complète des capteurs regulièrement OneWire_BSCInfo(g_IntervalInfo, g_LstCapteur); FD_ZERO(&i_rdfs); FD_SET(g_receiver_sockfd, &i_rdfs); i_tv.tv_sec=5; i_tv.tv_usec=0; select(g_receiver_sockfd+1, &i_rdfs, NULL, NULL, &i_tv); // Select either timed out, or there was data - go look for it. if (FD_ISSET(g_receiver_sockfd, &i_rdfs)) { // there was an incoming xpp message, not that we care if (xpp_PollIncoming(g_receiver_sockfd, i_xpp_buff, sizeof(i_xpp_buff))>0) { switch(xpp_DispatchReception(i_xpp_buff)) { case XPP_RECEP_CAPTEUR_CMD : if(!g_bServicePause) xpp_handler_CmdOneWire(); break; case XPP_RECEP_CAPTEUR_QUERY : if(!g_bServicePause) xpp_handler_QueryOneWire(); break; case XPP_RECEP_SERVICE_CMD : xpp_handler_service(); break; } } } } // while Flog_Ecrire("Arrêt de %s", XAP_SOURCE); return 0; } // main