bool CPacketProcess::Initialize() { SProfile()->SetFile("config.ini"); SProfile()->SetSection("DataBase"); m_nUseDB = SProfile()->GetPrivateProfileInt("UseDatabase", 1); ServerLog()->Log("Use Database : %s", ((m_nUseDB) ? "Yes" : "No")); if(m_nUseDB) { char szDBname[50], szIP[50], szUser[50], szPassword[50]; SProfile()->GetPrivateProfileString("DBName", "", szDBname, 50); SProfile()->GetPrivateProfileString("DBIP", "", szIP, 50); SProfile()->GetPrivateProfileString("DBUser", "", szUser, 50); SProfile()->GetPrivateProfileString("DBPassword", "", szPassword, 50); if(!DBInitialize(szDBname, szIP, szUser, szPassword)) { ServerLog()->Log("Database Initialize Error."); return false; } ServerLog()->Log("Database Create Success."); } return true; }
logical CTX_DBBase :: ExecuteAction (DB_Event intevent ) { logical term = NO; BEGINSEQ if ( !this ) LEAVESEQ switch ( intevent ) { case DBO_Opened : term = DBOpened(); break; case DBO_Initialize : term = DBInitialize(); break; case DBO_Created : if ( !(term = DBCreated()) ) intern_states.data_state = DAT_Filled; break; case DBO_NotCreated : term = DBNotCreated(); break; case DBO_Read : if ( !(term = DBRead()) ) intern_states.data_state = DAT_Filled; break; case DBO_Reset : term = DBReset(); break; case DBO_Stored : term = DBStored(); break; case DBO_Inserted : if ( !(term = DBInserted()) ) intern_states.data_state = DAT_Filled; break; case DBO_NotInserted: term = DBNotInserted(); break; case DBO_Removed : term = DBRemoved(); break; case DBO_NotRemoved : term = DBNotRemoved(); break; case DBO_Deleted : term = DBDeleted(); break; case DBO_NotDeleted : term = DBNotDeleted(); break; case DBO_Refresh : term = DBRefresh(); break; case DBO_NotOpened : term = DBNotOpened(); break; case DBO_Close : term = DBClose(); break; case DBP_Read : term = DBBeforeRead(); break; case DBP_Create : term = DBCreate(); break; case DBP_Modify : term = DBModify(); break; case DBP_Store : term = DBStore(); break; case DBP_Insert : term = DBInsert(); break; case DBP_Open : term = DBOpen(); break; case DBP_Remove : term = DBRemove(); break; case DBP_Delete : term = DBDelete(); break; case DBP_Select : term = DBSelect(); break; case DB_undefined : LEAVESEQ default : ERROR } RECOVER term = YES; ENDSEQ return(term); }