Exemple #1
0
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);
}