cumbia-epics 1.x
C++ multi threaded library based on cumbia and the Epics control system
Public Types | Public Member Functions | List of all members
CumbiaEpics Class Reference

Cumbia implementation over the EPICS control system. More...

#include <cumbiaepics.h>

Inheritance diagram for CumbiaEpics:
Inheritance graph
[legend]

Public Types

enum  Type { CumbiaEpicsType = Cumbia::CumbiaUserType + 1 }
 

Public Member Functions

 CumbiaEpics ()
 
 CumbiaEpics (CuThreadFactoryImplI *tfi, CuThreadsEventBridgeFactory_I *teb)
 
void setThreadFactoryImpl (CuThreadFactoryImplI *tfi)
 
void setThreadEventsBridgeFactory (CuThreadsEventBridgeFactory_I *teb)
 
 ~CumbiaEpics ()
 
bool addAction (const std::string &source, CuDataListener *l, const CuEpicsActionFactoryI &f)
 Creates and registers a new action if an active one with the given source and type is not found. More...
 
void unlinkListener (const std::string &source, CuEpicsActionI::Type t, CuDataListener *l)
 
CuEpicsActionIfindAction (const std::string &source, CuEpicsActionI::Type t) const
 
CuThreadFactoryImplI * getThreadFactoryImpl () const
 
CuThreadsEventBridgeFactory_I * getThreadEventsBridgeFactory () const
 
virtual int getType () const
 

Detailed Description

Cumbia implementation over the EPICS control system.

Implementation

The CumbiaEpics class is an extension of the Cumbia base one. Its main task is managing the so called actions. An action represents a task associated to an EPICS pv (called source). Presently, reading from EPICS is the only action that can be accomplished by cumbia-epics. More types of actions are foreseen, such as a writer implementation. CuEpActionI defines the interface of an action. Operations include adding or removing data listeners, starting and stopping an action, sending and getting data to and from the underlying thread (for example retrieve or change the polling period of a source). CuMonitor implements the interface and holds a reference to an activity designed to receive events from EPICS.

Member Enumeration Documentation

◆ Type

Enumerator
CumbiaEpicsType 

Constructor & Destructor Documentation

◆ CumbiaEpics() [1/2]

CumbiaEpics::CumbiaEpics ( )

◆ CumbiaEpics() [2/2]

CumbiaEpics::CumbiaEpics ( CuThreadFactoryImplI *  tfi,
CuThreadsEventBridgeFactory_I *  teb 
)

◆ ~CumbiaEpics()

CumbiaEpics::~CumbiaEpics ( )

Member Function Documentation

◆ addAction()

bool CumbiaEpics::addAction ( const std::string &  source,
CuDataListener *  l,
const CuEpicsActionFactoryI f 
)

Creates and registers a new action if an active one with the given source and type is not found.

Returns
true an active action with the given source and type has been found and will be used
false a new action for the given source and type has been created and registered

References CuEpicsActionI::addDataListener(), CuEpicsActionFactoryService::CuActionFactoryServiceType, CuEpicsActionFactoryService::findActive(), CuEpicsActionFactoryI::getType(), CuEpicsActionFactoryService::registerAction(), CuEpicsWorld::source_valid(), and CuEpicsActionI::start().

◆ findAction()

CuEpicsActionI * CumbiaEpics::findAction ( const std::string &  source,
CuEpicsActionI::Type  t 
) const

◆ getThreadEventsBridgeFactory()

CuThreadsEventBridgeFactory_I * CumbiaEpics::getThreadEventsBridgeFactory ( ) const

◆ getThreadFactoryImpl()

CuThreadFactoryImplI * CumbiaEpics::getThreadFactoryImpl ( ) const

◆ getType()

int CumbiaEpics::getType ( ) const
virtual

References CumbiaEpicsType.

◆ setThreadEventsBridgeFactory()

void CumbiaEpics::setThreadEventsBridgeFactory ( CuThreadsEventBridgeFactory_I *  teb)

◆ setThreadFactoryImpl()

void CumbiaEpics::setThreadFactoryImpl ( CuThreadFactoryImplI *  tfi)

◆ unlinkListener()

void CumbiaEpics::unlinkListener ( const std::string &  source,
CuEpicsActionI::Type  t,
CuDataListener *  l 
)

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