00001 #ifndef CCAFE_OPQBS_H_SEEN
00002 #define CCAFE_OPQBS_H_SEEN
00003
00004 class DefaultBuilderModel;
00005 class ConnectionFramework;
00006 class CmdLineBuilderView;
00007
00008
00009
00028 class OpqBuilderService : public virtual ::ccafeopq::BuilderService,
00029 public virtual KernelPort
00030 #ifdef HAVE_CLASSIC
00031 , public virtual ::classic::gov::cca::Port
00032 #endif
00033 {
00034
00035 private:
00036
00037 ::std::map<std::string, void *> * frame;
00038
00039
00040 CmdLineBuilderView * nullBV;
00041
00042
00043 DefaultBuilderModel * getDefaultBuilderModel();
00044 CmdLineBuilderView * getCmdLineBuilderView();
00045 ConnectionFramework * getConnectionFramework();
00046
00047 public:
00048 OpqBuilderService();
00049 virtual ~OpqBuilderService();
00050
00051
00055 virtual ::ccafeopq::ComponentID_shared createInstance(const ::std::string & instanceName, const ::std::string & className, ::ccafeopq::TypeMap_shared & properties) throw ( ::ccafeopq::Exception );
00056
00061 virtual ::std::vector< ::ccafeopq::ComponentID_shared > getComponentIDs() throw (::ccafeopq::Exception );
00062
00068 virtual ::ccafeopq::TypeMap_shared getComponentProperties( ::ccafeopq::ComponentID_shared & cid) throw (::ccafeopq::Exception );
00069
00072 virtual void setComponentProperties( ::ccafeopq::ComponentID_shared & cid, ::ccafeopq::TypeMap_shared & map) throw (::ccafeopq::Exception );
00073
00079 virtual ::ccafeopq::ComponentID_shared getDeserialization( const ::std::string & s) throw (::ccafeopq::Exception );
00080
00086 virtual ::ccafeopq::ComponentID_shared getComponentID( const ::std::string & componentInstanceName) throw (::ccafeopq::Exception );
00087
00090 virtual void destroyInstance( ::ccafeopq::ComponentID_shared & toDie, float timeout ) throw (::ccafeopq::Exception );
00091
00094 virtual ::std::vector< ::std::string > getProvidedPortNames( ::ccafeopq::ComponentID_shared & cid) throw (::ccafeopq::Exception );
00095
00098 virtual ::std::vector< ::std::string > getUsedPortNames( ::ccafeopq::ComponentID_shared & cid) throw (::ccafeopq::Exception );
00099
00102 virtual ::ccafeopq::TypeMap_shared getPortProperties( ::ccafeopq::ComponentID_shared & cid, const ::std::string & portname) throw (::ccafeopq::Exception );
00103
00106 virtual void setPortProperties( ::ccafeopq::ComponentID_shared & cid, const ::std::string & portname, ::ccafeopq::TypeMap_shared & map) throw (::ccafeopq::Exception );
00107
00110 virtual ::ccafeopq::ConnectionID_shared connect( ::ccafeopq::ComponentID_shared & user, const ::std::string & usingPortName, ::ccafeopq::ComponentID_shared & provider, const ::std::string & providingPortName) throw (::ccafeopq::Exception );
00111
00114 virtual ::std::vector < ::ccafeopq::ConnectionID_shared > getConnectionIDs( ::std::vector< ::ccafeopq::ComponentID_shared > & componentList) throw (::ccafeopq::Exception );
00115
00116 virtual ::std::vector < ::ccafeopq::ConnectionID_shared > getConnectionIDs( const ::std::string & userName, const ::std::string & usingPortName, const ::std::string & providerName, const ::std::string & providingPortName) throw (::ccafeopq::Exception );
00117
00120 virtual ::ccafeopq::TypeMap_shared getConnectionProperties( ::ccafeopq::ConnectionID_shared & connID) throw (::ccafeopq::Exception );
00121
00124 virtual void setConnectionProperties( ::ccafeopq::ConnectionID_shared & connID, ::ccafeopq::TypeMap_shared & map) throw (::ccafeopq::Exception );
00125
00128 virtual void disconnect( ::ccafeopq::ConnectionID_shared & connID, float timeout) throw (::ccafeopq::Exception );
00129
00132 virtual void disconnectAll( ::ccafeopq::ComponentID_shared & id1, ::ccafeopq::ComponentID_shared & id2, float timeout) throw (::ccafeopq::Exception );
00133
00134 std::vector< ::ccafeopq::ComponentID_shared >
00135 getComponentsThatUse(const std::string& portType);
00136
00137 std::vector< ::ccafeopq::ComponentID_shared >
00138 getComponentsThatProvide(const std::string& portType);
00139
00140 virtual void appendRepositoryPath ( const ::std::string& dirPathElement );
00141
00142 virtual void loadRepositoryClass (const ::std::string& className, bool loadGlobal, bool loadLazy );
00143
00144
00145 void setFrameData( std::map<std::string, void *> *v);
00146 } ;
00147
00148 #include <boost/shared_ptr.hpp>
00149
00150 typedef boost::shared_ptr< OpqBuilderService * > OpqBuilderService_ptr;
00151
00152 #endif //CCAFE_OPQBS_H_SEEN