.. index:: pair: class; FunctionalNodeFactoryManager .. _doxid-class_functional_node_factory_manager: class FunctionalNodeFactoryManager ================================== .. toctree:: :hidden: Overview ~~~~~~~~ Singleton class which loads Functional Node factory plugins and instantiates Functional Nodes using the former. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class FunctionalNodeFactoryManager: public :ref:`PluginManager` { public: // construction :target:`FunctionalNodeFactoryManager`(const FunctionalNodeFactoryManager&); :target:`FunctionalNodeFactoryManager`(FunctionalNodeFactoryManager&&); // methods FunctionalNodeFactoryManager& :target:`operator =` (const FunctionalNodeFactoryManager&); FunctionalNodeFactoryManager& :target:`operator =` (FunctionalNodeFactoryManager&&); void :ref:`loadFNFactoryPlugin`(const std::string& pluginLibFile); :ref:`FunctionalNodeBase`* :ref:`createFunctionalNode`( const std::string& functionName, const std::string& nodeName, :ref:`FunctionalNodePolicies::ExecutionPolicy` policy = FunctionalNodePolicies::ExecutionPolicy::ON_NEW_INPUT ); static FunctionalNodeFactoryManager& :ref:`getInstance`(); static void :ref:`resetInstance`(); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods bool :ref:`loadPlugin`(const std::string& pluginLibFile); void :ref:`addPluginPath`(const std::string& pluginPath); .. _details-class_functional_node_factory_manager: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Singleton class which loads Functional Node factory plugins and instantiates Functional Nodes using the former. Functional Node factory plugins are generated using the skeleton "fn_factory_module.cpp.template" Methods ------- .. index:: pair: function; loadFNFactoryPlugin .. _doxid-class_functional_node_factory_manager_1ae15536c3ae42f052712dc87a4121f208: .. ref-code-block:: cpp :class: doxyrest-title-code-block void loadFNFactoryPlugin(const std::string& pluginLibFile) Load a Functional Node factory plugin. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - pluginLibFile - Plugin library file (.so) .. index:: pair: function; createFunctionalNode .. _doxid-class_functional_node_factory_manager_1a18780d5bd90813cf60e9b0fe00378f02: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`FunctionalNodeBase`* createFunctionalNode( const std::string& functionName, const std::string& nodeName, :ref:`FunctionalNodePolicies::ExecutionPolicy` policy = FunctionalNodePolicies::ExecutionPolicy::ON_NEW_INPUT ) Attempts to instantiate a Functional Node from the requested functionName using all loaded plugins. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - functionName - Name of the function to instantiate the FN from * - nodeName - Name of the FN * - policy - Execution policy of the FN .. rubric:: Returns: Returns a :ref:`FunctionalNodeBase ` pointer .. index:: pair: function; getInstance .. _doxid-class_functional_node_factory_manager_1aa030f2236c0d4ac91778259246cbfff4: .. ref-code-block:: cpp :class: doxyrest-title-code-block static FunctionalNodeFactoryManager& getInstance() Get singleton instance of :ref:`FunctionalNodeFactoryManager `. .. index:: pair: function; resetInstance .. _doxid-class_functional_node_factory_manager_1a60bbe0068acdb4c1aa3bdfd8ee53cccc: .. ref-code-block:: cpp :class: doxyrest-title-code-block static void resetInstance() Reset singleton instance.