IO::DeviceManager Class Reference

#include <DeviceManager.h>

Public Member Functions

void registerController (Controller &controller)
 Controllers register themselves so they can be located. More...
 
void registerDeviceClass (const Device::Factory &devclass)
 Device classes call this to register themselves. More...
 
ControllerfindController (const String &id)
 
ErrorCode begin (JsonObjectConst config)
 Load device config and create device tree. More...
 
ErrorCode end ()
 
void start ()
 
ErrorCode stop ()
 
bool canStop () const
 
DevicefindDevice (const String &id)
 
template<class DeviceClass >
bool findDevice (const String &id, DeviceClass *&dev)
 
ErrorCode createRequest (const String &devid, Request *&request)
 
template<class RequestClass >
ErrorCode createRequest (const String &devid, RequestClass *&request)
 
void setCallback (Request::Callback callback)
 set the callback handler function for all I/O requests More...
 
void invokeCallback (Request &request)
 invoke the callback, if one is registered More...
 
ErrorCode handleMessage (JsonObject json, Request::Callback callback)
 

Member Function Documentation

◆ begin()

ErrorCode IO::DeviceManager::begin ( JsonObjectConst  config)

Load device config and create device tree.

◆ canStop()

bool IO::DeviceManager::canStop ( ) const

◆ createRequest() [1/2]

ErrorCode IO::DeviceManager::createRequest ( const String devid,
Request *&  request 
)

◆ createRequest() [2/2]

template<class RequestClass >
ErrorCode IO::DeviceManager::createRequest ( const String devid,
RequestClass *&  request 
)
inline

◆ end()

ErrorCode IO::DeviceManager::end ( )

◆ findController()

Controller* IO::DeviceManager::findController ( const String id)
inline

◆ findDevice() [1/2]

Device* IO::DeviceManager::findDevice ( const String id)

◆ findDevice() [2/2]

template<class DeviceClass >
bool IO::DeviceManager::findDevice ( const String id,
DeviceClass *&  dev 
)
inline

◆ handleMessage()

ErrorCode IO::DeviceManager::handleMessage ( JsonObject  json,
Request::Callback  callback 
)

◆ invokeCallback()

void IO::DeviceManager::invokeCallback ( Request request)
inline

invoke the callback, if one is registered

Note
called by Controller

◆ registerController()

void IO::DeviceManager::registerController ( Controller controller)

Controllers register themselves so they can be located.

Note
we don't own the controller; these are typically static objects

◆ registerDeviceClass()

void IO::DeviceManager::registerDeviceClass ( const Device::Factory devclass)

Device classes call this to register themselves.

◆ setCallback()

void IO::DeviceManager::setCallback ( Request::Callback  callback)
inline

set the callback handler function for all I/O requests

Note
Callback invoked twice; once when executed, then again when completed.

◆ start()

void IO::DeviceManager::start ( )

◆ stop()

ErrorCode IO::DeviceManager::stop ( )

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