TPluginHandler
class description - source file - inheritance tree
private:
TPluginHandler TPluginHandler()
TPluginHandler TPluginHandler(const char* base, const char* regexp, const char* className, const char* pluginName)
Bool_t CanHandle(const char* base, const char* uri)
const char* GetBase() const
const char* GetPlugin() const
const char* GetRegexp() const
public:
TPluginHandler TPluginHandler(TPluginHandler&)
Int_t CheckPlugin()
static TClass* Class()
const char* GetClass() const
virtual TClass* IsA() const
Int_t LoadPlugin()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
TString fBase base class which will be extended by plugin
TString fRegexp regular expression which must be matched in URI
TString fClass class to be loaded from plugin library
TString fPlugin plugin library which should contain fClass
TPluginManager
This class implements a plugin library manager. It keeps track of
a list of plugin handlers. A plugin handler knows which plugin
library to load to get a specific class that is used to extend the
functionality of a specific base class. For example, to extend the
base class TFile to be able to read RFIO files one needs to load
the plugin library libRFIO.so which defines the TRFIOFile class.
This loading should be triggered when a given URI contains a
regular expression defined by the handler. Handlers can be defined
for example as resources in the .rootrc file, e.g.:
Plugin.TFile: ^rfio: TRFIOFile RFIO
Plugin.TSQLServer: ^mysql: TMySQLServer MySQL
+Plugin.TSQLServer: ^pgsql: TPgSQLServer PgSQL
Plugin handlers can also be registered at run time, e.g.:
gROOT->GetPluginManager()->AddHandler("TSQLServer", "^sapdb:",
"TSapDBServer", "SapDB");
A list of currently defined handlers can be printed using:
gROOT->GetPluginManager()->Print();
The use of the plugin library manager removes all textual references
to hard-coded class and library names and the resulting dependencies
in the base classes. The plugin manager is used to extend a.o.
TFile, TSQLServer, TGrid, etc. functionality.
TPluginHandler(const char *base, const char *regexp,
const char *className, const char *pluginName)
Create a plugin handler. Called by TPluginManager.
Bool_t CanHandle(const char *base, const char *uri)
Check if regular expression appears in the URI, if so return kTRUE.
Int_t CheckPlugin()
Check if the plugin library for this handler exits. Returns 0 on
when it exists and -1 in case the library does not exist.
Int_t LoadPlugin()
Load the plugin library for this handler. Returns 0 on successful loading
and -1 in case the library does not exist or in case of error.
Inline Functions
TPluginHandler TPluginHandler(const char* base, const char* regexp, const char* className, const char* pluginName)
const char* GetBase() const
const char* GetRegexp() const
const char* GetPlugin() const
const char* GetClass() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TPluginHandler TPluginHandler(TPluginHandler&)
Author: Fons Rademakers 26/1/2002
Last update: root/base:$Name: $:$Id: TPluginManager.cxx,v 1.5 2002/02/23 10:35:56 brun Exp $
Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.