BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
Public Member Functions | Protected Member Functions
BeeeOn::AbstractDIWrapper< T > Class Template Reference

#include <DIWrapper.h>

Inheritance diagram for BeeeOn::AbstractDIWrapper< T >:
BeeeOn::DIWrapper

Public Member Functions

Poco::SharedPtr< T > instance ()
 
void * raw () const override
 
int referenceCount () override
 
const std::type_info & type () const override
 

Protected Member Functions

void injectRef (const std::string &name, DIWrapper &wrapper) override
 
void injectNumber (const std::string &name, double value) override
 
void injectText (const std::string &name, const std::string &value) override
 
void injectTime (const std::string &name, const Poco::Timespan &value) override
 
void injectList (const std::string &name, const std::list< Poco::Dynamic::Var > &l) override
 
void injectMap (const std::string &name, const std::map< Poco::Dynamic::Var, Poco::Dynamic::Var > &m) override
 
template<typename Setter , typename Target >
void injectGeneric (const std::string &name, Target &value, const std::string &property)
 
void callHook (const std::string &name) override
 
bool hasHook (const std::string &name) const override
 
template<typename B , typename I >
void setter (const std::string &name, void(B::*setter)(I *))
 
template<typename B , typename I >
void setter (const std::string &name, void(B::*setter)(Poco::SharedPtr< I >))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(int))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(double))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(bool))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(const std::string &))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(const char))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(const Poco::Timespan &))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(const std::list< std::string > &))
 
template<typename B >
void setter (const std::string &name, void(B::*setter)(const std::map< std::string, std::string > &))
 
template<typename B >
void hookHandler (const std::string &name, void(B::*hook)())
 
void installMethod (const std::string &name, DIWMethodHelper *helper)
 

Detailed Description

template<typename T>
class BeeeOn::AbstractDIWrapper< T >

Abstract implementation of wrapper. It holds the underlying instance as Poco::SharedPtr<T>.

Member Function Documentation

template<typename T >
void BeeeOn::AbstractDIWrapper< T >::installMethod ( const std::string &  name,
DIWMethodHelper helper 
)
protected

Generic install method implementation to be used by all other templated install methods. Installs the given DIWMethodHelper into the m_method map.

template<typename T >
Poco::SharedPtr< T > BeeeOn::AbstractDIWrapper< T >::instance ( )

Get shared pointer of the underlying instance.

template<typename T >
void * BeeeOn::AbstractDIWrapper< T >::raw ( ) const
overridevirtual

Return pointer to Poco::SharedPtr<?>

Implements BeeeOn::DIWrapper.

template<typename T >
int BeeeOn::AbstractDIWrapper< T >::referenceCount ( )
overridevirtual

Return count of references in the Poco::SharedPtr<?>

Implements BeeeOn::DIWrapper.

template<typename T >
const std::type_info & BeeeOn::AbstractDIWrapper< T >::type ( ) const
overridevirtual

Return type of the underlying instance. This is typeid(?) from Poco::SharedPtr<?>.

Implements BeeeOn::DIWrapper.


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