Example #1
0
static int Init(int argc, char *argv[])
{
    CConfig *pConfig = &g_config;

    char sConfFilePath[255]={0};

    if (argc != 2) 
    {
        printf("Usage: %s Config_file\n", argv[0]); return -1;
    }

    if (strlen(argv[1]) >= sizeof(sConfFilePath)) 
    {
        printf("Config file path too long!\n"); return -1;
    }
    
    strncpy(sConfFilePath, argv[1], strlen(argv[1]));
    pConfig->GetConfigFile(sConfFilePath, 
        "LOGFILEPATH", CONFIG_STRING, &(pConfig->sLogFilePath), "/tmp/dshmproxy",
        "LOG_SIZE", CONFIG_INT, &(pConfig->iMaxLogSize), 0,
        "LOG_NUM", CONFIG_INT, &(pConfig->iMaxLogNum), 0,
        "LOG_LV_SHM_KEY", CONFIG_INT, &(pConfig->iLogLvShmKey), 0,        
        "PULL_IP", CONFIG_STRING, &(pConfig->sPullIp), "",
        "PULL_PORT", CONFIG_INT, &(pConfig->nPullPort), 0,
        "PUB_IP",  CONFIG_STRING, &(pConfig->sPubIp), "",
        "PUB_PORT", CONFIG_INT, &(pConfig->nPubPort), 0,
        "RESP_IP", CONFIG_STRING, &(pConfig->sRespIp), "",
        "RESP_PORT", CONFIG_INT, &(pConfig->nRespPort), 0,
        "MASTER_IP", CONFIG_STRING, &(pConfig->sMasterIp), "",
        "MASTER_PORT", CONFIG_INT, &(pConfig->nMasterPort), 0,
        "DB_IP", CONFIG_STRING, &(pConfig->sDbIp), "",
        "DB_USER_NAME", CONFIG_STRING, &(pConfig->sDbUserName), "",
        "DB_PASS", CONFIG_STRING, &(pConfig->sDbPass), "",
        "DB_NAME", CONFIG_STRING, &(pConfig->sDbName), "",
        "DB_PORT", CONFIG_INT, &(pConfig->iDbPort), 0,
        "DB_MAX_RECORD", CONFIG_INT, &(pConfig->iDbMaxRecord), 10000,
        "LOOP_SLEEP", CONFIG_INT, &(pConfig->iLoopInterMsec), 20,
    NULL);

    
    return 0;
}