📄 global.cpp
字号:
Ltrim(m_localDir, BUFSIZE-1); // modified by zhj
break;
*/
case 2:
m_irrFrequency = atoi(line+k+1);
break;
case 3:
{
// begin to set backup gatekeeper.
p1 = line+k+1;
m_oraList.SetSize(m_oradbNum + 1);
m_oraInfo[m_oradbNum] = new OraInfo;
for(k=0; !(p1[k]==':' || p1[k]==0 ); k++);
STRNCPY(c1, p1, k, BUFSIZE-1);
Ltrim(c1, BUFSIZE-1);
strncpy(m_oraInfo[m_oradbNum]->username, c1, sizeof m_oraInfo[m_oradbNum]->username);
p1 += k+1;
for(k=0; !(p1[k]==':' ||isspace(p1[k]) || p1[k]==0 ); k++);
STRNCPY(c1, p1, k, BUFSIZE-1);
Ltrim(c1, BUFSIZE-1);
strncpy(m_oraInfo[m_oradbNum]->password, c1, sizeof m_oraInfo[m_oradbNum]->password);
p1 += k+1;
for(k=0; !(p1[k]==':' || isspace(p1[k]) || p1[k] == 0); k++);
STRNCPY(c1, p1, k, BUFSIZE-1);
Ltrim(c1, BUFSIZE-1); // modified by zhj
strncpy(m_oraInfo[m_oradbNum]->connect, c1, sizeof m_oraInfo[m_oradbNum]->connect);
m_oraList.SetAt(m_oradbNum, m_oraInfo[m_oradbNum]);
m_oradbNum ++;
break;
}
default:
RTRACE(1, "Read config file error!");
//return 0;
continue; //if find a error, ignore it.
}
}
is.close();
char ctlName[BUFSIZE];
sprintf(ctlName, "%s%s", pathBuf, "smgw.ctl");
m_radLog.Init(m_debugLevel, m_logFile, ctlName, m_totalLogSize, RadTrace::e_separateFile);
/* RTRACE::Initialise(5, m_logFile);
RTRACE::SetOptions(RTRACE::DateAndTime);
RTRACE::ClearOptions(RTRACE::Thread);
RTRACE::ClearOptions(RTRACE::Timestamp);
RTRACE::ClearOptions(RTRACE::SystemLogStream);
//RTRACE::ClearOptions(RTRACE::FileAndLine);
SetDebugLevel(m_debugLevel);
*/
TransVer(VERSION);
RTRACE(1, "\n\n\n\nInitial Intface97 " << m_verString << " ...");
RTRACE(5, keyword[0] << " = " << m_debugLevel);
RTRACE(5, keyword[1] << " = " << m_logFile);
RTRACE(5, keyword[2] << " = " << m_irrFrequency);
RTRACE(5, keyword[4] << " = " << m_dbServer);
RTRACE(5, keyword[5] << " = " << m_dbAccount);
RTRACE(5, keyword[6] << " = " << m_dbPassword);
RTRACE(5, keyword[7] << " = " << m_dbName);
RTRACE(5, keyword[8] << " = " << m_rollback);
RTRACE(5, keyword[9] << " = " << m_totalLogSize);
RTRACE(5, keyword[14] << " = " << m_areacode);
RTRACE(5, keyword[23] << " = " << m_serverport);
RTRACE(5, keyword[10] << " = " << m_deleteNow);
RTRACE(5, keyword[11] << " = " << m_useNow);
if(m_areacode == 0 || m_areacode == 1)
{
RTRACE(5, keyword[12] << " = " << m_maxDisconnectTimes);
RTRACE(5, keyword[13] << " = " << m_port);
RTRACE(5, keyword[3] << ":");
for ( j=0; j<m_oradbNum; j++)
{
RTRACE(5, "\tusername = " << m_oraInfo[j]->username);
RTRACE(5, "\tpassword = " << m_oraInfo[j]->password);
RTRACE(5, "\tconnect = " << m_oraInfo[j]->connect << "\n");
}
}
else
{
RTRACE(5, keyword[16] << " = " << m_localDir);
if(m_ftpNum == 0)
RTRACE(5, keyword[17] << " = " << m_shareDir);
else
{
struct in_addr tmp;
RTRACE(5, keyword[18] << " = " << m_getFilePath);
RTRACE(5, keyword[19] << " = " << m_putFilePath);
RTRACE(5, keyword[15] << ":");
for(j=0; j<m_ftpNum; j++)
{
tmp.S_un.S_addr = m_negGkList[j].m_ip;
RTRACE(5, inet_ntoa(tmp)<< ":" << m_negGkList[j].m_port);
RTRACE(5, "username" << "=" << m_username[j]);
RTRACE(5, "password" << "=" << m_password[j]);
if( m_negGkList.GetSize() == j+1 )
break;
}
}
}
RTRACE(5, "Excute Path = " << m_execDir);
/*
for ( j=0; j<m_oradbNum; j++)
{
RTRACE(5, "\tusername = " << m_oraInfo[j]->username);
RTRACE(5, "\tpassword = " << m_oraInfo[j]->password);
RTRACE(5, "\tconnect = " << m_oraInfo[j]->connect << "\n");
tmp.S_un.S_addr = m_negGkList[j].m_ip;
RTRACE(5, inet_ntoa(tmp)<< ":" << m_negGkList[j].m_port);
RTRACE(5, "username" << "=" << m_username[j]);
RTRACE(5, "password" << "=" << m_password[j]);
if( m_negGkList.GetSize() == j+1 )
break;
}
*/
return 1;
}
/////////////////////////////////////////////////////////////////////
//class CGlobal
/////////////////////////////////////////////////////////////////////
CGlobal::CGlobal()
{
srand( (unsigned)time( NULL ) );
// set default value
strcpy(m_logFile, LOG_FILE);
m_debugLevel = 1;
m_irrFrequency = 120;
m_dbServer[0] = 0;
m_dbAccount[0] = 0;
m_dbPassword[0] = 0;
m_dbName[0] = 0;
m_oradbNum = 0;
m_deleteNow = 0; // No
m_useNow = 0; // No
m_maxDisconnectTimes = 100;
m_disconnectTimes = 0;
m_rollback = -1; //forbid for rollback
m_port = 10009;
m_areacode = 0; // default value means normal area
m_serverport=13457;
// set the ftp initial value
m_ftpNum = 0;
strcpy(m_localDir, "c:\\");
m_shareDir[0] = 0;
// init the path to local directory
m_getFilePath[0] = '.';
m_getFilePath[1] = '\0';
m_putFilePath[0] = '.';
m_putFilePath[1] = '\0';
Init();
m_connectTime = 0;
}
CGlobal::~CGlobal()
{
for(int i=0;i<=m_oradbNum;i++)
delete m_oraInfo[i];
Exit();
m_instance = NULL;
m_oraList.RemoveAll();
}
void CGlobal::Init()
{
if( !ReadConfigFile() )
{
RTRACE(1, "read config file fail! I will use default parameter.");
}
}
void CGlobal::Exit()
{
}
/////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////
int CGlobal::GetDebugLevel(void)
{
return m_debugLevel;
}
int CGlobal::SetDebugLevel(int level)
{
m_debugLevel = level;
PTrace::SetLevel( level );
return 1;
}
char * CGlobal::GetLogFileName(void)
{
return m_logFile;
}
int CGlobal::SetLogFileName(const char * log)
{
strcpy(m_logFile, log);
return 1;
}
char * CGlobal::ConvertQuote(char * express)
{
static char tmp[SQL_SIZE+1];
int j=0;
for(int i=0; i < (int)strlen(express); i++)
{
if(express[i] == '\'')
{
tmp[i+j] = '\\';
j++;
tmp[i+j] = '\'';
}
else
tmp[i + j] = express[i];
}
return tmp;
}
//get the path of execute file
int GetConfigPath(char pathBuf[], char serverName[])
{
unsigned char pathBufTmp[256];
char subKey[256];
HKEY hKey;
DWORD pathBufSize = BUFSIZE;
int iResult=1; //1:failure 0:success
strcpy(subKey, "SYSTEM\\CurrentControlSet\\Services\\");
strcat(subKey, serverName);
if(RegOpenKey(HKEY_LOCAL_MACHINE, subKey, &hKey) == ERROR_SUCCESS)
{
if(RegQueryValueEx(hKey, "ImagePath", 0,
NULL,
pathBufTmp,
&pathBufSize) == ERROR_SUCCESS)
{
int i, j=0;
for(i=1;i<=(int)pathBufSize;i++)
{
if(pathBufTmp[pathBufSize - i] == '\\')
{
pathBufTmp[pathBufSize - i + 1] = 0;
break;
}
}
strcpy(pathBuf, (char*)pathBufTmp);
iResult = 0; //success
}
}
RTRACE(4, "The execute directory is " << pathBuf);
RegCloseKey(hKey);
return iResult;
}
// Transfer version from unsigned integer to string
int CGlobal::TransVer(int version)
{
char buf[10];
sprintf(buf, "%d", version);
int i=0;
while(buf[i] != '\0')
{
if(i != 0)
m_verString[2*i - 1] = '.';
m_verString[2 * i] = buf[i];
i ++;
}
m_verString[2 * i - 1] = 0;
return 0;
}
//get the datetime now.
void CGlobal::NowDateTime(char * now)
{
time_t tNow;
struct tm *tmNow;
time(&tNow);
tmNow = localtime(&tNow);
strftime(now, 20 , "%Y-%m-%d %H:%M:%S", tmNow);
}
/*
void CGlobal::GetServiceTypeFromFileName(PString fileName)
{
if(strlen(fileName) < 3)
return;
if(fileName[0] != 'M' && fileName[0] != 'm')
return;
if(fileName[1] == 't' || fileName[1] == 'T')
{
if(fileName[2] == 'f' || fileName[2] == 'F')
m_serviceType = 723;
else if(fileName[2] >= '0' && fileName[2] <= '9')
m_serviceType = 721;
}
if(fileName[1] == 'o' || fileName[1] == 'O')
{
if(fileName[2] == 'f' || fileName[2] == 'F')
m_serviceType = 722;
else if(fileName[2] >= '0' && fileName[2] <= '9')
m_serviceType = 720;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -