Major Update & Bug fixes:
- FileCore: - Replace dlNone -> dlLow - Remove temporary code used by CBaslerCamera - Function Core: - Add method SetDebugLevel() - Remove global parameter BaseMember; - JSONparse: - Print Bool parameters as true/false, not 1/0 - SelectCore: - Add method SetDebugLevel() - SignalCore: - Replace dlNone -> dlLow
This commit is contained in:
26
FileCore.cpp
26
FileCore.cpp
@@ -31,11 +31,6 @@ CFileCore::CFileCore( const char * Name, CLogCore * pLog, EDebugLevel pDebugLeve
|
|||||||
CFunctionCore( Name, pLog, pDebugLevel, pOuputDisplay )
|
CFunctionCore( Name, pLog, pDebugLevel, pOuputDisplay )
|
||||||
{
|
{
|
||||||
FirstFile = NULL;
|
FirstFile = NULL;
|
||||||
|
|
||||||
// temp
|
|
||||||
count = 0;
|
|
||||||
x = 0;
|
|
||||||
// temp
|
|
||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -140,12 +135,6 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
|
|||||||
// Open file if not already open
|
// Open file if not already open
|
||||||
if (!isOpen( FileHandle ))
|
if (!isOpen( FileHandle ))
|
||||||
{
|
{
|
||||||
// temp
|
|
||||||
//char FilePath[50];
|
|
||||||
//sprintf( FilePath, "%s%03d", FileHandle->Path, x++ );
|
|
||||||
//if (Log) Log->Message( DebugLevel, dlNone, "f: %s", FilePath );
|
|
||||||
// temp
|
|
||||||
|
|
||||||
// GEt file handle
|
// GEt file handle
|
||||||
(FileHandle)->FD = open( FileHandle->Path, O_WRONLY | O_CREAT | ((FileHandle->Append)? O_APPEND : O_TRUNC), 0664 );
|
(FileHandle)->FD = open( FileHandle->Path, O_WRONLY | O_CREAT | ((FileHandle->Append)? O_APPEND : O_TRUNC), 0664 );
|
||||||
|
|
||||||
@@ -155,10 +144,6 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
|
|||||||
// Set timer
|
// Set timer
|
||||||
SetStartTime( &(FileHandle->PersistTime) );
|
SetStartTime( &(FileHandle->PersistTime) );
|
||||||
|
|
||||||
// temp
|
|
||||||
count = 0;
|
|
||||||
// temp
|
|
||||||
|
|
||||||
// Report result
|
// Report result
|
||||||
if (Log) Log->Message( DebugLevel, dlHigh, "%s: File '%s' - Opened", Name, FileHandle->Name );
|
if (Log) Log->Message( DebugLevel, dlHigh, "%s: File '%s' - Opened", Name, FileHandle->Name );
|
||||||
}
|
}
|
||||||
@@ -196,11 +181,6 @@ bool CFileCore::CloseFile( TFileHandle * FileHandle )
|
|||||||
} else {
|
} else {
|
||||||
if (Log) Log->Message( 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
|
|
||||||
if (Log) Log->Message( DebugLevel, dlNone, "%s: File '%s' - Bytes written %d (%d)", Name, FileHandle->Name, count, (count-5038848) );
|
|
||||||
// temp
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -287,7 +267,7 @@ int CFileCore::Input( const char * ChannelName, const char * Data, int MaxLen )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
//ShowOutput( DebugLevel, dlHigh, OutputDisplay, Data, MaxLen, "%s: Channel '%s' - IN:", Name, ChannelName );
|
Log->Output( DebugLevel, dlHigh, OutputDisplay, Data, MaxLen, "%s: Channel '%s' - IN:", Name, ChannelName );
|
||||||
|
|
||||||
// Open file
|
// Open file
|
||||||
if (!OpenFile( FileHandle )) {
|
if (!OpenFile( FileHandle )) {
|
||||||
@@ -298,10 +278,6 @@ int CFileCore::Input( const char * ChannelName, const char * Data, int MaxLen )
|
|||||||
BytesWritten = WriteToFD( FileHandle->FD, Data, MaxLen );
|
BytesWritten = WriteToFD( FileHandle->FD, Data, MaxLen );
|
||||||
SetStartTime( &(FileHandle->PersistTime) );
|
SetStartTime( &(FileHandle->PersistTime) );
|
||||||
|
|
||||||
// temp
|
|
||||||
count += BytesWritten;
|
|
||||||
// temp
|
|
||||||
|
|
||||||
// Return processed bytes
|
// Return processed bytes
|
||||||
return BytesWritten;
|
return BytesWritten;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,11 +41,6 @@ private:
|
|||||||
// File
|
// File
|
||||||
TFileHandle * FirstFile;
|
TFileHandle * FirstFile;
|
||||||
|
|
||||||
// temp
|
|
||||||
int count;
|
|
||||||
int x;
|
|
||||||
// temp
|
|
||||||
|
|
||||||
// Manage File
|
// Manage File
|
||||||
virtual bool OpenFile( TFileHandle * FileHandle );
|
virtual bool OpenFile( TFileHandle * FileHandle );
|
||||||
virtual bool CloseFile( TFileHandle * FileHandle );
|
virtual bool CloseFile( TFileHandle * FileHandle );
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ CFunctionCore::CFunctionCore( const char * FunctionName, CLogCore * pLog, EDebug
|
|||||||
|
|
||||||
// Data Tree
|
// Data Tree
|
||||||
DataTree = NULL;
|
DataTree = NULL;
|
||||||
BaseMember = NULL;
|
|
||||||
|
|
||||||
// Channels
|
// Channels
|
||||||
FirstChannel = NULL;
|
FirstChannel = NULL;
|
||||||
@@ -101,15 +100,24 @@ CFunctionCore::~CFunctionCore()
|
|||||||
|
|
||||||
bool CFunctionCore::LoadConfig( CDataTree * pDataTree, const char * pBasePath )
|
bool CFunctionCore::LoadConfig( CDataTree * pDataTree, const char * pBasePath )
|
||||||
{
|
{
|
||||||
if (!(DataTree = pDataTree))
|
TDataMember * BaseMember;
|
||||||
return false;
|
|
||||||
if (!(BaseMember = DataTree->GetMember( NULL, pBasePath, true )))
|
// Validate
|
||||||
|
if (!(DataTree = pDataTree) ||
|
||||||
|
!(BaseMember = DataTree->GetMember( NULL, pBasePath, true )))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool CFunctionCore::SetDebugLevel( EDebugLevel pDebugLevel )
|
||||||
|
{
|
||||||
|
DebugLevel = pDebugLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
TChannel * CFunctionCore::AddChannel( const char * ChannelName, const bool pInputEnable, const bool pOutputEnable )
|
TChannel * CFunctionCore::AddChannel( const char * ChannelName, const bool pInputEnable, const bool pOutputEnable )
|
||||||
{
|
{
|
||||||
TChannel ** Channel = NULL;
|
TChannel ** Channel = NULL;
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ protected:
|
|||||||
|
|
||||||
// Configuration
|
// Configuration
|
||||||
CDataTree * DataTree;
|
CDataTree * DataTree;
|
||||||
TDataMember * BaseMember;
|
|
||||||
|
|
||||||
// Channels
|
// Channels
|
||||||
TChannel * FirstChannel;
|
TChannel * FirstChannel;
|
||||||
@@ -85,7 +84,9 @@ public:
|
|||||||
CFunctionCore( const char * FunctionName, CLogCore * pLog, EDebugLevel pDebugLevel, int pOuputDisplay );
|
CFunctionCore( const char * FunctionName, CLogCore * pLog, EDebugLevel pDebugLevel, int pOuputDisplay );
|
||||||
virtual ~CFunctionCore();
|
virtual ~CFunctionCore();
|
||||||
|
|
||||||
|
// Configuration
|
||||||
virtual bool LoadConfig( CDataTree * DataTree, const char * BasePath );
|
virtual bool LoadConfig( CDataTree * DataTree, const char * BasePath );
|
||||||
|
bool SetDebugLevel( EDebugLevel pDebugLevel );
|
||||||
|
|
||||||
// Miscellaneous
|
// Miscellaneous
|
||||||
inline const char * GetName() { return Name; };
|
inline const char * GetName() { return Name; };
|
||||||
|
|||||||
@@ -841,6 +841,12 @@ bool CJSONparse::PrintObject( TDataMember * Object, const int Indent )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case jtBool :
|
case jtBool :
|
||||||
|
if (!strcmp( Member->Value, "0" ))
|
||||||
|
write( OutputHandle, "false", 5 );
|
||||||
|
else
|
||||||
|
write( OutputHandle, "true", 4 );
|
||||||
|
break;
|
||||||
|
|
||||||
case jtInt :
|
case jtInt :
|
||||||
case jtFloat :
|
case jtFloat :
|
||||||
write( OutputHandle, Member->Value, Member->Len );
|
write( OutputHandle, Member->Value, Member->Len );
|
||||||
|
|||||||
@@ -66,6 +66,13 @@ CSelect::~CSelect()
|
|||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool CSelect::SetDebugLevel( EDebugLevel pDebugLevel )
|
||||||
|
{
|
||||||
|
DebugLevel = pDebugLevel;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
// Clear Select File Descriptors
|
// Clear Select File Descriptors
|
||||||
void CSelect::Clear()
|
void CSelect::Clear()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -141,6 +141,9 @@ public:
|
|||||||
CSelect( long SelectTimeout, CLogCore * pLog, EDebugLevel DebugLevel );
|
CSelect( long SelectTimeout, CLogCore * pLog, EDebugLevel DebugLevel );
|
||||||
~CSelect();
|
~CSelect();
|
||||||
|
|
||||||
|
// Parameters
|
||||||
|
bool SetDebugLevel( EDebugLevel pDebugLevel );
|
||||||
|
|
||||||
// Manage FDs
|
// Manage FDs
|
||||||
void Clear();
|
void Clear();
|
||||||
void Add( int FD, bool Read, bool Write, CSelectableCore * Function = NULL);
|
void Add( int FD, bool Read, bool Write, CSelectableCore * Function = NULL);
|
||||||
|
|||||||
@@ -88,12 +88,12 @@ void SignalTerminate( int sig )
|
|||||||
// Create Log Entry
|
// Create Log Entry
|
||||||
if (Log)
|
if (Log)
|
||||||
{
|
{
|
||||||
Log->Message( dlNone, dlNone, "%s: ** %s signal received [%d] **", ProcessName, SigName, TermCount );
|
Log->Message( dlLow, dlLow, "%s: ** %s signal received [%d] **", ProcessName, SigName, TermCount );
|
||||||
// Check for Terminate Limit
|
// Check for Terminate Limit
|
||||||
if (TermCount < MaxTermCount) {
|
if (TermCount < MaxTermCount) {
|
||||||
Log->Message( dlNone, dlNone, "%s: ** Terminating normally... **", ProcessName );
|
Log->Message( dlLow, dlLow, "%s: ** Terminating normally... **", ProcessName );
|
||||||
} else {
|
} else {
|
||||||
Log->Message( dlNone, dlNone, "%s: ** Terminating immediately! **", ProcessName );
|
Log->Message( dlLow, dlLow, "%s: ** Terminating immediately! **", ProcessName );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -138,8 +138,8 @@ void SignalAbort( int sig )
|
|||||||
|
|
||||||
// Create Log Entry - but don't post
|
// Create Log Entry - but don't post
|
||||||
if (Log) {
|
if (Log) {
|
||||||
Log->Message( dlNone, dlNone, "%s: ** %s signal received **", ProcessName, SigName );
|
Log->Message( dlLow, dlLow, "%s: ** %s signal received **", ProcessName, SigName );
|
||||||
Log->Message( dlNone, dlNone, "%s: ** Terminating immediately! **", ProcessName );
|
Log->Message( dlLow, dlLow, "%s: ** Terminating immediately! **", ProcessName );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
std::cerr << ProcessName << ": ** " << SigName << " signal received **" << std::endl;
|
std::cerr << ProcessName << ": ** " << SigName << " signal received **" << std::endl;
|
||||||
|
|||||||
Reference in New Issue
Block a user