hwdet::DistributionRegistry Class Reference

Manages list of all distribution specific detector classes. More...

#include <DistributionRegistry.h>


Public Member Functions

 DistributionRegistry (MessageReporter *parent_reporter)
 Create new registry.
 ~DistributionRegistry (void)
 Destroy registry.
void Register (Distribution *distro)
 Register new distro handler.
DistributionGetBestFit (void)
 Get best handler for current OS.

Private Member Functions

 DistributionRegistry (const DistributionRegistry &)
 Private copy ctor.
DistributionRegistry operator= (const DistributionRegistry &)
 Undefined to prevent copying.

Private Attributes

std::vector< Distribution * > registry
 List of registered distribution handlers.
DefaultDistributiondefault_distro
 Default distribution.


Detailed Description

Manages list of all distribution specific detector classes.

This class maintains registry of all user-defined handlers for specific distributions of Linux. It can select handler that is most suitable for current operating system. Note that handler registration is not automatic and you have to register handlers via the Register method.


Constructor & Destructor Documentation

hwdet::DistributionRegistry::DistributionRegistry ( MessageReporter parent_reporter  )  [inline]

Create new registry.

Parameters:
parent_reporter Reported used by the DefaultDistribution class to dispatch messages.

hwdet::DistributionRegistry::~DistributionRegistry ( void   )  [inline]

Destroy registry.

hwdet::DistributionRegistry::DistributionRegistry ( const DistributionRegistry  )  [inline, private]

Private copy ctor.


Member Function Documentation

Distribution* hwdet::DistributionRegistry::GetBestFit ( void   )  [inline]

Get best handler for current OS.

This will pick most suitable distribution handler for current system. Best handler is picked based on the value of its fitness function (as determined by the Distribution::GetFitness method). Highest fitness is best. For more detailed description of the fitness function, see documentation for the Distribution class. Note that this will always search all registered distros.

Returns:
Pointer to the most suitable distribution handler. If no suitable handler is found, instance of the DefaultDistribution is returned. You should not free returned pointer by yourself!

DistributionRegistry hwdet::DistributionRegistry::operator= ( const DistributionRegistry  )  [private]

Undefined to prevent copying.

Returns:
Copy of this (not :).

void hwdet::DistributionRegistry::Register ( Distribution distro  )  [inline]

Register new distro handler.

Parameters:
distro Distribution to register.


Field Documentation

DefaultDistribution* hwdet::DistributionRegistry::default_distro [private]

Default distribution.

std::vector< Distribution * > hwdet::DistributionRegistry::registry [private]

List of registered distribution handlers.


The documentation for this class was generated from the following file:
Generated on Tue Dec 19 17:43:51 2006 for Detector for Linux by  doxygen 1.4.7