Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ACSAlarmSystemInterfaceFactory Class Reference

#include <ACSAlarmSystemInterfaceFactory.h>

Collaboration diagram for ACSAlarmSystemInterfaceFactory:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

maci::Manager_ptr getManager ()
bool init (maci::Manager_ptr manager)
bool usingACSAlarmSystem ()
void done ()
auto_ptr< AlarmSystemInterfacecreateSource (string sourceName)
auto_ptr< AlarmSystemInterfacecreateSource ()
auto_ptr< acsalarm::FaultStatecreateFaultState (string family, string member, int code)
auto_ptr< acsalarm::FaultStatecreateFaultState ()
void createAndSendAlarm (string &faultFamily, string &faultMember, int faultCode, bool active, Properties &faultProperties)

Private Member Functions

 ACSAlarmSystemInterfaceFactory ()
virtual ~ACSAlarmSystemInterfaceFactory ()

Static Private Attributes

void * dllHandle
auto_ptr< AlarmSystemInterfacesharedSource
bool * m_useACSAlarmSystem
maci::Manager_ptr m_manager
AlarmSystemInterfaceFactorym_AlarmSystemInterfaceFactory_p

Detailed Description

The class to create sources and fault states. It extends the laser source but it returns different implementations of the sources depending of a value of a property of the CDB

The ACS implementation of the source logs a message for each alarm

Before using the static methods of this class, the init method must be called otherwise an exception is thrown.


Constructor & Destructor Documentation

ACSAlarmSystemInterfaceFactory::ACSAlarmSystemInterfaceFactory  )  [private]
 

Default constructor.

virtual ACSAlarmSystemInterfaceFactory::~ACSAlarmSystemInterfaceFactory  )  [private, virtual]
 


Member Function Documentation

void ACSAlarmSystemInterfaceFactory::createAndSendAlarm string &  faultFamily,
string &  faultMember,
int  faultCode,
bool  active,
Properties &  faultProperties
[static]
 

Experimental: Convenience API for creating/sending an alarm in a single step.

auto_ptr<acsalarm::FaultState> ACSAlarmSystemInterfaceFactory::createFaultState  )  [static]
 

Create a fault state

auto_ptr<acsalarm::FaultState> ACSAlarmSystemInterfaceFactory::createFaultState string  family,
string  member,
int  code
[static]
 

Create a fault state with the given family, member and code

auto_ptr<AlarmSystemInterface> ACSAlarmSystemInterfaceFactory::createSource  )  [static]
 

Create a new instance of an alarm system interface without binding it to any source.

Returns:
the interface instance.

auto_ptr<AlarmSystemInterface> ACSAlarmSystemInterfaceFactory::createSource string  sourceName  )  [static]
 

Create a new instance of an alarm system interface.

Parameters:
sourceName the source name.
Returns:
the interface instance.

void ACSAlarmSystemInterfaceFactory::done  )  [static]
 

Release the resources: must be called when finished using the methods of this class

maci::Manager_ptr ACSAlarmSystemInterfaceFactory::getManager  )  [inline, static]
 

bool ACSAlarmSystemInterfaceFactory::init maci::Manager_ptr  manager  )  [static]
 

Init the object of the class: must be called before using the other methods of this class otherwise an exception will be thrown. Return true if the initialization went ok

bool ACSAlarmSystemInterfaceFactory::usingACSAlarmSystem  )  [static]
 

Getter for whether we're using the ACS Alarm system (true) or not (false).


Member Data Documentation

void* ACSAlarmSystemInterfaceFactory::dllHandle [static, private]
 

AlarmSystemInterfaceFactory* ACSAlarmSystemInterfaceFactory::m_AlarmSystemInterfaceFactory_p [static, private]
 

maci::Manager_ptr ACSAlarmSystemInterfaceFactory::m_manager [static, private]
 

bool* ACSAlarmSystemInterfaceFactory::m_useACSAlarmSystem [static, private]
 

auto_ptr<AlarmSystemInterface> ACSAlarmSystemInterfaceFactory::sharedSource [static, private]
 


The documentation for this class was generated from the following file:
Generated on Sun Oct 29 02:30:11 2006 for ACS C++ API by doxygen 1.3.6