Important Update:
- DataTreeCore: - Rename all Get/SetChild...() methods to Get/SetMem...() - Update all other objects with new methods
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user