Major update:

- Rename Function LocalIO -> Channel (Parameters & Methods)
This commit is contained in:
Charl Wentzel
2016-08-23 13:19:43 +02:00
parent 5ea05d119e
commit 7564e6a288
6 changed files with 146 additions and 147 deletions

View File

@@ -19,30 +19,30 @@
//---------------------------------------------------------------------------
// Preview
typedef struct SLocalIO TLocalIO;
typedef struct SLinkedIO TLinkedIO;
typedef struct SChannel TChannel;
typedef struct SChannelLink TChannelLink;
class CFunctionCore;
//---------------------------------------------------------------------------
struct SLocalIO
struct SChannel
{
char * Name;
TLinkedIO * FirstInput;
TLinkedIO * FirstOutput;
TChannelLink * FirstInput;
TChannelLink * FirstOutput;
TLocalIO * Next;
TChannel * Next;
};
//---------------------------------------------------------------------------
struct SLinkedIO
struct SChannelLink
{
CFunctionCore * Function;
char * IOName;
char * Name;
SLinkedIO * Next;
SChannelLink * Next;
};
//---------------------------------------------------------------------------
@@ -52,25 +52,25 @@ protected:
// Function Definition
char * Name;
// IOs
TLocalIO * FirstIO;
// Channels
TChannel * FirstChannel;
// Output
CLogCore * Log;
EDebugLevel DebugLevel;
int OutputDisplay;
// Manage IO
inline TLocalIO * GetLocalIO( const char * Name ) {
TLocalIO * LocalIO = FirstIO;
while (LocalIO && strcmp( Name, LocalIO->Name )) {
LocalIO = LocalIO->Next;
// Manage Channel
inline TChannel * GetChannel( const char * Name ) {
TChannel * Channel = FirstChannel;
while (Channel && strcmp( Name, Channel->Name )) {
Channel = Channel->Next;
}
return LocalIO;
return Channel;
}
// Manual Data Input/Output
virtual int Output( const TLocalIO * LocalIO, const char * Data, int Len );
virtual int Output( const TChannel * Channel, const char * Data, int Len );
public:
// Life cycle
@@ -80,16 +80,16 @@ public:
// Miscellaneous
inline const char * GetName() { return Name; };
// Manage IOs
virtual TLocalIO * AddLocalIO( const char * IOName );
// Manage Channels
virtual TChannel * AddChannel( const char * ChannelName );
// Manual Data Input/Output
virtual int Input( const char * IOName, const char * Data, int MaxLen = -1 );
virtual int Output( const char * IOName, const char * Data, int Len = -1 );
virtual int Input( const char * ChannelName, const char * Data, int MaxLen = -1 );
virtual int Output( const char * ChannelName, const char * Data, int Len = -1 );
// Automated Data Input/Output
virtual bool AddInput( const char * IOName, CFunctionCore * OutFunction, const char * OutputName, bool Bidirectional );
virtual bool AddOutput( const char * IOName, CFunctionCore * InFunction, const char * InputName, bool Bidirectional );
virtual bool LinkInputChannel( const char * ChannelName, CFunctionCore * OutFunction, const char * OutChannelName, bool Bidirectional );
virtual bool LinkOutputChannel( const char * ChannelName, CFunctionCore * InFunction, const char * InChannelName, bool Bidirectional );
virtual bool Process() = 0;
};