Major update:

- Logging
  - Created LogCore Class
  - Updated LogCore to use file descriptors instead of stdout
  - Add Log object reference to constructors for:
    FunctionCore, SelectCore
  - Use extern Log() object in SignalCore
- SelectableCore
  - Added new connection type: ForkedPipe
    Create pipe, fork process, connect pipe out to child stdin, exec
This commit is contained in:
Charl Wentzel
2016-08-22 12:14:53 +02:00
parent eaace97ec9
commit 5ea05d119e
10 changed files with 366 additions and 125 deletions

View File

@@ -27,8 +27,8 @@ const float PI = 3.1415927;
//---------------------------------------------------------------------------
CFileCore::CFileCore( const char * Name, EDebugLevel pDebugLevel, int pOuputDisplay ) :
CFunctionCore( Name, pDebugLevel, pOuputDisplay )
CFileCore::CFileCore( const char * Name, CLogCore * pLog, EDebugLevel pDebugLevel, int pOuputDisplay ) :
CFunctionCore( Name, pLog, pDebugLevel, pOuputDisplay )
{
FirstFile = NULL;
@@ -143,7 +143,7 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
// temp
//char FilePath[50];
//sprintf( FilePath, "%s%03d", FileHandle->Path, x++ );
//LogMessage( DebugLevel, dlNone, "f: %s", FilePath );
//if (Log) Log->Message( DebugLevel, dlNone, "f: %s", FilePath );
// temp
// GEt file handle
@@ -160,7 +160,7 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
// temp
// Report result
LogMessage( DebugLevel, dlHigh, "%s: File '%s' - Opened", Name, FileHandle->Name );
if (Log) Log->Message( DebugLevel, dlHigh, "%s: File '%s' - Opened", Name, FileHandle->Name );
}
}
@@ -168,7 +168,7 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
if (!isOpen(FileHandle))
{
// Report result
LogMessage( DebugLevel, dlHigh, "%s: File '%s' - Could not open (%d) %s", Name, FileHandle->Name, errno, strerror(errno) );
if (Log) Log->Message( DebugLevel, dlHigh, "%s: File '%s' - Could not open (%d) %s", Name, FileHandle->Name, errno, strerror(errno) );
return false;
}
@@ -192,13 +192,13 @@ bool CFileCore::CloseFile( TFileHandle * FileHandle )
// Report result
if (!isOpen(FileHandle)) {
LogMessage( DebugLevel, dlHigh, "%s: File '%s' - Closed", Name, FileHandle->Name );
if (Log) Log->Message( DebugLevel, dlHigh, "%s: File '%s' - Closed", Name, FileHandle->Name );
} else {
LogMessage( DebugLevel, dlHigh, "%s: File '%s' - Could not close", Name, FileHandle->Name );
if (Log) Log->Message( DebugLevel, dlHigh, "%s: File '%s' - Could not close", Name, FileHandle->Name );
}
// temp
LogMessage( DebugLevel, dlNone, "%s: File '%s' - Bytes written %d (%d)", Name, FileHandle->Name, count, (count-5038848) );
if (Log) Log->Message( DebugLevel, dlNone, "%s: File '%s' - Bytes written %d (%d)", Name, FileHandle->Name, count, (count-5038848) );
// temp
}
@@ -282,7 +282,7 @@ int CFileCore::Input( const char * IOName, const char * Data, int MaxLen )
if (!(FileHandle = GetFile( IOName )))
{
// Log event
LogMessage( DebugLevel, dlHigh, "%s: Local IO '%s' - Input rejected, Local IO not found", Name, IOName );
if (Log) Log->Message( DebugLevel, dlHigh, "%s: Local IO '%s' - Input rejected, Local IO not found", Name, IOName );
return 0;
}