00001 #ifndef SFVISITOR_H
00002 #define SFVISITOR_H
00003
00004 #include "BON.h"
00005 #include "BONImpl.h"
00006 #include "Extensions.h"
00007 #include "SFBonExtension.h"
00008
00009 namespace SF_BON
00010 {
00011
00012 class SFVisitor
00013 : public BON::Visitor
00014 {
00015 public :
00016 void visitObjectImpl( const BON::Object& object );
00017 void visitAtomImpl( const BON::Atom& atom );
00018 void visitConnectionImpl( const BON::Connection& conn);
00019 void visitModelImpl( const BON::Model& model );
00020 void visitFolderImpl( const BON::Folder& fold );
00021 private :
00022 bool visitParameterBase( const ParameterBase& object );
00023 bool visitSignal( const Signal& object );
00024 bool visitParam( const Param& object );
00025 bool visitInputParam( const InputParam& object );
00026 bool visitOutputParam( const OutputParam& object );
00027 bool visitOutputSignal( const OutputSignal& object );
00028 bool visitInputSignal( const InputSignal& object );
00029 bool visitProcessing( const Processing& object );
00030 bool visitCompound( const Compound& object );
00031 bool visitPrimitive( const Primitive& object );
00032 bool visitDataflowConn( const DataflowConn& object );
00033 bool visitParameterConn( const ParameterConn& object );
00034 bool visitFolder( const Folder& object );
00035 };
00036
00037 };
00038
00039 #endif // SFVISITOR_H