vdr  2.2.0
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
cPluginManager Class Reference

#include <plugin.h>

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 83 of file plugin.h.

Constructor & Destructor Documentation

cPluginManager::cPluginManager ( const char *  Directory)

Definition at line 291 of file plugin.c.

cPluginManager::~cPluginManager ( )
virtual

Definition at line 304 of file plugin.c.

Member Function Documentation

bool cPluginManager::Active ( const char *  Prompt = NULL)
static
void cPluginManager::AddPlugin ( const char *  Args)
bool cPluginManager::CallAllServices ( const char *  Id,
void *  Data = NULL 
)
static

Definition at line 487 of file plugin.c.

References cListObject::Next(), and cPlugin::Service().

Referenced by cPluginSvcCli::MainMenuAction().

cPlugin * cPluginManager::CallFirstService ( const char *  Id,
void *  Data = NULL 
)
static
cPlugin * cPluginManager::GetNextWakeupPlugin ( void  )
static
cPlugin * cPluginManager::GetPlugin ( int  Index)
static
cPlugin * cPluginManager::GetPlugin ( const char *  Name)
static

Definition at line 463 of file plugin.c.

References cPlugin::Name(), and cListObject::Next().

bool cPluginManager::HasPlugins ( void  )
static

Definition at line 452 of file plugin.c.

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

void cPluginManager::Housekeeping ( void  )

Definition at line 390 of file plugin.c.

References cPlugin::Housekeeping(), HOUSEKEEPINGDELTA, and cDll::Plugin().

Referenced by main().

bool cPluginManager::InitializePlugins ( void  )
bool cPluginManager::LoadPlugins ( bool  Log = false)

Definition at line 354 of file plugin.c.

References cListObject::Next().

Referenced by main().

void cPluginManager::MainThreadHook ( void  )

Definition at line 406 of file plugin.c.

References cPlugin::MainThreadHook(), and cListObject::Next().

Referenced by main().

void cPluginManager::SetDirectory ( const char *  Directory)

Definition at line 312 of file plugin.c.

Referenced by main().

void cPluginManager::Shutdown ( bool  Log = false)

Definition at line 512 of file plugin.c.

References isyslog, cPlugin::Name(), and cDll::Plugin().

Referenced by main().

bool cPluginManager::StartPlugins ( void  )

Definition at line 376 of file plugin.c.

References isyslog, cPlugin::Name(), cListObject::Next(), cPlugin::Start(), and cPlugin::started.

Referenced by main().

void cPluginManager::StopPlugins ( void  )

Definition at line 500 of file plugin.c.

References isyslog, cPlugin::Name(), cListObject::Prev(), cPlugin::started, and cPlugin::Stop().

Referenced by main().

Member Data Documentation

char* cPluginManager::directory
private

Definition at line 86 of file plugin.h.

cDlls cPluginManager::dlls
private

Definition at line 89 of file plugin.h.

time_t cPluginManager::lastHousekeeping
private

Definition at line 87 of file plugin.h.

int cPluginManager::nextHousekeeping
private

Definition at line 88 of file plugin.h.

cPluginManager * cPluginManager::pluginManager = NULL
staticprivate

Definition at line 85 of file plugin.h.

Referenced by cDll::Load().


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