Important Update:

- DataTreeCore:
  - Rename all Get/SetChild...() methods to Get/SetMem...()
- Update all other objects with new methods
This commit is contained in:
Charl Wentzel
2018-11-17 20:02:47 +02:00
parent f2a1ca950a
commit 2382ff4527
6 changed files with 89 additions and 89 deletions

View File

@@ -94,24 +94,24 @@ bool CSelectableCore::LoadConfigData()
// Create Handle and channel link
Handle = CreateHandle( TempMember->GetName(), false );
Handle->Channel = GetChannel( TempMember->GetChildStr( "Channel" ) );
Handle->Channel = GetChannel( TempMember->GetMemStr( "Channel" ) );
Type = (char*)TempMember->GetChildStr( "Type", "TCPclient", true );
Type = (char*)TempMember->GetMemStr( "Type", "TCPclient", true );
if (!strcasecmp( Type, "Serial" ))
{
if ((Name = (char*)TempMember->GetChildStr( "Port/Name", NULL ))) {
if ((Name = (char*)TempMember->GetMemStr( "Port/Name", NULL ))) {
sprintf( Path, "Address/%s/Address", Name );
Address = (char*)DataTree->GetChildStr( Path, NULL, true ); // Get address list value
Address = (char*)DataTree->GetMemStr( Path, NULL, true ); // Get address list value
}
else {
Address = (char*)TempMember->GetChildStr( "Port/Address", NULL, true ); // Get default value
Address = (char*)TempMember->GetMemStr( "Port/Address", NULL, true ); // Get default value
}
SetSerialHandle( Handle, Address );
// Update configuration if specified
if ((SerialConfig = TempMember->GetMember( "Port/SerialConfig", false )))
{
ParityText = (char*)SerialConfig->GetChildStr( "Parity", "none", true );
ParityText = (char*)SerialConfig->GetMemStr( "Parity", "none", true );
if (!strcasecmp( ParityText, "none" ))
Parity = NO_PARITY;
else if (!strcasecmp( ParityText, "odd" ))
@@ -121,7 +121,7 @@ bool CSelectableCore::LoadConfigData()
else if (!strcasecmp( ParityText, "mark" ))
Parity = MARK_PARITY;
FlowCtrlText = (char*)SerialConfig->GetChildStr( "FlowCtrl", "none", true );
FlowCtrlText = (char*)SerialConfig->GetMemStr( "FlowCtrl", "none", true );
if (!strcasecmp( FlowCtrlText, "none" ))
FlowCtrl = NO_FLOWCTRL;
else if (!strcasecmp( FlowCtrlText, "hardware" ))
@@ -130,70 +130,70 @@ bool CSelectableCore::LoadConfigData()
FlowCtrl = SW_FLOWCTRL;
Handle->SerialConfig = true;
SetSerialHandleConfig( Handle, SerialConfig->GetChildInt( "BaudRate", 19200, true ),
SerialConfig->GetChildInt( "DataBits", 8, true ),
Parity, SerialConfig->GetChildInt( "StopBits", 1, true ),
FlowCtrl, SerialConfig->GetChildInt( "DataWait", 0, true ));
SetSerialHandleConfig( Handle, SerialConfig->GetMemInt( "BaudRate", 19200, true ),
SerialConfig->GetMemInt( "DataBits", 8, true ),
Parity, SerialConfig->GetMemInt( "StopBits", 1, true ),
FlowCtrl, SerialConfig->GetMemInt( "DataWait", 0, true ));
}
}
else if (!strcasecmp( Type, "LinePrinter" ))
{
if ((Name = (char*)TempMember->GetChildStr( "Port/Name", NULL ))) {
if ((Name = (char*)TempMember->GetMemStr( "Port/Name", NULL ))) {
sprintf( Path, "Address/%s/Address", Name );
Address = (char*)DataTree->GetChildStr( Path, NULL, true ); // Get address list value
Address = (char*)DataTree->GetMemStr( Path, NULL, true ); // Get address list value
}
else {
Address = (char*)TempMember->GetChildStr( "Port/Address", NULL, true ); // Get default value
Address = (char*)TempMember->GetMemStr( "Port/Address", NULL, true ); // Get default value
}
SetLinePrinterHandle( Handle, Address );
}
else if (!strcasecmp( Type, "TCPserver" ))
{
if ((Name = (char*)TempMember->GetChildStr( "Socket/Name", NULL ))) {
if ((Name = (char*)TempMember->GetMemStr( "Socket/Name", NULL ))) {
sprintf( Path, "Address/%s/Address", Name );
Address = (char*)DataTree->GetChildStr( Path, NULL, true ); // Get AddressList Address value
Address = (char*)DataTree->GetMemStr( Path, NULL, true ); // Get AddressList Address value
sprintf( Path, "Address/%s/Port", Name );
Port = (char*)DataTree->GetChildStr( Path, "0", true ); // Get AddressList Port value
Port = (char*)DataTree->GetMemStr( Path, "0", true ); // Get AddressList Port value
}
else {
Address = (char*)TempMember->GetChildStr( "Socket/Address", NULL, true ); // Get default Address value
Port = (char*)TempMember->GetChildStr( "Socket/Port", "0", true ); // Get default Port value
Address = (char*)TempMember->GetMemStr( "Socket/Address", NULL, true ); // Get default Address value
Port = (char*)TempMember->GetMemStr( "Socket/Port", "0", true ); // Get default Port value
}
Delay = TempMember->GetChildInt( "Socket/ResolveDelay", 0, true );
Delay = TempMember->GetMemInt( "Socket/ResolveDelay", 0, true );
SetSocketHandle( Handle, ctServer, Address, strlcase(Port), Delay );
}
else if (!strcasecmp( Type, "TCPclient" ))
{
if ((Name = (char*)TempMember->GetChildStr( "Socket/Name", NULL ))) {
if ((Name = (char*)TempMember->GetMemStr( "Socket/Name", NULL ))) {
sprintf( Path, "Address/%s/Address", Name );
Address = (char*)DataTree->GetChildStr( Path, NULL, true ); // Get AddressList Address value
Address = (char*)DataTree->GetMemStr( Path, NULL, true ); // Get AddressList Address value
sprintf( Path, "Address/%s/Port", Name );
Port = (char*)DataTree->GetChildStr( Path, "0", true ); // Get AddressList Port value
Port = (char*)DataTree->GetMemStr( Path, "0", true ); // Get AddressList Port value
}
else {
Address = (char*)TempMember->GetChildStr( "Socket/Address", NULL, true ); // Get default Address value
Port = (char*)TempMember->GetChildStr( "Socket/Port", "0", true ); // Get default Port value
Address = (char*)TempMember->GetMemStr( "Socket/Address", NULL, true ); // Get default Address value
Port = (char*)TempMember->GetMemStr( "Socket/Port", "0", true ); // Get default Port value
}
Delay = TempMember->GetChildInt( "Socket/ResolveDelay", 0, true );
Delay = TempMember->GetMemInt( "Socket/ResolveDelay", 0, true );
SetSocketHandle( Handle, ctClient, Address, strlcase(Port), Delay );
}
else if (!strcasecmp( Type, "ForkPipe" )) {
Address = (char*)TempMember->GetChildStr( "Fork/ExecPath", NULL, true ); // Get default value
Address = (char*)TempMember->GetMemStr( "Fork/ExecPath", NULL, true ); // Get default value
SetForkPipeHandle( Handle, Address );
}
// Set Auto Mange
SetAutoManage( Handle, TempMember->GetChildBool( "AutoManage/Enabled", true, true ),
TempMember->GetChildBool( "AutoManage/Persistent", false, true ),
TempMember->GetChildInt( "AutoManage/ReopenDelay", 2000, true ),
TempMember->GetChildInt( "AutoManage/CloseTimeout", 2000, true ));
SetAutoManage( Handle, TempMember->GetMemBool( "AutoManage/Enabled", true, true ),
TempMember->GetMemBool( "AutoManage/Persistent", false, true ),
TempMember->GetMemInt( "AutoManage/ReopenDelay", 2000, true ),
TempMember->GetMemInt( "AutoManage/CloseTimeout", 2000, true ));
// Input buffer
SetInBuffer( Handle, TempMember->GetChildInt( "InputBuffer/Size", 0 ),
TempMember->GetChildInt( "InputBuffer/Timeout", 250 ),
TempMember->GetChildStr( "InputBuffer/Marker", "" ),
TempMember->GetChildInt( "InputBuffer/MarkerLen", 0 ) );
SetOutBuffer( Handle, TempMember->GetChildInt( "OutputBuffer/Size", 0 ) );
SetInBuffer( Handle, TempMember->GetMemInt( "InputBuffer/Size", 0 ),
TempMember->GetMemInt( "InputBuffer/Timeout", 250 ),
TempMember->GetMemStr( "InputBuffer/Marker", "" ),
TempMember->GetMemInt( "InputBuffer/MarkerLen", 0 ) );
SetOutBuffer( Handle, TempMember->GetMemInt( "OutputBuffer/Size", 0 ) );
// Next
TempMember = TempMember->GetNextPeer();