Minor Update:

- Pass printf Mask for Int/Float values on Get/Set methods
  - On GetValue use mask for default value
- Add SetArray() method
- Bug fix: Incorrect malloc size in SetValue()
- Bug fix: Len not calculated if -1 passed to SetValue()
- Set default value for Len = -1 on SetValue() methods
- Don't pass Len to SetValue() unless required
This commit is contained in:
Charl Wentzel
2017-03-27 04:29:11 +02:00
parent a22f60b152
commit 5691b22df9
3 changed files with 68 additions and 30 deletions

View File

@@ -56,7 +56,7 @@ private:
TDataMember ** GetMemberPtr( TDataMember * BaseMember, const char * Path, bool Create, TDataMember ** Parent = NULL );
// Set Member value
bool SetValue( TDataMember * Member, EDataType Type, const char * Value, const int Len );
bool SetValue( TDataMember * Member, EDataType Type, const char * Value = NULL, int Len = -1 );
bool SetValuePtr( TDataMember * Member, EDataType Type, char * Value, int Len );
public:
@@ -68,14 +68,15 @@ 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 long GetInt( TDataMember * BaseMember, const char * Path, long Default = 0, bool Create = false );
const double GetFloat( TDataMember * BaseMember, const char * Path, double Default = 0.0, bool Create = false );
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 );
bool SetObject( TDataMember * BaseMember, const char * Path );
bool SetArray( TDataMember * BaseMember, const char * Path );
bool SetStr( TDataMember * BaseMember, const char * Path, const char * Value = NULL, const int Len = -1 ); // Use Len param if Value contains NULL values
bool SetInt( TDataMember * BaseMember, const char * Path, const long Value );
bool SetFloat( TDataMember * BaseMember, const char * Path, const double Value );
bool SetInt( TDataMember * BaseMember, const char * Path, const long Value, const char * Mask = NULL );
bool SetFloat( TDataMember * BaseMember, const char * Path, const double Value, const char * Mask = NULL );
bool SetBool( TDataMember * BaseMember, const char * Path, const bool Value );
bool SetNull( TDataMember * BaseMember, const char * Path );