Changeset 288 in pacpusframework for trunk/include/Pacpus
- Timestamp:
- Mar 26, 2014, 9:27:30 PM (11 years ago)
- Location:
- trunk/include/Pacpus
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/Pacpus/DbitePlayer/DbtPlyFileManager.h
r181 r288 97 97 98 98 /// a pointer on the player engine 99 DbtPlyEngine *mEngine;99 boost::shared_ptr<DbtPlyEngine> mEngine; 100 100 101 101 QStringList getDbiteFilenameList() const; -
trunk/include/Pacpus/DbitePlayer/DbtPlyTrigger.h
r152 r288 64 64 65 65 private: 66 DbtPlyEngine *mEngine;66 boost::shared_ptr<DbtPlyEngine> mEngine; 67 67 }; 68 68 -
trunk/include/Pacpus/DbitePlayer/DbtPlyUserInterface.h
r152 r288 99 99 100 100 private: 101 DbtPlyEngine *mEngine;101 boost::shared_ptr<DbtPlyEngine> mEngine; 102 102 103 103 QWidget * wTel_ ; -
trunk/include/Pacpus/kernel/ComponentBase.h
r286 r288 23 23 #define DEF_PACPUS_COMPONENTBASE_H 24 24 25 #include <Pacpus/kernel/ComponentManager.h>25 //#include <Pacpus/kernel/ComponentManager.h> 26 26 #include <Pacpus/kernel/InputOutputBase.h> 27 27 // InputOutputInterface.h must be included, otherwise we could not use addInput, addOutput template methods … … 33 33 #include <boost/program_options/options_description.hpp> 34 34 #include <boost/program_options/value_semantic.hpp> 35 #include <QMap> 35 36 #include <QString> 36 #include <QMap>37 37 #include <string> 38 38 … … 52 52 namespace pacpus 53 53 { 54 55 class ComponentBase; 54 56 55 57 class ComponentManager; … … 91 93 /// Ctor of ComponentBase. 92 94 /// @param name Name of your component. 93 ComponentBase( const QString& name);95 ComponentBase(QString const& name); 94 96 95 97 /// Dtor of ComponentBase. … … 195 197 std::string mName; 196 198 std::string mTypeName; 197 199 //QThread mThread; 200 198 201 /// Whether to display or not the graphical interface (GUI) 199 202 bool hasGui() const; -
trunk/include/Pacpus/kernel/ComponentFactory.h
r89 r288 16 16 #define DEF_PACPUS_COMPONENTFACTORY_H 17 17 18 #include <cassert> 19 20 //#include <boost/static_assert.hpp> 21 //#include <boost/type_traits/is_base_of.hpp> 18 #include <boost/assert.hpp> 19 #include <boost/static_assert.hpp> 20 #include <boost/type_traits/is_base_of.hpp> 22 21 23 22 #include <Pacpus/kernel/ComponentFactoryBase.h> … … 37 36 static pacpus::ComponentFactory<className> sFactory(factoryName) 38 37 39 namespace pacpus { 38 #define PACPUS_REGISTER_COMPONENT(Class) \ 39 static pacpus::ComponentFactory<Class> sFactory(#Class) 40 41 namespace pacpus 42 { 40 43 41 44 /// Use it to interface your components with the application. … … 47 50 : public ComponentFactoryBase 48 51 { 49 //static_assert(,"T must inherit from ComponentBase")50 // BOOST_STATIC_ASSERT_MSG((boost::is_base_of<ComponentBase, T>::value), "T must inherit from ComponentBase"); 52 BOOST_STATIC_ASSERT_MSG((boost::is_base_of<ComponentBase, T>::value), "component T must inherit from ComponentBase"); 53 51 54 public: 52 55 /** Ctor of ComponentFactory, initialize the factory of the components of type @em T. 53 56 * @param type Name of the type of the components. 54 57 */ 55 ComponentFactory( const QString& type);58 ComponentFactory(QString const& type); 56 59 57 60 /** Dtor of ComponentFactory. */ … … 61 64 * @return Name of the type of the components. 62 65 */ 63 const QString& getType() const;66 QString const& getType() const; 64 67 65 68 protected: 66 virtual Component Base* instantiateComponent(const QString& name);67 69 virtual ComponentSharedPointer instantiateComponent(QString const& name); 70 68 71 private: 69 72 QString mType; … … 71 74 72 75 template <typename T> 73 ComponentFactory<T>::ComponentFactory( const QString& type)74 : mType(type)76 ComponentFactory<T>::ComponentFactory(QString const& type) 77 : mType(type) 75 78 { 76 assert(!type.isEmpty());79 BOOST_ASSERT(!type.isEmpty()); 77 80 addFactory(this, mType); 78 81 } … … 84 87 85 88 template <typename T> 86 const QString& ComponentFactory<T>::getType() const89 QString const& ComponentFactory<T>::getType() const 87 90 { 88 91 return mType; … … 90 93 91 94 template<typename T> 92 Component Base* ComponentFactory<T>::instantiateComponent(const QString& name)95 ComponentSharedPointer ComponentFactory<T>::instantiateComponent(QString const& name) 93 96 { 94 return new T(name);97 return ComponentSharedPointer(new T(name)); 95 98 } 96 99 97 } // pacpus100 } // namespace pacpus 98 101 99 102 #endif // DEF_PACPUS_DBITEEXCEPTION_H -
trunk/include/Pacpus/kernel/ComponentFactoryBase.h
r196 r288 18 18 #include <Pacpus/kernel/PacpusLibConfig.h> 19 19 20 #include <boost/shared_ptr.hpp> 21 //#include <boost/weak_ptr.hpp> 22 20 23 class QString; 21 24 22 namespace pacpus { 25 namespace pacpus 26 { 27 28 class ComponentBase; 29 30 typedef boost::shared_ptr<ComponentBase> ComponentSharedPointer; 31 //typedef boost::weak_ptr<ComponentBase> ComponentWeakPointer; 23 32 24 33 class ComponentManager; 25 class ComponentBase;26 34 27 35 /** ComponentFactoryBase … … 31 39 { 32 40 friend class ComponentManager; 41 33 42 public: 34 43 /** Ctor of ComponentFactoryBase. */ … … 42 51 * @return Pointer on the newly created component, you become the owner of its lifetime. 43 52 */ 44 virtual Component Base * instantiateComponent(const QString& name) = 0;53 virtual ComponentSharedPointer instantiateComponent(QString const& name) = 0; 45 54 46 55 /** Register a new factory. … … 48 57 * @param type Name of the type created by the factory. 49 58 */ 50 void addFactory(ComponentFactoryBase* addr, const QString& type);59 void addFactory(ComponentFactoryBase* addr, QString const& type); 51 60 52 61 /** Add a new component. 53 62 * @param name Name of the new component. 54 63 */ 55 void addComponent(const QString& name);64 void createComponent(QString const& name); 56 65 57 66 private: -
trunk/include/Pacpus/kernel/ComponentManager.h
r207 r288 28 28 #include <QPluginLoader> 29 29 30 namespace pacpus { 30 namespace pacpus 31 { 31 32 32 33 class ComponentBase; 33 34 34 35 /// @todo Documentation 35 typedef QMap<QString, Component Base *> ComponentMap;36 typedef QMap<QString, ComponentSharedPointer> ComponentMap; 36 37 /// @todo Documentation 37 typedef QMap<QString, ComponentFactoryBase *> FactoryMap;38 typedef QMap<QString, ComponentFactoryBase* > FactoryMap; 38 39 39 40 /// Singleton recording the components and managing them. … … 59 60 struct destroyer { 60 61 /// Invokes ComponentManager::destroy() method if @b mgr pointer is not null. 61 void operator()(ComponentManager 62 void operator()(ComponentManager* mgr) const 62 63 { 63 64 if (!mgr) { … … 72 73 * @return Number of components loaded by the manager. 73 74 */ 74 std::size_t loadComponents( const QString& file);75 std::size_t loadComponents(QString const& file); 75 76 76 77 /** Start all the components … … 83 84 * @return True if the component exists and has been started, otherwise false. 84 85 */ 85 bool start( const QString& component);86 bool start(QString const& component); 86 87 87 88 /** Stop all the components … … 94 95 * @return True if the component has been stopped, otherwise false. 95 96 */ 96 bool stop( const QString& component);97 bool stop(QString const& component); 97 98 98 99 /** Get a pointer to the component referred by @em name. … … 100 101 * @return Pointer to the component if it exists, otherwise @em NULL. 101 102 */ 102 Component Base* getComponent(const QString& name);103 ComponentSharedPointer getComponent(QString const& name); 103 104 104 105 /** Get the list of all the names of the component known by the manager. … … 111 112 * @return True if the plugin has been loaded, otherwise false. 112 113 */ 113 bool loadPlugin( const QString& filename);114 bool loadPlugin(QString const& filename); 114 115 115 116 private: 116 bool stop(Component Base*component) const;117 bool stop(ComponentSharedPointer component) const; 117 118 118 119 /// Create a new component of type 'type' and with the name 'name' 119 bool createComponent( const QString& type, const QString& name);120 bool createComponent(QString const& type, QString const& name); 120 121 121 bool checkComponent( const QString& componentName);122 bool checkComponentInput( const QString & componentName, const QString& inputName);123 bool checkComponentOutput( const QString & componentName, const QString& outputName);122 bool checkComponent(QString const& componentName); 123 bool checkComponentInput(QString const& componentName, QString const& inputName); 124 bool checkComponentOutput(QString const& componentName, QString const& outputName); 124 125 125 bool createConnection( const QString& type, const QString& name, const QString& , int );126 bool createConnection(QString const& type, QString const& name, QString const& , int ); 126 127 127 bool registerComponent(Component Base* addr, const QString& name);128 bool registerComponentFactory(ComponentFactoryBase* addr, const QString& type);128 bool registerComponent(ComponentSharedPointer addr, QString const& name); 129 bool registerComponentFactory(ComponentFactoryBase* addr, QString const& type); 129 130 130 bool unregisterComponent( const QString& name);131 bool unregisterComponentFactory( const QString& type);131 bool unregisterComponent(QString const& name); 132 bool unregisterComponentFactory(QString const& type); 132 133 133 134 // Allow 2 functions to access to private members of ComponentManager 134 friend void ComponentFactoryBase::addFactory(ComponentFactoryBase* addr, const QString& type);135 friend void ComponentFactoryBase:: addComponent(const QString& name);135 friend void ComponentFactoryBase::addFactory(ComponentFactoryBase* addr, QString const& type); 136 friend void ComponentFactoryBase::createComponent(QString const& name); 136 137 137 138 /// private constructor accessible only via static create() function -
trunk/include/Pacpus/kernel/XmlComponentConfig.h
r270 r288 35 35 * @param name Name of the ComponentFactory, by convention equal to class name. 36 36 */ 37 explicit XmlComponentConfig( const QString& name = QString::null);37 explicit XmlComponentConfig(QString const& name = QString::null); 38 38 39 39 /** Dtor of XmlComponentConfig. */ … … 45 45 * @param name Name of the property. 46 46 */ 47 void addProperty( const QString& name);47 void addProperty(QString const& name); 48 48 49 49 /** Delete a property from the XML. 50 50 * @return False if the property does not exist, false otherwise. 51 51 */ 52 int delProperty( const QString& name);52 int delProperty(QString const& name); 53 53 54 54 /** Get the value of a property. … … 57 57 * @return Value of the property, @em defaultValue otherwise. 58 58 */ 59 QString getProperty( const QString& name, const QString& defaultValue = QString::null) const;59 QString getProperty(QString const& name, QString const& defaultValue = QString::null) const; 60 60 61 61 /** Get the value of a property as a boolean. … … 64 64 * @return Value of the property, @em defaultValue otherwise. 65 65 */ 66 bool getBoolProperty( const QString& name, bool defaultValue = false) const;66 bool getBoolProperty(QString const& name, bool defaultValue = false) const; 67 67 68 68 /** Get the value of a property as an integer. … … 71 71 * @return Value of the property, @em defaultValue otherwise. 72 72 */ 73 int getIntProperty( const QString& name, int defaultValue = 0) const;73 int getIntProperty(QString const& name, int defaultValue = 0) const; 74 74 75 75 /** Get the value of a property as a double. … … 78 78 * @return Value of the property, @em defaultValue otherwise. 79 79 */ 80 double getDoubleProperty( const QString& name, double defaultValue = 0.0) const;80 double getDoubleProperty(QString const& name, double defaultValue = 0.0) const; 81 81 82 82 /** Set the value of a property. … … 84 84 * @param value Value to set. 85 85 */ 86 void setProperty( const QString& name, const QString& value);86 void setProperty(QString const& name, QString const& value); 87 87 88 88 /** Check if a property exists. … … 90 90 * @return True if the property exists, false otherwise. 91 91 */ 92 bool hasProperty( const QString& name) const;92 bool hasProperty(QString const& name) const; 93 93 94 94 public: -
trunk/include/Pacpus/kernel/XmlConfigFile.h
r197 r288 41 41 class PACPUSLIB_API XmlConfigFile 42 42 { 43 friend XmlComponentConfig::XmlComponentConfig( const QString&);43 friend XmlComponentConfig::XmlComponentConfig(QString const&); 44 44 friend class ComponentManager; 45 45
Note:
See TracChangeset
for help on using the changeset viewer.