// Constructor CMarketExchange::CMarketExchange(char *szFileLoc, TIdent iConfiguredCustomerCount, TIdent iActiveCustomerCount, int iListenPort, char *szBHaddr, int iBHlistenPort, char *outputDirectory) : m_iListenPort(iListenPort) { char filename[iMaxPath + 1]; snprintf(filename, iMaxPath, "%s/MarketExchange.log", outputDirectory); m_pLog = new CEGenLogger(eDriverEGenLoader, 0, filename, &m_fmt); snprintf(filename, iMaxPath, "%s/MarketExchange_Error.log", outputDirectory); m_fLog.open(filename, ios::out); snprintf(filename, iMaxPath, "%s/%s", outputDirectory, MEE_MIX_LOG_NAME); m_fMix.open(filename, ios::out); // Initialize MEESUT m_pCMEESUT = new CMEESUT(szBHaddr, iBHlistenPort, &m_fLog, &m_fMix, &m_LogLock, &m_MixLock); // Initialize MEE CInputFiles inputFiles; inputFiles.Initialize(eDriverEGenLoader, iConfiguredCustomerCount, iActiveCustomerCount, szFileLoc); m_pCMEE = new CMEE(0, m_pCMEESUT, m_pLog, inputFiles, 1); m_pCMEE->SetBaseTime(); }
CBrokerageHouse::CBrokerageHouse(const char *szHost, const char *szDBName, const char *szDBPort, const int iListenPort, char *outputDirectory) : m_iListenPort(iListenPort) { strncpy(m_szHost, szHost, iMaxHostname); m_szHost[iMaxHostname] = '\0'; strncpy(m_szDBName, szDBName, iMaxDBName); m_szDBName[iMaxDBName] = '\0'; strncpy(m_szDBPort, szDBPort, iMaxPort); m_szDBPort[iMaxPort] = '\0'; #else #ifdef NO_MEE_FOR_TRADERESULT CBrokerageHouse::CBrokerageHouse(char *_mysql_dbname, char *_mysql_host, char * _mysql_user, char * _mysql_pass, char *_mysql_port, char * _mysql_socket, const int iListenPort, char *_outputDirectory, char* _szFileLoc, char* _szBHaddr, int _iActiveCustomerCount, int _iConfiguredCustomerCount, int _iUsers) #else CBrokerageHouse::CBrokerageHouse(char *_mysql_dbname, char *_mysql_host, char * _mysql_user, char * _mysql_pass, char *_mysql_port, char * _mysql_socket, const int iListenPort, char *outputDirectory) #endif : m_iListenPort(iListenPort) { if (_mysql_dbname != NULL) { strcpy(mysql_dbname, _mysql_dbname); } if (_mysql_host != NULL) { strcpy(mysql_host, _mysql_host); } if (_mysql_user != NULL) { strcpy(mysql_user, _mysql_user); } if (_mysql_pass != NULL) { strcpy(mysql_pass, _mysql_pass); } if (_mysql_port != NULL) { strcpy(mysql_port_t, _mysql_port); } if (_mysql_socket != NULL) { strcpy(mysql_socket_t, _mysql_socket); } #endif char filename[iMaxPath + 1]; snprintf(filename, iMaxPath, "%s/BrokerageHouse_Error.log", outputDirectory); char s[1000]; m_fLog.open(filename, ios::out); #ifdef NO_MEE_FOR_TRADERESULT strcpy(outputDir, _outputDirectory); #else strcpy(outputDir, outputDirectory); #endif logErrorMessage(s, false); #ifdef NO_MEE_FOR_TRADERESULT szFileLoc = _szFileLoc; szBHaddr = _szBHaddr; outputDirectory = _outputDirectory; iActiveCustomerCount = _iActiveCustomerCount; iConfiguredCustomerCount = _iConfiguredCustomerCount; iUsers = _iUsers; #endif } #ifdef NO_MEE_FOR_TRADERESULT void CBrokerageHouse::startFakeMEE(){ char filename[iMaxPath + 1]; snprintf(filename, iMaxPath, "%s/MarketExchange.log", outputDirectory); m_pLog = new CEGenLogger(eDriverEGenLoader, 0, filename, &m_fmt); snprintf(filename, iMaxPath, "%s/%s", outputDirectory, "mee_mix.log"); ofstream m_fMix; m_fMix.open(filename, ios::out); CInputFiles inputFiles; inputFiles.Initialize(eDriverEGenLoader, iConfiguredCustomerCount, iActiveCustomerCount, szFileLoc); for(int i=0; i<iUsers; i++){ m_pCMEESUT[i] = new CMEESUT(szBHaddr, iBrokerageHousePort, &m_fLog, &m_fMix, &m_meeLogLock[i], &m_MixLock[i]); m_pCMEE[i] = new CMEE(0, m_pCMEESUT[i], m_pLog, inputFiles, 1); m_pCMEE[i]->SetBaseTime(); } }