|
|
|
|
@@ -41,7 +41,7 @@ CFunctionCore * NewSelectableCore( const char * Name ) {
|
|
|
|
|
}
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
// Resolve action handlder
|
|
|
|
|
// Resolve action handler
|
|
|
|
|
void ResolveHandler( int Signal, siginfo_t * SignalInfo, void * Context )
|
|
|
|
|
{
|
|
|
|
|
TResolveReq * ResolveReq;
|
|
|
|
|
@@ -107,7 +107,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
CDataMember * SerialConfig;
|
|
|
|
|
THandle * Handle;
|
|
|
|
|
char * Type;
|
|
|
|
|
char * Name;
|
|
|
|
|
char * PortName;
|
|
|
|
|
char * Address;
|
|
|
|
|
char * Port;
|
|
|
|
|
char * ParityText;
|
|
|
|
|
@@ -133,7 +133,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
Type = (char*)HandleConfig->GetChStr( "Type", "TCPclient", true );
|
|
|
|
|
if (!strcasecmp( Type, "Serial" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Port/Name", NULL )) && (AddressDef = Application->AddressList->GetChild( Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Port/Name", NULL )) && (AddressDef = Application->AddressList->GetChild( PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
} else {
|
|
|
|
|
Address = (char*)HandleConfig->GetChStr( "Port/Address", NULL, true ); // Get default value
|
|
|
|
|
@@ -177,7 +177,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "LinePrinter" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Port/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Port/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
} else {
|
|
|
|
|
Address = (char*)HandleConfig->GetChStr( "Port/Address", NULL, true ); // Get default value
|
|
|
|
|
@@ -187,7 +187,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "UNIXserver" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
} else {
|
|
|
|
|
Address = (char*)HandleConfig->GetChStr( "Socket/Address", NULL, true ); // Get default Address value
|
|
|
|
|
@@ -198,7 +198,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "UNIXclient" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
} else {
|
|
|
|
|
Address = (char*)HandleConfig->GetChStr( "Socket/Address", NULL, true ); // Get default Address value
|
|
|
|
|
@@ -208,7 +208,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "UDPserver" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
Port = (char*)AddressDef->GetChStr( "Port", "0", true ); // Get AddressList Port value
|
|
|
|
|
} else {
|
|
|
|
|
@@ -220,7 +220,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "UDPclient" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
Port = (char*)AddressDef->GetChStr( "Port", "0", true ); // Get AddressList Port value
|
|
|
|
|
} else {
|
|
|
|
|
@@ -232,7 +232,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "TCPserver" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
Port = (char*)AddressDef->GetChStr( "Port", "0", true ); // Get AddressList Port value
|
|
|
|
|
} else {
|
|
|
|
|
@@ -245,7 +245,7 @@ bool CSelectableCore::Init( CDataMember * FunctionConfig )
|
|
|
|
|
}
|
|
|
|
|
else if (!strcasecmp( Type, "TCPclient" ))
|
|
|
|
|
{
|
|
|
|
|
if ((Name = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, Name ))) {
|
|
|
|
|
if ((PortName = (char*)HandleConfig->GetChStr( "Socket/Name", NULL )) && (AddressDef = GetHandleAddress( Handle, PortName ))) {
|
|
|
|
|
Address = (char*)AddressDef->GetChStr( "Address", NULL, true ); // Get address list value
|
|
|
|
|
Port = (char*)AddressDef->GetChStr( "Port", "0", true ); // Get AddressList Port value
|
|
|
|
|
} else {
|
|
|
|
|
|