Major update:
- Rename Function LocalIO -> Channel (Parameters & Methods)
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user