int main(int argc, char**argv) { MainApp app( MSG_VERSION ) ; // 打包时记得因为测试而关闭的等待连接响应包部分 app.InitMainApp(argc, argv); const char *szrun = app.getArgv( "r" ) ; char szlog[1024] = {0} ; if ( szrun != NULL ) sprintf( szlog, "%s/%s", szrun, RUN_LOG_PATH ) ; else getrunpath( MTRANS_ENV, szlog, ABS_LOG_PATH , LOG_PATH ) ; char szconf[1024] = {0} ; if ( szrun != NULL ) sprintf( szconf, "%s/%s/%s", szrun, RUN_CONF_PATH , CONFIG ) ; else getconfpath( MTRANS_ENV, szconf, ABS_CONF_PATH , CONF_PATH , CONFIG ) ; char szuser[1024] = {0}; if ( szrun != NULL ) sprintf( szuser, "%s/%s/%s", szrun, RUN_CONF_PATH , USER_INFO_FILE ) ; else getconfpath( MTRANS_ENV, szuser, ABS_CONF_PATH , CONF_PATH , USER_INFO_FILE ) ; printf( "run conf file path:%s , log path: %s, user file: %s\n" , szconf, szlog , szuser ) ; CSystemEnv env ; if ( ! env.Init( szconf, szlog , szuser , LOG_NAME ) ) { printf( "CSystemEnv init failed\n" ) ; return 0 ; } if ( ! env.Start() ) { printf( "CSystemEnv start failed\n" ) ; return 0 ; } while (1) { usleep(1000*1000*1000); } // pipe_server.Stop(); sleep(1); INFO_PRT("press enter to leave!"); getchar(); return 0; }
int main(int argc, char**argv) { MainApp app( PCCFUJIAN_VERSION ) ; // 打包时记得因为测试而关闭的等待连接响应包部分 app.InitMainApp(argc, argv); const char *szrun = app.getArgv( "r" ) ; char szlog[1024] = {0} ; if ( szrun != NULL ) sprintf( szlog, "%s/%s", szrun, RUN_LOG_PATH ) ; else getrunpath( MTRANS_ENV, szlog, ABS_LOG_PATH , LOG_PATH ) ; char szconf[1024] = {0} ; if ( szrun != NULL ) sprintf( szconf, "%s/%s/%s", szrun, RUN_CONF_PATH , CONFIG ) ; else getconfpath( MTRANS_ENV, szconf, ABS_CONF_PATH , CONF_PATH , CONFIG ) ; printf( "run conf file path:%s , log path: %s\n" , szconf, szlog ) ; CSystemEnv env ; if (!env.Init(szconf, szlog, NULL, LOG_NAME)) { printf("CSystemEnv init failed\n"); return 0; } if (!env.Start()) { printf("CSystemEnv start failed\n"); return 0; } while (1) { usleep(1000 * 1000 * 1000); } return 0; }
void get_conf(void *cfgdata,conf_t *conf,int confnum) { int i; for(i=0;i<confnum;i++) { switch(conf[i].type) { case CONF_INT: *(int *)conf[i].r = getconfint(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval?atoi(conf[i].defval):0, (int)conf[i].p1,(int)conf[i].p2); break; case CONF_STR: if((int)conf[i].p3) // 返回整数 getconfstring(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval,(char **)conf[i].p1,(int *)conf[i].p3,(int)conf[i].p2,(int *)conf[i].r); else // 返回字符串 *(char **)conf[i].r = getconfstring(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval,(char **)conf[i].p1,NULL,(int)conf[i].p2,NULL); break; case CONF_FLOAT: *(double *)conf[i].r = getconfloat(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval?atof(conf[i].defval):0.0, (double)(int)conf[i].p1,(double)(int)conf[i].p2); break; case CONF_MULTI: *(char **)conf[i].r = getconfmulti(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval, (char *)(conf[i].p2),(char ***)(conf[i].p1),(int *)(conf[i].p3)); break; case CONF_DIR: *(char **)conf[i].r = getconfdir(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval); break; case CONF_PATH: *(char **)conf[i].r = getconfpath(cfgdata,conf[i].section,conf[i].key,conf[i].isnull,conf[i].defval, (char *)conf[i].p1,(char *)conf[i].p2); break; } } }