Important Updates:

- DataTreeCore:
  - Allow types float, int & bool to be read as strings with GetStr()
- LogCore:
  - Add comments to Logging parameters
- WatchDogCore:
  - Call CSelectableCore::Process() in Process() to manage connect
- SelectableCore:
  - Allow SetSocketHandle() to be called if Handle already set as socket
  - added strlcase() method to convert string to lower case
  - Update Handle structure:
    - renamed Address -> HostName
    - renamed PortNo -> PortName
    - added AddressList for all resolved addresses
    - added AddressInfo for active address
  - Add ResolveAddress() method
    - Domain name and protocol port resolving with GetAddrInfo()
  - JSON updated:
    - domain name can be provided instead of IP address
    - protocol can be specified instead of Port No, e.g. "HTTP" / "SSH"
  - Resolve address before connect, or use next resolved address
This commit is contained in:
Charl Wentzel
2017-07-22 09:40:17 +02:00
parent c32875509d
commit aaf3c59727
6 changed files with 174 additions and 84 deletions

View File

@@ -521,7 +521,8 @@ const char * CDataTree::GetStr( TDataMember * BaseMember, const char * Path, con
TDataMember * Member;
// Validate
if ((Member = GetMember( BaseMember, Path, Create )) && (Member->Type == jtString)) {
if ((Member = GetMember( BaseMember, Path, Create )) &&
((Member->Type == jtString) || (Member->Type == jtFloat) || (Member->Type == jtInt) || (Member->Type == jtBool)) ) {
return Member->Value;
}
else if (Member && Create && (Member->Type == jtNull)) {
@@ -539,7 +540,8 @@ const char * CDataTree::GetStr( TDataMember * BaseMember, const char * Path, int
TDataMember * Member;
// Validate
if ((Member = GetMember( BaseMember, Path, Create )) && (Member->Type == jtString)) {
if ((Member = GetMember( BaseMember, Path, Create )) &&
((Member->Type == jtString) || (Member->Type == jtFloat) || (Member->Type == jtInt) || (Member->Type == jtBool)) ) {
Len = Member->Len;
return Member->Value;
}