cPluginManager Class Reference

#include <plugin.h>

Collaboration diagram for cPluginManager:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cPluginManager (const char *Directory)
virtual ~cPluginManager ()
void SetDirectory (const char *Directory)
void AddPlugin (const char *Args)
bool LoadPlugins (bool Log=false)
bool InitializePlugins (void)
bool StartPlugins (void)
void Housekeeping (void)
void MainThreadHook (void)
void StopPlugins (void)
void Shutdown (bool Log=false)

Static Public Member Functions

static bool Active (const char *Prompt=NULL)
static cPluginGetNextWakeupPlugin (void)
static bool HasPlugins (void)
static cPluginGetPlugin (int Index)
static cPluginGetPlugin (const char *Name)
static cPluginCallFirstService (const char *Id, void *Data=NULL)
static bool CallAllServices (const char *Id, void *Data=NULL)

Private Attributes

char * directory
time_t lastHousekeeping
int nextHousekeeping
cDlls dlls

Static Private Attributes

static cPluginManagerpluginManager = NULL


Detailed Description

Definition at line 79 of file plugin.h.


Constructor & Destructor Documentation

cPluginManager::cPluginManager ( const char *  Directory  ) 

Definition at line 266 of file plugin.c.

References directory, lastHousekeeping, nextHousekeeping, pluginManager, and SetDirectory().

Here is the call graph for this function:

cPluginManager::~cPluginManager (  )  [virtual]

Definition at line 279 of file plugin.c.

References directory, pluginManager, and Shutdown().

Here is the call graph for this function:


Member Function Documentation

void cPluginManager::SetDirectory ( const char *  Directory  ) 

Definition at line 287 of file plugin.c.

References directory.

Referenced by cPluginManager(), and main().

void cPluginManager::AddPlugin ( const char *  Args  ) 

Definition at line 293 of file plugin.c.

References cListBase::Add(), APIVERSION, directory, dlls, LIBVDR_PREFIX, cReadDir::Next(), skipspace(), SO_INDICATOR, and cString::sprintf().

Referenced by main().

Here is the call graph for this function:

bool cPluginManager::LoadPlugins ( bool  Log = false  ) 

Definition at line 323 of file plugin.c.

References dlls, cList< T >::First(), and cList< T >::Next().

Referenced by main().

Here is the call graph for this function:

bool cPluginManager::InitializePlugins ( void   ) 

Definition at line 332 of file plugin.c.

References cPlugin::Description(), dlls, cList< T >::First(), cPlugin::Initialize(), isyslog, cPlugin::Name(), cList< T >::Next(), and cPlugin::Version().

Referenced by main().

Here is the call graph for this function:

bool cPluginManager::StartPlugins ( void   ) 

Definition at line 345 of file plugin.c.

References dlls, cList< T >::First(), isyslog, cPlugin::Name(), cList< T >::Next(), cPlugin::Start(), and cPlugin::started.

Referenced by main().

Here is the call graph for this function:

void cPluginManager::Housekeeping ( void   ) 

Definition at line 359 of file plugin.c.

References cListBase::Count(), dlls, cList< T >::Get(), cPlugin::Housekeeping(), HOUSEKEEPINGDELTA, lastHousekeeping, nextHousekeeping, and cDll::Plugin().

Referenced by main().

Here is the call graph for this function:

void cPluginManager::MainThreadHook ( void   ) 

Definition at line 375 of file plugin.c.

References dlls, cList< T >::First(), cPlugin::MainThreadHook(), cList< T >::Next(), and pluginManager.

Referenced by main().

Here is the call graph for this function:

bool cPluginManager::Active ( const char *  Prompt = NULL  )  [static]

cPlugin * cPluginManager::GetNextWakeupPlugin ( void   )  [static]

Definition at line 401 of file plugin.c.

References dlls, cList< T >::First(), cList< T >::Next(), pluginManager, and cPlugin::WakeupTime().

Referenced by cShutdownHandler::ConfirmShutdown(), and cShutdownHandler::DoShutdown().

Here is the call graph for this function:

bool cPluginManager::HasPlugins ( void   )  [static]

Definition at line 421 of file plugin.c.

References cListBase::Count(), dlls, and pluginManager.

Referenced by main(), and cMenuSetup::Set().

Here is the call graph for this function:

cPlugin * cPluginManager::GetPlugin ( int  Index  )  [static]

cPlugin * cPluginManager::GetPlugin ( const char *  Name  )  [static]

Definition at line 432 of file plugin.c.

References dlls, cList< T >::First(), cPlugin::Name(), cList< T >::Next(), and pluginManager.

Here is the call graph for this function:

cPlugin * cPluginManager::CallFirstService ( const char *  Id,
void *  Data = NULL 
) [static]

Definition at line 444 of file plugin.c.

References dlls, cList< T >::First(), cList< T >::Next(), pluginManager, and cPlugin::Service().

Referenced by cPluginSvcCli::MainMenuAction().

Here is the call graph for this function:

bool cPluginManager::CallAllServices ( const char *  Id,
void *  Data = NULL 
) [static]

Definition at line 456 of file plugin.c.

References dlls, cList< T >::First(), cList< T >::Next(), pluginManager, and cPlugin::Service().

Referenced by cPluginSvcCli::MainMenuAction().

Here is the call graph for this function:

void cPluginManager::StopPlugins ( void   ) 

Definition at line 469 of file plugin.c.

References dlls, isyslog, cList< T >::Last(), cPlugin::Name(), cList< T >::Prev(), cPlugin::started, and cPlugin::Stop().

Referenced by main().

Here is the call graph for this function:

void cPluginManager::Shutdown ( bool  Log = false  ) 

Definition at line 481 of file plugin.c.

References cListBase::Del(), dlls, isyslog, cList< T >::Last(), cPlugin::Name(), and cDll::Plugin().

Referenced by main(), and ~cPluginManager().

Here is the call graph for this function:


Member Data Documentation

cPluginManager * cPluginManager::pluginManager = NULL [static, private]

char* cPluginManager::directory [private]

Definition at line 82 of file plugin.h.

Referenced by AddPlugin(), cPluginManager(), SetDirectory(), and ~cPluginManager().

Definition at line 83 of file plugin.h.

Referenced by cPluginManager(), and Housekeeping().

Definition at line 84 of file plugin.h.

Referenced by cPluginManager(), and Housekeeping().


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

Generated on Tue Jan 13 14:31:12 2009 for VDR by  doxygen 1.5.6