vdr 2.7.3
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

Definition at line 499 of file plugin.c.

References pluginManager, and cPlugin::Service().

Referenced by cPluginSvcCli::MainMenuAction().

◆ CallFirstService()

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

Definition at line 487 of file plugin.c.

References pluginManager, and cPlugin::Service().

Referenced by cPluginSvcCli::MainMenuAction().

◆ 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 cPlugin::Name(), and pluginManager.

◆ GetPlugin() [2/2]

◆ HasPlugins()

bool cPluginManager::HasPlugins ( void )
static

Definition at line 464 of file plugin.c.

References pluginManager.

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

◆ Housekeeping()

void cPluginManager::Housekeeping ( void )

Definition at line 402 of file plugin.c.

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

Referenced by main().

◆ InitializePlugins()

bool cPluginManager::InitializePlugins ( void )

Definition at line 375 of file plugin.c.

References cPlugin::Description(), dlls, cPlugin::Initialize(), isyslog, cPlugin::Name(), and cPlugin::Version().

Referenced by main().

◆ LoadPlugins()

bool cPluginManager::LoadPlugins ( bool Log = false)

Definition at line 366 of file plugin.c.

References dlls.

Referenced by main().

◆ MainThreadHook()

void cPluginManager::MainThreadHook ( void )

Definition at line 418 of file plugin.c.

References cPlugin::MainThreadHook(), 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 dlls, isyslog, 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, isyslog, cPlugin::Name(), cPlugin::Start(), and cPlugin::started.

Referenced by main().

◆ StopPlugins()

void cPluginManager::StopPlugins ( void )

Definition at line 512 of file plugin.c.

References dlls, isyslog, cPlugin::Name(), 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: