Major Update:
- FunctionCore, SelectCore, SelectableCore, DeviceCore, FileCore: - Update Logs to show [ProcessName]/[FunctionName] - SelectableCore: - Update ConnectTypeName array (more readable) - Return THandle on all OpenXxxx() methods - Do not remove select handle for UDPremoteClient (same handle as server) - Add correct Handle when adding RemoteClient to Selector
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
// Global Vars
|
// Global Vars
|
||||||
//extern char * ProcessName;
|
extern char * ProcessName;
|
||||||
//extern CApplication * Application;
|
//extern CApplication * Application;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -93,7 +93,8 @@ bool CDeviceCore::DeviceOnline( TDevice * Device, bool Online )
|
|||||||
|
|
||||||
// Log Event
|
// Log Event
|
||||||
Device->Online = Online;
|
Device->Online = Online;
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Device '%s' %s", Name, Device->Name, ((Online)? "online" : "offline") );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Device '%s' %s",
|
||||||
|
ProcessName, Name, Device->Name, ((Online)? "online" : "offline") );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -119,11 +120,13 @@ bool CDeviceCore::CheckReplyTimeout( int TimeoutPollStep )
|
|||||||
// Handle No Reply / Retry
|
// Handle No Reply / Retry
|
||||||
if (PollRetry < MaxRetries) {
|
if (PollRetry < MaxRetries) {
|
||||||
// Log Event
|
// Log Event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - %s timeout, retry [%d]", Name, DeviceChannel->Name, ActiveDevice->Name, PollRetry );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - %s timeout, retry [%d]",
|
||||||
|
ProcessName, Name, DeviceChannel->Name, ActiveDevice->Name, PollRetry );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Log Event
|
// Log Event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - %s timeout, max [%d]", Name, DeviceChannel->Name, ActiveDevice->Name, PollRetry );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - %s timeout, max [%d]",
|
||||||
|
ProcessName, Name, DeviceChannel->Name, ActiveDevice->Name, PollRetry );
|
||||||
|
|
||||||
// Set Device Offline
|
// Set Device Offline
|
||||||
DeviceOnline( ActiveDevice, false );
|
DeviceOnline( ActiveDevice, false );
|
||||||
@@ -162,7 +165,8 @@ TDevice * CDeviceCore::AddDevice( const char * DeviceName )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Report creation
|
// Report creation
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: Device added - '%s'", Name, DeviceName );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: Device added - '%s'",
|
||||||
|
ProcessName, Name, DeviceName );
|
||||||
|
|
||||||
return *Device;
|
return *Device;
|
||||||
}
|
}
|
||||||
@@ -315,7 +319,8 @@ TDeviceParam * CDeviceCore::AddDeviceParam( TDevice * Device, const char * Param
|
|||||||
(*Param)->Changed = true;
|
(*Param)->Changed = true;
|
||||||
|
|
||||||
// Report creation
|
// Report creation
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: Param added - '%s' (%s)", Name, ParamName, DataTypeName[DataType] );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: Param added - '%s' (%s)",
|
||||||
|
ProcessName, Name, ParamName, DataTypeName[DataType] );
|
||||||
|
|
||||||
return *Param;
|
return *Param;
|
||||||
}
|
}
|
||||||
@@ -386,7 +391,8 @@ bool CDeviceCore::UpdateUnsignedValue( TDeviceParam * Param, const u_int32_t Val
|
|||||||
|
|
||||||
// Mark change & log event
|
// Mark change & log event
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %u", Name, Param->Name, ((Init)? "initialised" : "changed"), *((u_int16_t*)Param->Value) );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %u", ProcessName, Name,
|
||||||
|
Param->Name, ((Init)? "initialised" : "changed"), *((u_int16_t*)Param->Value) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -398,7 +404,8 @@ bool CDeviceCore::UpdateUnsignedValue( TDeviceParam * Param, const u_int32_t Val
|
|||||||
|
|
||||||
// Mark change & log event
|
// Mark change & log event
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %u", Name, Param->Name, ((Init)? "initialised" : "changed"), *((u_int32_t*)Param->Value) );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %u", ProcessName, Name,
|
||||||
|
Param->Name, ((Init)? "initialised" : "changed"), *((u_int32_t*)Param->Value) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -410,7 +417,8 @@ bool CDeviceCore::UpdateUnsignedValue( TDeviceParam * Param, const u_int32_t Val
|
|||||||
|
|
||||||
// Mark change & log event
|
// Mark change & log event
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %f", Name, Param->Name, ((Init)? "initialised" : "changed"), *((float*)Param->Value) );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %f", ProcessName, Name,
|
||||||
|
Param->Name, ((Init)? "initialised" : "changed"), *((float*)Param->Value) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -445,7 +453,8 @@ bool CDeviceCore::UpdateSignedValue( TDeviceParam * Param, const int32_t Value,
|
|||||||
|
|
||||||
// Mark change & log event
|
// Mark change & log event
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %d", Name, Param->Name, ((Init)? "initialised" : "changed"), *((int16_t*)Param->Value) );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %d", ProcessName, Name,
|
||||||
|
Param->Name, ((Init)? "initialised" : "changed"), *((int16_t*)Param->Value) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -457,7 +466,8 @@ bool CDeviceCore::UpdateSignedValue( TDeviceParam * Param, const int32_t Value,
|
|||||||
|
|
||||||
// Mark change & log event
|
// Mark change & log event
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %d", Name, Param->Name, ((Init)? "initialised" : "changed"), *((int32_t*)Param->Value) );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %d", ProcessName, Name, Param->Name,
|
||||||
|
((Init)? "initialised" : "changed"), *((int32_t*)Param->Value) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -492,7 +502,8 @@ bool CDeviceCore::UpdateFloatValue( TDeviceParam * Param, const float Value, boo
|
|||||||
|
|
||||||
// Mark change & log event
|
// Mark change & log event
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %f", Name, Param->Name, ((Init)? "initialised" : "changed"), *((float*)Param->Value) );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %f", ProcessName, Name,
|
||||||
|
Param->Name, ((Init)? "initialised" : "changed"), *((float*)Param->Value) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -537,7 +548,8 @@ bool CDeviceCore::UpdateStringValue( TDeviceParam * Param, const char * Value, c
|
|||||||
|
|
||||||
// Mark Change
|
// Mark Change
|
||||||
Changed = true;
|
Changed = true;
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: '%s' %s - %s", Name, Param->Name, ((Init)? "initialised" : "changed"), (char*)Param->Value );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: '%s' %s - %s", ProcessName, Name,
|
||||||
|
Param->Name, ((Init)? "initialised" : "changed"), (char*)Param->Value );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
20
FileCore.cpp
20
FileCore.cpp
@@ -17,7 +17,7 @@
|
|||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
// Global Vars
|
// Global Vars
|
||||||
//extern char * ProcessName;
|
extern char * ProcessName;
|
||||||
//extern CApplication * Application;
|
//extern CApplication * Application;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -140,7 +140,8 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
|
|||||||
SetStartTime( &(FileHandle->PersistTime) );
|
SetStartTime( &(FileHandle->PersistTime) );
|
||||||
|
|
||||||
// Report result
|
// Report result
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: File '%s' - Opened", Name, FileHandle->Name );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: File '%s' - Opened",
|
||||||
|
ProcessName, Name, FileHandle->Name );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +149,8 @@ bool CFileCore::OpenFile( TFileHandle * FileHandle )
|
|||||||
if (!isOpen(FileHandle))
|
if (!isOpen(FileHandle))
|
||||||
{
|
{
|
||||||
// Report result
|
// Report result
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: File '%s' - Could not open (%d) %s", Name, FileHandle->Name, errno, strerror(errno) );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: File '%s' - Could not open (%d) %s",
|
||||||
|
ProcessName, Name, FileHandle->Name, errno, strerror(errno) );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,9 +174,11 @@ bool CFileCore::CloseFile( TFileHandle * FileHandle )
|
|||||||
|
|
||||||
// Report result
|
// Report result
|
||||||
if (!isOpen(FileHandle)) {
|
if (!isOpen(FileHandle)) {
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: File '%s' - Closed", Name, FileHandle->Name );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: File '%s' - Closed",
|
||||||
|
ProcessName, Name, FileHandle->Name );
|
||||||
} else {
|
} else {
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: File '%s' - Could not close", Name, FileHandle->Name );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: File '%s' - Could not close",
|
||||||
|
ProcessName, Name, FileHandle->Name );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -270,12 +274,14 @@ int CFileCore::Input( const char * ChannelName, const char * Data, int Len )
|
|||||||
if (!(FileHandle = GetFile( ChannelName )))
|
if (!(FileHandle = GetFile( ChannelName )))
|
||||||
{
|
{
|
||||||
// Log event
|
// Log event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Input rejected, Channel not found", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Input rejected, Channel not found",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s: Channel '%s' - IN:", Name, ChannelName );
|
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s/%s: Channel '%s' - IN:",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
|
|
||||||
// Open file
|
// Open file
|
||||||
if (!OpenFile( FileHandle )) {
|
if (!OpenFile( FileHandle )) {
|
||||||
|
|||||||
@@ -318,7 +318,8 @@ TChannel * CFunctionCore::AddChannel( const char * ChannelName, const bool pInpu
|
|||||||
strcpy( (*Channel)->Name, ChannelName );
|
strcpy( (*Channel)->Name, ChannelName );
|
||||||
|
|
||||||
// Log Event
|
// Log Event
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: Channel '%s' - Created", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: Channel '%s' - Created",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set parameters
|
// Set parameters
|
||||||
@@ -360,7 +361,8 @@ bool CFunctionCore::LinkInputChannel( const char * ChannelName, const char * Out
|
|||||||
strcpy( (*LinkedChannel)->Name, OutChannelName );
|
strcpy( (*LinkedChannel)->Name, OutChannelName );
|
||||||
|
|
||||||
// Log Event
|
// Log Event
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: Input Linked - '%s'/'%s' <-- '%s'/'%s'", Name, Name, ChannelName, OutFunction->GetName(), OutChannelName );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: Input Linked - '%s'/'%s' <-- '%s'/'%s'",
|
||||||
|
ProcessName, Name, Name, ChannelName, OutFunction->GetName(), OutChannelName );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Link Return direction as well
|
// Link Return direction as well
|
||||||
@@ -405,7 +407,8 @@ bool CFunctionCore::LinkOutputChannel( const char * ChannelName, const char * In
|
|||||||
strcpy( (*LinkedChannel)->Name, InChannelName );
|
strcpy( (*LinkedChannel)->Name, InChannelName );
|
||||||
|
|
||||||
// Log Event
|
// Log Event
|
||||||
if (Log) Log->Message( LogLevel, dlLow, "%s: Output Linked - '%s'/'%s' --> '%s'/'%s'", Name, Name, ChannelName, InFunction->GetName(), InChannelName );
|
if (Log) Log->Message( LogLevel, dlLow, "%s/%s: Output Linked - '%s'/'%s' --> '%s'/'%s'",
|
||||||
|
ProcessName, Name, Name, ChannelName, InFunction->GetName(), InChannelName );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Link return direction as well
|
// Link return direction as well
|
||||||
@@ -430,12 +433,14 @@ int CFunctionCore::Input( const char * ChannelName, const char * Data, int Len )
|
|||||||
// Get Channel
|
// Get Channel
|
||||||
if (!(Channel = GetChannel( ChannelName ))) {
|
if (!(Channel = GetChannel( ChannelName ))) {
|
||||||
// Channel not found
|
// Channel not found
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Input rejected, Channel not found", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Input rejected, Channel not found",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (!Channel->InputEnabled) {
|
else if (!Channel->InputEnabled) {
|
||||||
// Channel disabled
|
// Channel disabled
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Input rejected, Channel input disabled", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Input rejected, Channel input disabled",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -443,7 +448,8 @@ int CFunctionCore::Input( const char * ChannelName, const char * Data, int Len )
|
|||||||
if (Len == -1) {
|
if (Len == -1) {
|
||||||
Len = strlen( Data );
|
Len = strlen( Data );
|
||||||
}
|
}
|
||||||
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s: Channel '%s' - IN:", Name, ChannelName );
|
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s/%s: Channel '%s' - IN:",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return Len;
|
return Len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -460,7 +466,8 @@ int CFunctionCore::Output( const char * ChannelName, const char * Data, int Len
|
|||||||
|
|
||||||
// Get Channel
|
// Get Channel
|
||||||
if (!(Channel = GetChannel( ChannelName ))) {
|
if (!(Channel = GetChannel( ChannelName ))) {
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Output rejected, Channel not found", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Output rejected, Channel not found",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -483,12 +490,14 @@ int CFunctionCore::Output( const TChannel * Channel, const char * Data, int Len
|
|||||||
|
|
||||||
// Check if enabled
|
// Check if enabled
|
||||||
if (!Channel->OutputEnabled) {
|
if (!Channel->OutputEnabled) {
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Output rejected, Channel output disabled", Name, Channel->Name );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Output rejected, Channel output disabled",
|
||||||
|
ProcessName, Name, Channel->Name );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s: Channel '%s' - OUT:", Name, Channel->Name );
|
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, Data, Len, "%s/%s: Channel '%s' - OUT:",
|
||||||
|
ProcessName, Name, Channel->Name );
|
||||||
|
|
||||||
// Pass output to all linked inputs
|
// Pass output to all linked inputs
|
||||||
if (Len == -1) {
|
if (Len == -1) {
|
||||||
@@ -518,7 +527,8 @@ bool CFunctionCore::PullInput( const char * ChannelName )
|
|||||||
// Get Channel
|
// Get Channel
|
||||||
if (!(Channel = GetChannel( ChannelName ))) {
|
if (!(Channel = GetChannel( ChannelName ))) {
|
||||||
// Channel not found
|
// Channel not found
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Input failed, Channel not found", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Input failed, Channel not found",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -541,7 +551,8 @@ bool CFunctionCore::PullInput( TChannel * Channel )
|
|||||||
|
|
||||||
// Check if enabled
|
// Check if enabled
|
||||||
if (!Channel->InputEnabled) {
|
if (!Channel->InputEnabled) {
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Input failed, Channel input disabled", Name, Channel->Name );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Input failed, Channel input disabled",
|
||||||
|
ProcessName, Name, Channel->Name );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -576,12 +587,14 @@ bool CFunctionCore::PullOutput( const char * ChannelName, char ** Data, int * Le
|
|||||||
// Get Channel
|
// Get Channel
|
||||||
if (!(Channel = GetChannel( ChannelName ))) {
|
if (!(Channel = GetChannel( ChannelName ))) {
|
||||||
// Channel not found
|
// Channel not found
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Output failed, Channel not found", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Output failed, Channel not found",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (!Channel->InputEnabled) {
|
else if (!Channel->InputEnabled) {
|
||||||
// Channel disabled
|
// Channel disabled
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "%s: Channel '%s' - Output failed, Channel output disabled", Name, ChannelName );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/%s: Channel '%s' - Output failed, Channel output disabled",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -589,7 +602,8 @@ bool CFunctionCore::PullOutput( const char * ChannelName, char ** Data, int * Le
|
|||||||
*Data = StoredOutput;
|
*Data = StoredOutput;
|
||||||
TempLen = (*Data)? strlen(*Data) : 0;
|
TempLen = (*Data)? strlen(*Data) : 0;
|
||||||
if (Len) *Len = TempLen;
|
if (Len) *Len = TempLen;
|
||||||
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, ((*Data)? *Data : "(NULL)"), TempLen, "%s: Channel '%s' - IN:", Name, ChannelName );
|
if (Log) Log->Output( LogLevel, dlHigh, LogOutput, ((*Data)? *Data : "(NULL)"), TempLen, "%s/%s: Channel '%s' - IN:",
|
||||||
|
ProcessName, Name, ChannelName );
|
||||||
return Len;
|
return Len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ void CSelect::Add( int FD, bool Read, bool Write, THandle * Handle, CSelectableC
|
|||||||
(*SelectHandle)->Handle = Handle;
|
(*SelectHandle)->Handle = Handle;
|
||||||
(*SelectHandle)->Function = Function;
|
(*SelectHandle)->Function = Function;
|
||||||
|
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: FD [%d], %s, %s - Created", FD,
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: FD [%d], %s '%s' - Created", ProcessName, FD,
|
||||||
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -111,7 +111,7 @@ void CSelect::Add( int FD, bool Read, bool Write, THandle * Handle, CSelectableC
|
|||||||
// Old handle for another function, not yet removed, remove from read/write lists
|
// Old handle for another function, not yet removed, remove from read/write lists
|
||||||
Remove( FD, true, true );
|
Remove( FD, true, true );
|
||||||
|
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: FD [%d], %s, %s - Removed old", FD,
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: FD [%d], %s '%s' - Removed old", ProcessName, FD,
|
||||||
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ void CSelect::Add( int FD, bool Read, bool Write, THandle * Handle, CSelectableC
|
|||||||
FD_SET( FD, &ReadTestFDS );
|
FD_SET( FD, &ReadTestFDS );
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: FD [%d], %s, %s - Add Read", FD,
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: FD [%d], %s '%s' - Add Read", ProcessName, FD,
|
||||||
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ void CSelect::Add( int FD, bool Read, bool Write, THandle * Handle, CSelectableC
|
|||||||
FD_SET( FD, &WriteTestFDS );
|
FD_SET( FD, &WriteTestFDS );
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: FD [%d], %s, %s - Add Write", FD,
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: FD [%d], %s '%s' - Add Write", ProcessName, FD,
|
||||||
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,7 +167,7 @@ void CSelect::Remove( int FD, bool Read, bool Write )
|
|||||||
FD_CLR( FD, &ReadTestFDS);
|
FD_CLR( FD, &ReadTestFDS);
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: FD [%d], %s, %s - Remove Read", FD,
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: FD [%d], %s '%s' - Remove Read", ProcessName, FD,
|
||||||
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ void CSelect::Remove( int FD, bool Read, bool Write )
|
|||||||
FD_CLR( FD, &WriteTestFDS);
|
FD_CLR( FD, &WriteTestFDS);
|
||||||
|
|
||||||
// Log event
|
// Log event
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: FD [%d], %s, %s - Remove Write", FD,
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: FD [%d], %s '%s' - Remove Write", ProcessName, FD,
|
||||||
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
ConnectTypeName[((Handle)? Handle->Type : 0)], ((Handle && Handle->Name)? Handle->Name : "") );
|
||||||
}
|
}
|
||||||
// Handle will be removed in Test() if both Read & Write flags are false
|
// Handle will be removed in Test() if both Read & Write flags are false
|
||||||
@@ -200,7 +200,7 @@ bool CSelect::Test()
|
|||||||
Events = select( MaxFD, &ReadFDS, &WriteFDS, (fd_set*)NULL, &STimeout );
|
Events = select( MaxFD, &ReadFDS, &WriteFDS, (fd_set*)NULL, &STimeout );
|
||||||
if (Events < 0)
|
if (Events < 0)
|
||||||
{
|
{
|
||||||
if (Log) Log->Message( LogLevel, dlHigh, "Selector: Select operation failed" );
|
if (Log) Log->Message( LogLevel, dlHigh, "%s/Selector: Select operation failed", ProcessName );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -18,9 +18,9 @@
|
|||||||
|
|
||||||
// Types required for connections
|
// Types required for connections
|
||||||
typedef enum { ctNone = 0, ctSerial = 1, ctLinePrinter = 2, ctForkPipe = 3, ctUNIXserver = 4, ctUNIXclient = 5, ctUNIXremote = 6,
|
typedef enum { ctNone = 0, ctSerial = 1, ctLinePrinter = 2, ctForkPipe = 3, ctUNIXserver = 4, ctUNIXclient = 5, ctUNIXremote = 6,
|
||||||
ctUDPserver = 7, ctUDPclient = 8, ctUDPremote = 9, ctTCPserver = 10, ctTCPremote = 11, ctTCPclient = 12 } EConnectType;
|
ctUDPserver = 7, ctUDPclient = 8, ctUDPremote = 9, ctTCPserver = 10, ctTCPclient = 11, ctTCPremote = 12 } EConnectType;
|
||||||
const char ConnectTypeName[][20] = { "None", "Serial", "LinePrinter", "ForkPipe", "UNIXserver", "UNIXclient", "UNIXremote",
|
const char ConnectTypeName[][20] = { "None", "Serial Port", "Line Printer", "Fork Pipe", "UNIX Server", "UNIX Client", "UNIX Remote Client",
|
||||||
"UDPserver", "UDPclient", "UDPremote", "TCPserver", "TCPremote", "TCPclient" };
|
"UDP Server", "UDP Client", "UDP Remote Client", "TCP Server", "TCP Client", "TCP Remote Client" };
|
||||||
|
|
||||||
typedef enum { csNone = 0, csOpenRequest = 1, csWaitingtoOpen = 2, csOpen = 3, csDataWaiting = 4, csClosed = 5, csFailed = 6 } EConnectState;
|
typedef enum { csNone = 0, csOpenRequest = 1, csWaitingtoOpen = 2, csOpen = 3, csDataWaiting = 4, csClosed = 5, csFailed = 6 } EConnectState;
|
||||||
const char ConnectStateName[][15] = { "None", "OpenRequest", "WaitingToOpen", "Open", "DataWaiting", "Closed", "Failed" };
|
const char ConnectStateName[][15] = { "None", "OpenRequest", "WaitingToOpen", "Open", "DataWaiting", "Closed", "Failed" };
|
||||||
@@ -205,26 +205,26 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Port Operations
|
// Port Operations
|
||||||
int OpenSerialPort( THandle * Handle );
|
THandle * OpenSerialPort( THandle * Handle );
|
||||||
bool WriteSerialConfig( THandle * Handle );
|
bool WriteSerialConfig( THandle * Handle );
|
||||||
bool ReadSerialConfig( THandle * Handle );
|
bool ReadSerialConfig( THandle * Handle );
|
||||||
|
|
||||||
int OpenLinePrinterPort( THandle * Handle );
|
THandle * OpenLinePrinterPort( THandle * Handle );
|
||||||
|
|
||||||
// File Socket Operations
|
// File Socket Operations
|
||||||
int OpenForkPipe( THandle * Handle );
|
THandle * OpenForkPipe( THandle * Handle );
|
||||||
int OpenUNIXserverSocket( THandle * Handle );
|
THandle * OpenUNIXserverSocket( THandle * Handle );
|
||||||
int OpenUNIXclientSocket( THandle * Handle );
|
THandle * OpenUNIXclientSocket( THandle * Handle );
|
||||||
int OpenUNIXremoteSocket( THandle * Handle );
|
THandle * OpenUNIXremoteSocket( THandle * Handle );
|
||||||
|
|
||||||
// Socket Operations
|
// Socket Operations
|
||||||
bool ResolveAddress( THandle * Handle, bool DelayResolve );
|
bool ResolveAddress( THandle * Handle, bool DelayResolve );
|
||||||
int OpenUDPserverSocket( THandle * Handle, bool DelayResolve );
|
THandle * OpenUDPserverSocket( THandle * Handle, bool DelayResolve );
|
||||||
int OpenUDPremoteSocket( THandle * Handle, char * RemoteAddr, char * RemotePort );
|
THandle * OpenUDPremoteSocket( THandle * Handle, char * RemoteAddr, char * RemotePort );
|
||||||
int OpenUDPclientSocket( THandle * Handle, bool DelayResolve );
|
THandle * OpenUDPclientSocket( THandle * Handle, bool DelayResolve );
|
||||||
int OpenTCPserverSocket( THandle * Handle, bool DelayResolve );
|
THandle * OpenTCPserverSocket( THandle * Handle, bool DelayResolve );
|
||||||
int OpenTCPremoteSocket( THandle * Handle );
|
THandle * OpenTCPremoteSocket( THandle * Handle );
|
||||||
int OpenTCPclientSocket( THandle * Handle, bool DelayResolve );
|
THandle * OpenTCPclientSocket( THandle * Handle, bool DelayResolve );
|
||||||
|
|
||||||
// Mutual Operations
|
// Mutual Operations
|
||||||
int ReadFromFD( int FD, char * Data, int MaxLen );
|
int ReadFromFD( int FD, char * Data, int MaxLen );
|
||||||
|
|||||||
Reference in New Issue
Block a user