Important Update:

- Add bidirectional flag for AddInput/AddOutput methods on FunctionCore
This commit is contained in:
Charl Wentzel
2016-05-31 07:24:51 +02:00
parent b4073a166a
commit 1aa0d98b35
2 changed files with 15 additions and 5 deletions

View File

@@ -126,7 +126,7 @@ TLocalIO * CFunctionCore::AddLocalIO( const char * IOName )
//---------------------------------------------------------------------------
// Automated Data Input/Output
bool CFunctionCore::AddInput( const char * IOName, CFunctionCore * OutFunction, const char * OutputName )
bool CFunctionCore::AddInput( const char * IOName, CFunctionCore * OutFunction, const char * OutputName, bool Bidirectional )
{
TLocalIO * LocalIO = NULL;
TLinkedIO ** LinkedIO = NULL;
@@ -158,11 +158,16 @@ bool CFunctionCore::AddInput( const char * IOName, CFunctionCore * OutFunction,
LogMessage( dlLow, "%s: Input Linked - '%s'/'%s' <-- '%s'/'%s'", Name, Name, IOName, OutFunction->GetName(), OutputName );
}
// Link Return direction as well
if (Bidirectional) {
return OutFunction->AddInput( OutputName, this, IOName, false );
}
return true;
}
//---------------------------------------------------------------------------
bool CFunctionCore::AddOutput( const char * IOName, CFunctionCore * InFunction, const char * InputName )
bool CFunctionCore::AddOutput( const char * IOName, CFunctionCore * InFunction, const char * InputName, bool Bidirectional )
{
TLocalIO * LocalIO = NULL;
TLinkedIO ** LinkedIO = NULL;
@@ -192,7 +197,12 @@ bool CFunctionCore::AddOutput( const char * IOName, CFunctionCore * InFunction,
// Log Event
LogMessage( dlLow, "%s: Output Linked - '%s'/'%s' --> '%s'/'%s'", Name, Name, IOName, InFunction->GetName(), InputName );
}
}
// Link return direction as well
if (Bidirectional) {
return InFunction->AddOutput( InputName, this, IOName, false );
}
return true;
}