reman3/Rayman_X/cpa/tempgrp/ERO/Src/ErO_Op.cpp

172 lines
5.1 KiB
C++

// Error Operator
//
// Defined by YB
//////////////////////////
#include "StdAfx.h"
#include "ErOTeam.hpp"
#undef CPA_WANTS_IMPORT
#undef CPA_EXPORT
#define CPA_WANTS_EXPORT
#include "ErO_Err.hpp"
#undef CPA_WANTS_EXPORT
#define CPA_WANTS_IMPORT
//Module Info
CString g_csModuleName;
//Source Info
CString g_csCurrentFileName;
short g_wCurrentFileLine;
CString g_csLastModif;
//Global Info
CString g_csCurrentAction;
CString g_csCurrentFunction;
CString g_csAddedInfo;
enum ERROR_eErrorGravity g_eErrorGravity;
//Script Info
CString g_csCurrentScriptFileName;
short g_wCurrentScriptLine;
//Programmers Info
ErrorOperator_TeamList g_clListOfTeams;
CStringList g_cslGravityMessages;
CStringList g_cslGravityExplanations;
extern HMODULE g_hModule;
//************************************************************************************
void ERROR_g_fn_vSetGlobalInfo(CString _csCurrentAction,
CString _csCurrentFunction,
enum ERROR_eErrorGravity _eErrorGravity,
CString _csAddedInfo,
CString _csModuleName /*= ""*/)
{
g_eErrorGravity = _eErrorGravity;
g_csCurrentAction = _csCurrentAction;
g_csCurrentFunction = _csCurrentFunction;
g_csAddedInfo = _csAddedInfo;
g_csModuleName = _csModuleName;
}
//************************************************************************************
void ERROR_g_fn_vSetSourceInfo(CString _csCurrentSourceFile,
short _wLine,
CString _csDate)
{
g_csCurrentFileName = _csCurrentSourceFile;
g_wCurrentFileLine = _wLine;
g_csLastModif = _csDate;
}
//************************************************************************************
void ERROR_g_fn_vResetGlobalInfo()
{
g_eErrorGravity = E_ERROR_GRAVITY_UNKNOWN;
g_csCurrentAction = "";
g_csCurrentFunction = "";
g_csAddedInfo = "";
g_csModuleName = "";
}
//************************************************************************************
void ERROR_g_fn_vResetSourceInfo()
{
g_csCurrentFileName = "";
g_wCurrentFileLine = -1;
g_csLastModif = "";
}
//************************************************************************************
void ERROR_g_fn_vSetScriptInfo(CString _csCurrentScriptFileName,
short _wCurrentScriptFileLine)
{
g_csCurrentScriptFileName = _csCurrentScriptFileName;
g_wCurrentScriptLine = _wCurrentScriptFileLine;
}
//************************************************************************************
void ERROR_g_fn_vResetScriptInfo()
{
g_csCurrentScriptFileName = "";
g_wCurrentScriptLine = -1;
}
//************************************************************************************
void ERROR_g_fn_vAddAModuleDescriptor(CString _csModuleName,
CString _csModuleVersion,
CString _csMainProgrammerName,
CString _csMainProgrammerPhoneNumber,
CString _csMainProgrammerEMailAddress,
CString _csResponsibleName,
CString _csResponsiblePhoneNumber,
CString _csResponsibleEMailAddress,
CString _csSecondProgrammerName,
CString _csSecondProgrammerPhoneNumber,
CString _csSecondProgrammerEMailAddress
)
{
g_clListOfTeams.m_pub_fn_pclAddTeam(_csModuleName,
_csModuleVersion,
_csMainProgrammerName,
_csMainProgrammerPhoneNumber,
_csMainProgrammerEMailAddress,
_csResponsibleName,
_csResponsiblePhoneNumber,
_csResponsibleEMailAddress,
_csSecondProgrammerName,
_csSecondProgrammerPhoneNumber,
_csSecondProgrammerEMailAddress);
//Updates File
//Initializing file name
char a_cBuffer[MAX_PATH];
GetModuleFileName(g_hModule, a_cBuffer, MAX_PATH);
CString csFileName = a_cBuffer;
short wIndex = csFileName.ReverseFind('\\');
if ( wIndex != -1 )
csFileName = csFileName.Left(wIndex + 1);
csFileName += "ErrorOut.txt";
CStdioFile cfErrorOutFile;
if ( cfErrorOutFile.Open(csFileName, CFile::modeReadWrite | CFile::modeCreate | CFile::typeText ) )
{
CString csCurrentString;
csCurrentString = "Error Operator Module\n";
cfErrorOutFile.WriteString(csCurrentString);
csCurrentString = "---------------------\n";
cfErrorOutFile.WriteString(csCurrentString);
csCurrentString = "\n";
cfErrorOutFile.WriteString(csCurrentString);
csCurrentString = "At last run, known modules were :\n";
cfErrorOutFile.WriteString(csCurrentString);
csCurrentString = "\n";
cfErrorOutFile.WriteString(csCurrentString);
ErrorOperator_Team *pclCurrentTeam;
POSITION pos = g_clListOfTeams.GetHeadPosition();
while ( pos != NULL )
{
pclCurrentTeam = g_clListOfTeams.GetNext(pos);
csCurrentString = pclCurrentTeam->m_csModuleName + " (" + pclCurrentTeam->m_csMainProgrammerName + ")\n";
cfErrorOutFile.WriteString(csCurrentString);
}
csCurrentString = "\n";
cfErrorOutFile.WriteString(csCurrentString);
csCurrentString = "---------------------\n";
cfErrorOutFile.WriteString(csCurrentString);
cfErrorOutFile.Close();
}
}