Important Update:
- ItemBufferCore:
- New Class for storing items in a FIFO style buffer
- FunctionCore:
- Implemented pulled input:
- Function creates static output: StoredOutput & StoredOutputLen
- Other Function pulls static output from input linked functions
- FunctionCore-ChannelBuffer:
- Tried to create a processing buffer
- Abandoned for now
This commit is contained in:
@@ -14,8 +14,6 @@
|
||||
// redA Libraries
|
||||
#include "LogCore.h"
|
||||
#include "DataTreeCore.h"
|
||||
#include "CharBufferCore.h"
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@@ -65,11 +63,15 @@ protected:
|
||||
// Channels
|
||||
TChannel * FirstChannel;
|
||||
|
||||
// Output
|
||||
// Logging
|
||||
CLogCore * Log;
|
||||
EDebugLevel LogLevel;
|
||||
int LogOutput;
|
||||
|
||||
// Stored Output
|
||||
char * StoredOutput;
|
||||
int StoredOutputLen;
|
||||
|
||||
// Manage Channel
|
||||
inline TChannel * GetChannel( const char * Name ) {
|
||||
if (!Name) return NULL;
|
||||
@@ -83,8 +85,9 @@ protected:
|
||||
virtual bool LoadConfigData();
|
||||
virtual bool LoadChannelLinkData();
|
||||
|
||||
// Manual Data Input/Output
|
||||
virtual int Output( const TChannel * Channel, const char * Data, int Len );
|
||||
// Data Input/Output
|
||||
virtual int Output( const TChannel * Channel, const char * Data, int Len );
|
||||
virtual bool PullInput( TChannel * Channel );
|
||||
|
||||
public:
|
||||
// Life cycle
|
||||
@@ -131,9 +134,13 @@ public:
|
||||
return ((Channel)? Channel->OutputEnabled : false);
|
||||
}
|
||||
|
||||
// Manual Data Input/Output
|
||||
virtual int Input( const char * ChannelName, const char * Data, int MaxLen = -1 );
|
||||
// Pushing Data Output -> Input
|
||||
virtual int Output( const char * ChannelName, const char * Data, int Len = -1 );
|
||||
virtual int Input( const char * ChannelName, const char * Data, int Len = -1 );
|
||||
|
||||
// Pulling Data Input <- Output
|
||||
virtual bool PullInput( const char * ChannelName );
|
||||
virtual bool PullOutput( const char * ChannelName, char ** Data, int * Len = NULL );
|
||||
|
||||
// Automated Data Input/Output
|
||||
virtual bool LinkInputChannel( const char * ChannelName, const char * OutFunctionName, const char * OutChannelName, bool Bidirectional );
|
||||
|
||||
Reference in New Issue
Block a user