Keyple C++  0.9.0
Keyple, an Open Source SDK for Ticketing
Public Member Functions | Protected Attributes | List of all members
keyple::core::seproxy::plugin::AbstractMonitoringJob Class Referenceabstract

#include <AbstractMonitoringJob.h>

Inherited by keyple::core::seproxy::plugin::CardAbsentPingMonitoringJob, keyple::core::seproxy::plugin::CardPresentMonitoringJob, keyple::core::seproxy::plugin::SmartInsertionMonitoringJob, and keyple::core::seproxy::plugin::SmartRemovalMonitoringJob.

Public Member Functions

 AbstractMonitoringJob ()
 
virtual ~AbstractMonitoringJob ()
 
virtual std::future< void > startMonitoring (AbstractObservableState *state, std::atomic< bool > &cancellationFlag)=0
 
virtual void stop ()
 
bool isRunning () const
 

Protected Attributes

std::atomic< bool > mRunning
 

Detailed Description

Monitoring jobs abstract class.

Observable readers can instantiate AbstractMonitoringJob to perform background processing during the different states of the generic state machine.

Internal events (keyple::core::seproxy::plugin::InternalEvent) can be fired to change the state of the machine via the AbstractObservableState class passed as a constructor's argument.

Standard AbstractMonitoringJob are already defined in the local.monitoring package but it is possible to define new ones within a plugin reader if necessary, implementing this abstract class.

Constructor & Destructor Documentation

◆ AbstractMonitoringJob()

keyple::core::seproxy::plugin::AbstractMonitoringJob::AbstractMonitoringJob ( )
inline

◆ ~AbstractMonitoringJob()

virtual keyple::core::seproxy::plugin::AbstractMonitoringJob::~AbstractMonitoringJob ( )
inlinevirtual

Member Function Documentation

◆ isRunning()

bool keyple::core::seproxy::plugin::AbstractMonitoringJob::isRunning ( ) const
inline

◆ startMonitoring()

virtual std::future<void> keyple::core::seproxy::plugin::AbstractMonitoringJob::startMonitoring ( AbstractObservableState state,
std::atomic< bool > &  cancellationFlag 
)
pure virtual

◆ stop()

virtual void keyple::core::seproxy::plugin::AbstractMonitoringJob::stop ( )
inlinevirtual

Member Data Documentation

◆ mRunning

std::atomic<bool> keyple::core::seproxy::plugin::AbstractMonitoringJob::mRunning
protected

C++ vs. Java: running flag


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