k3d::iplugin_factory Class Reference

Abstract factory interface for plugin objects. More...

#include <iplugin_factory.h>

Inheritance diagram for k3d::iplugin_factory:
Inheritance graph
[legend]

List of all members.

Public Types

enum  quality_t { STABLE, EXPERIMENTAL, DEPRECATED }
 

Marks a plugin "stable", "experimental", or "deprecated", typically used to provide appropriate warnings in the UI.

More...
typedef std::vector< std::string > categories_t
 Defines a collection of "categories" used to group plugins within the UI.
typedef std::vector< const
std::type_info * > 
interfaces_t
 Defines a collection of interfaces implemented by the underlying plugin instance.
typedef std::map< std::string,
std::string > 
metadata_t
 Defines an arbitrary collection of name-value pair metadata describing the underlying plugin instance.

Public Member Functions

virtual const k3d::uuidfactory_id ()=0
 Returns a guaranteed-unique factory ID.
virtual const std::string name ()=0
 Returns the internal name for a plugin.
virtual const std::string short_description ()=0
 Returns a short, human-readable description of the plugin.
virtual const categories_tcategories ()=0
 Returns a default category for ordering this plugin within the UI.
virtual quality_t quality ()=0
 Returns the plugin quality (stable or experimental).
virtual bool implements (const std::type_info &InterfaceType)=0
 Returns true iff a plugin implements the requested interface.
virtual const interfaces_t interfaces ()=0
 Returns the set of interfaces implemented by the plugin.
virtual metadata_t metadata ()=0
 Returns metadata describing the plugin.

Protected Member Functions

 iplugin_factory ()
 iplugin_factory (const iplugin_factory &Other)
iplugin_factoryoperator= (const iplugin_factory &)
virtual ~iplugin_factory ()

Detailed Description

Abstract factory interface for plugin objects.


Member Typedef Documentation

typedef std::vector<std::string> k3d::iplugin_factory::categories_t

Defines a collection of "categories" used to group plugins within the UI.

typedef std::vector<const std::type_info*> k3d::iplugin_factory::interfaces_t

Defines a collection of interfaces implemented by the underlying plugin instance.

typedef std::map<std::string, std::string> k3d::iplugin_factory::metadata_t

Defines an arbitrary collection of name-value pair metadata describing the underlying plugin instance.


Member Enumeration Documentation

Marks a plugin "stable", "experimental", or "deprecated", typically used to provide appropriate warnings in the UI.

Enumerator:
STABLE 
EXPERIMENTAL 
DEPRECATED 

Constructor & Destructor Documentation

k3d::iplugin_factory::iplugin_factory (  )  [inline, protected]
k3d::iplugin_factory::iplugin_factory ( const iplugin_factory Other  )  [inline, protected]
virtual k3d::iplugin_factory::~iplugin_factory (  )  [inline, protected, virtual]

Member Function Documentation

virtual const categories_t& k3d::iplugin_factory::categories (  )  [pure virtual]

Returns a default category for ordering this plugin within the UI.

Implemented in k3d::plugin_factory, k3d::detail::application_plugin_factory_proxy, and k3d::detail::document_plugin_factory_proxy.

Referenced by k3d::ngui::main_document_window::create_create_menu().

virtual const k3d::uuid& k3d::iplugin_factory::factory_id (  )  [pure virtual]
virtual bool k3d::iplugin_factory::implements ( const std::type_info &  InterfaceType  )  [pure virtual]
virtual const interfaces_t k3d::iplugin_factory::interfaces (  )  [pure virtual]
virtual metadata_t k3d::iplugin_factory::metadata (  )  [pure virtual]
virtual const std::string k3d::iplugin_factory::name (  )  [pure virtual]

Returns the internal name for a plugin.

Implemented in k3d::plugin_factory, k3d::detail::application_plugin_factory_proxy, and k3d::detail::document_plugin_factory_proxy.

Referenced by k3d::qtui::icon_factory::create(), k3d::qtui::action::create(), k3d::ngui::main_document_window::create_create_menu(), k3d::ngui::main_document_window::create_modifier_menu(), k3d::qtui::node_list_model::data(), module::gnome::mime_type_handler::identify_mime_type(), module::ngui::toolbar::detail::implementation::implementation(), module::tiff::io::bitmap_writer::on_input_changed(), module::png::io::bitmap_writer::on_input_changed(), module::jpeg::io::bitmap_writer::on_input_changed(), module::tiff::io::bitmap_reader::on_resize_bitmap(), module::png::io::bitmap_reader::on_resize_bitmap(), module::jpeg::io::bitmap_reader::on_resize_bitmap(), k3d::detail::same_name::operator()(), k3d::sort_by_name::operator()(), module::ngui::undo_tree::panel::panel_type(), module::ngui::toolbar::panel::panel_type(), module::ngui::tool_properties::panel::panel_type(), module::ngui::pipeline_profiler::panel::panel_type(), module::ngui::pipeline::panel::panel_type(), module::ngui::node_properties::panel::panel_type(), module::ngui::node_list::panel::panel_type(), module::ngui::material_manager::Panel::panel_type(), k3d::ngui::detail::pick_camera(), k3d::ngui::detail::pick_render_engine(), k3d::ngui::detail::plugin_factory_markup(), k3d::qtui::script::iunknown::plugin_factory_name(), module::xtrackcad::document_importer::read_file(), module::k3d_io::document_importer::read_file(), module::tiff::io::bitmap_importer::read_file(), module::png::io::bitmap_importer::read_file(), module::openexr::io::bitmap_importer::read_file(), module::jpeg::io::bitmap_importer::read_file(), module::imagemagick::io::bitmap_importer::read_file(), k3d::detail::plugin_registry::register_factory(), module::yafray::sun_light::setup_light(), module::yafray::spot_light::setup_light(), module::yafray::soft_light::setup_light(), module::yafray::photon_light::setup_light(), module::yafray::hemi_light::setup_light(), module::yafray::global_photon_light::setup_light(), module::file::magic::mime_type_handler::test_type(), module::ngui::snap::tool::tool_type(), module::ngui::render_region::tool::tool_type(), module::ngui::parent::tool::tool_type(), module::k3d_io::document_exporter::write_file(), module::collada::io::document_exporter::write_file(), and module::tiff::io::bitmap_exporter::write_file().

iplugin_factory& k3d::iplugin_factory::operator= ( const iplugin_factory  )  [inline, protected]
virtual quality_t k3d::iplugin_factory::quality (  )  [pure virtual]
virtual const std::string k3d::iplugin_factory::short_description (  )  [pure virtual]

The documentation for this class was generated from the following file:

Generated on Mon Mar 21 07:41:57 2011 for K-3D by doxygen 1.6.3