The Pedigree Project  0.1
Classes | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
ServiceManager Class Reference

#include <ServiceManager.h>

+ Collaboration diagram for ServiceManager:

Classes

class  InternalService
 

Public Member Functions

virtual ~ServiceManager ()
 
ServiceFeaturesenumerateOperations (const String &serviceName)
 
void addService (const String &serviceName, Service *s, ServiceFeatures *feats)
 
void removeService (const String &serviceName)
 
ServicegetService (const String &serviceName)
 

Static Public Member Functions

static ServiceManagerinstance ()
 

Private Attributes

RadixTree< InternalService * > m_Services
 

Static Private Attributes

static ServiceManager m_Instance
 

Detailed Description

Todo:
Integrate with the Event system somehow

Service Manager

The service manager controls Services in a central location, by allowing them to be referred to by name.

It also provides services such as enumeration of Service operations.

Definition at line 39 of file ServiceManager.h.

Constructor & Destructor Documentation

ServiceManager::~ServiceManager ( )
virtual
Todo:
Delete all the pointers!

Definition at line 31 of file ServiceManager.cc.

Member Function Documentation

void ServiceManager::addService ( const String serviceName,
Service s,
ServiceFeatures feats 
)

Adds a service to the manager

Definition at line 46 of file ServiceManager.cc.

References ServiceManager::InternalService::pFeatures, and ServiceManager::InternalService::pService.

Referenced by PartitionService::serve().

+ Here is the caller graph for this function:

ServiceFeatures * ServiceManager::enumerateOperations ( const String serviceName)

Enumerates all possible operations that can be performed for a given Service

Definition at line 36 of file ServiceManager.cc.

Referenced by StreamingScreenLogger::callback(), RtcFile::command(), CdiDisk::initialise(), ScsiDisk::initialise(), panic(), and Debugger::start().

+ Here is the caller graph for this function:

Service * ServiceManager::getService ( const String serviceName)

Gets the Service object for a service

Definition at line 60 of file ServiceManager.cc.

Referenced by StreamingScreenLogger::callback(), RtcFile::command(), CdiDisk::initialise(), ScsiDisk::initialise(), panic(), and Debugger::start().

+ Here is the caller graph for this function:

void ServiceManager::removeService ( const String serviceName)

Removes a service from the manager

Definition at line 55 of file ServiceManager.cc.

Referenced by PartitionService::serve().

+ Here is the caller graph for this function:

Member Data Documentation

RadixTree<InternalService *> ServiceManager::m_Services
private

Services we know about

Definition at line 81 of file ServiceManager.h.


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