namespace GraphEditor {
-// class OutNode : public GraphBase::Graph {
class OutNode : public GraphBase::Base {
private :
void DateModification() ;
+ // asv 20.09.04 added from GraphExecutor::FiniteStateMachine class (removed from there)
+// static map< string , GraphBase::Graph * > _MapOfGraphs ;
+// static map< string , int > _MapOfGraphNames ;
+
+// GraphBase::Graph * MapGraph( const char * aGraphName ) ;
+// bool MapGraph( GraphBase::Graph * aGraph , const char * aGraphName ) ;
+// void EraseGraph( const char * aGraphName ) ;
+// bool GraphName( const char * aGraphName ) ;
+// string GraphInstanceName( const char * aGraphName ) ;
+ // end added from FiniteStateMachine
+
+
public:
OutNode();
const char * DebugFileName ) ;
virtual ~OutNode();
- GraphExecutor::FiniteStateMachine * Automaton() { return theAutomaton ; } ;
-
bool Name( const char * aName ) ;
void Set_prof_debug( CORBA::ORB_ptr ORB , const char * DebugFileName ) ;
bool IsNotExecutable() const {
return !_Executable ; } ;
+ // iterate through ALL links (OutPort-InPort pairs) and check if their types are
+ // compatible - IsCompatible(type1, type2).
+ // Returns true if all are compatible.
+ bool IsLinksCompatible();
+
+ // Returns true if an out-port of type "OutPortType" can be bound with
+ // in-port of type "InPortType". Called from IsLinksCompatible() and Link_Impl::IsValid().
+ bool IsCompatible( const char* OutPortType, const char* InPortType ) const;
+
const CORBA::Any *GetInData( const char *ToNodeName ,
const char *ToParameterName ) ;
const CORBA::Any *GetOutData( const char *FromNodeName ,