Important Update:
- DataTreeCore: - Add GetLen() method to get length of (text) value - FileCore: - Minor fix: rename MaxLen -> Len
This commit is contained in:
@@ -554,6 +554,21 @@ const char * CDataTree::GetStr( TDataMember * BaseMember, const char * Path, int
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
const int CDataTree::GetLen( TDataMember * BaseMember, const char * Path )
|
||||
{
|
||||
TDataMember * Member;
|
||||
|
||||
// Validate
|
||||
if ((Member = GetMember( BaseMember, Path, false )) &&
|
||||
((Member->Type == jtString) || (Member->Type == jtFloat) || (Member->Type == jtInt) || (Member->Type == jtBool)) ) {
|
||||
return Member->Len;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
const long CDataTree::GetInt( TDataMember * BaseMember, const char * Path, long Default, bool Create, const char * Mask )
|
||||
{
|
||||
TDataMember * Member;
|
||||
|
||||
@@ -73,6 +73,7 @@ public:
|
||||
|
||||
const char * GetStr( TDataMember * BaseMember, const char * Path, const char * Default = NULL, bool Create = false );
|
||||
const char * GetStr( TDataMember * BaseMember, const char * Path, int &Len, const char * Default = NULL, bool Create = false );
|
||||
const int GetLen( TDataMember * BaseMember, const char * Path );
|
||||
const long GetInt( TDataMember * BaseMember, const char * Path, long Default = 0, bool Create = false, const char * Mask = NULL );
|
||||
const double GetFloat( TDataMember * BaseMember, const char * Path, double Default = 0.0, bool Create = false, const char * Mask = NULL );
|
||||
const bool GetBool( TDataMember * BaseMember, const char * Path, bool Default = false, bool Create = false );
|
||||
|
||||
10
FileCore.cpp
10
FileCore.cpp
@@ -240,7 +240,7 @@ int CFileCore::WriteToFD( int FD, const char * Data, int Len )
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// Manual Data Input/Output
|
||||
int CFileCore::Input( const char * ChannelName, const char * Data, int MaxLen )
|
||||
int CFileCore::Input( const char * ChannelName, const char * Data, int Len )
|
||||
{
|
||||
TFileHandle * FileHandle = NULL;
|
||||
int BytesWritten = 0;
|
||||
@@ -249,8 +249,8 @@ int CFileCore::Input( const char * ChannelName, const char * Data, int MaxLen )
|
||||
if (!ChannelName || !Data) {
|
||||
return 0;
|
||||
}
|
||||
else if (MaxLen == -1) {
|
||||
MaxLen = strlen( Data );
|
||||
else if (Len == -1) {
|
||||
Len = strlen( Data );
|
||||
};
|
||||
|
||||
// Get Channel
|
||||
@@ -262,7 +262,7 @@ int CFileCore::Input( const char * ChannelName, const char * Data, int MaxLen )
|
||||
}
|
||||
|
||||
// Log event
|
||||
Log->Output( LogLevel, dlHigh, LogOutput, Data, MaxLen, "%s: Channel '%s' - IN:", Name, ChannelName );
|
||||
Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s: Channel '%s' - IN:", Name, ChannelName );
|
||||
|
||||
// Open file
|
||||
if (!OpenFile( FileHandle )) {
|
||||
@@ -270,7 +270,7 @@ int CFileCore::Input( const char * ChannelName, const char * Data, int MaxLen )
|
||||
}
|
||||
|
||||
// Handle Incoming data
|
||||
BytesWritten = WriteToFD( FileHandle->FD, Data, MaxLen );
|
||||
BytesWritten = WriteToFD( FileHandle->FD, Data, Len );
|
||||
SetStartTime( &(FileHandle->PersistTime) );
|
||||
|
||||
// Return processed bytes
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
virtual bool SetFilePersistence( TFileHandle * FileHandle, bool Persistent, int PersistTimeout );
|
||||
|
||||
// Data Input
|
||||
virtual int Input( const char * ChannelName, const char * Data, int MaxLen = -1 );
|
||||
virtual int Input( const char * ChannelName, const char * Data, int Len = -1 );
|
||||
|
||||
// Processing data
|
||||
virtual bool Process();
|
||||
|
||||
Reference in New Issue
Block a user