vdr 2.6.1
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 87 of file plugin.h.

Constructor & Destructor Documentation

◆ cPluginManager()

cPluginManager::cPluginManager ( const char *  Directory)

Definition at line 303 of file plugin.c.

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

◆ ~cPluginManager()

cPluginManager::~cPluginManager ( )
virtual

Definition at line 316 of file plugin.c.

References directory, pluginManager, and Shutdown().

Member Function Documentation

◆ Active()

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

◆ AddPlugin()

void cPluginManager::AddPlugin ( const char *  Args)

◆ CallAllServices()

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

◆ CallFirstService()

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

◆ GetNextWakeupPlugin()

cPlugin * cPluginManager::GetNextWakeupPlugin ( void  )
static

◆ GetPlugin() [1/2]

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

Definition at line 475 of file plugin.c.

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

◆ GetPlugin() [2/2]

cPlugin * cPluginManager::GetPlugin ( int  Index)
static

◆ HasPlugins()

bool cPluginManager::HasPlugins ( void  )
static

Definition at line 464 of file plugin.c.

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

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

◆ Housekeeping()

void cPluginManager::Housekeeping ( void  )

◆ InitializePlugins()

bool cPluginManager::InitializePlugins ( void  )

◆ LoadPlugins()

bool cPluginManager::LoadPlugins ( bool  Log = false)

Definition at line 366 of file plugin.c.

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

Referenced by main().

◆ MainThreadHook()

void cPluginManager::MainThreadHook ( void  )

Definition at line 418 of file plugin.c.

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

Referenced by main().

◆ SetDirectory()

void cPluginManager::SetDirectory ( const char *  Directory)

Definition at line 324 of file plugin.c.

References directory.

Referenced by cPluginManager(), and main().

◆ Shutdown()

void cPluginManager::Shutdown ( bool  Log = false)

Definition at line 524 of file plugin.c.

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

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

◆ StartPlugins()

bool cPluginManager::StartPlugins ( void  )

Definition at line 388 of file plugin.c.

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

Referenced by main().

◆ StopPlugins()

void cPluginManager::StopPlugins ( void  )

Definition at line 512 of file plugin.c.

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

Referenced by main().

Member Data Documentation

◆ directory

char* cPluginManager::directory
private

Definition at line 90 of file plugin.h.

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

◆ dlls

cDlls cPluginManager::dlls
private

◆ lastHousekeeping

time_t cPluginManager::lastHousekeeping
private

Definition at line 91 of file plugin.h.

Referenced by cPluginManager(), and Housekeeping().

◆ nextHousekeeping

int cPluginManager::nextHousekeeping
private

Definition at line 92 of file plugin.h.

Referenced by cPluginManager(), and Housekeeping().

◆ pluginManager

cPluginManager * cPluginManager::pluginManager = NULL
staticprivate

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