Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

vlTrader Class Reference

This class will be used by users to query and get the plugin(s) they want.

#include <vltrader.h>

List of all members.

Public Member Functions

 vlTrader (vlPluginManager &pluginMgr)
 Default constructor.

 ~vlTrader ()
 Default destructor.

vlPlugingetPlugin (const std::string &serviceGroup, const std::string &service)
 Returns a plugin which belongs to serviceGroup and which has registered the "service".

std::vector< vlPlugin * > getPluginsForGroup (const std::string &serviceGroup)
 Returns all plugins that belong to "serviceGroup".

vlVolProcessorgetVolProcessor (const std::string &service)
 Returns a vol processor plugin for the given service.


Protected Member Functions

vlPluginloadPlugin (vlPluginManager::PluginNode *pluginNode)
 Loads plugin which corresponds to pluginNode.


Protected Attributes

vlPluginManagerm_pluginMgr
 Refernce to the plugin manager.


Constructor & Destructor Documentation

vlTrader::vlTrader vlPluginManager pluginMgr  ) 
 

Definition at line 53 of file vltrader.cpp.

vlTrader::~vlTrader  ) 
 

Definition at line 59 of file vltrader.cpp.


Member Function Documentation

vlPlugin * vlTrader::getPlugin const std::string &  serviceGroup,
const std::string &  service
 

If multiple plugins are available, then the best match plugin will be returned. As of this writing, the best match algorithm is not implemented. Right now, you will simply get the first plugin (in the order it was loaded) that satisfies this request.

Definition at line 64 of file vltrader.cpp.

References vlPluginManager::baseList(), loadPlugin(), vlPluginManager::loadPlugins(), and m_pluginMgr.

Referenced by vlVolume::createData(), getVolProcessor(), vlVolume::resizeData(), vlVolInterpolators< DataType, vlLayout::Linear >::getNativeInterpolator(), vlVolInterpolators< DataType, vlLayout::Linear >::getVirtualInterpolator(), vlVolVoxelOps< DataType, vlLayout::Linear >::getNativeVoxelOp(), and vlVolVoxelOps< DataType, vlLayout::Linear >::getVirtualVoxelOp().

std::vector< vlPlugin * > vlTrader::getPluginsForGroup const std::string &  serviceGroup  ) 
 

The plugins are stored in std::vector.

Definition at line 126 of file vltrader.cpp.

References vlPluginManager::baseList(), loadPlugin(), vlPluginManager::loadPlugins(), and m_pluginMgr.

Referenced by vlKernel::getFileExtensionsKDEStyle(), vlVolume::read(), vlVolume::readImages(), vlVolume::readInfo(), vlVolume::readSubvolumes(), and vlVolume::write().

vlVolProcessor * vlTrader::getVolProcessor const std::string &  service  ) 
 

This is simply a shortcut to calling getPlugin(service, "VolProcessor");

Definition at line 184 of file vltrader.cpp.

References getPlugin().

Referenced by CreateVolume().

vlPlugin * vlTrader::loadPlugin vlPluginManager::PluginNode pluginNode  )  [protected]
 

Definition at line 191 of file vltrader.cpp.

References vlLibFactory::create(), vlPluginManager::PluginNode::entryFunc(), vlPluginManager::PluginNode::factory(), vlPluginManager::PluginNode::fileName(), vlPluginManager::PluginNode::isLoaded(), moduleType, vlPluginManager::PluginNode::setFactory(), and vlPluginManager::PluginNode::setLoaded().

Referenced by getPlugin(), and getPluginsForGroup().


Member Data Documentation

vlPluginManager& vlTrader::m_pluginMgr [protected]
 

Definition at line 75 of file vltrader.h.

Referenced by getPlugin(), and getPluginsForGroup().


The documentation for this class was generated from the following files:
Generated on Fri Mar 18 11:33:19 2005 for OpenVL by doxygen 1.3.3