BeeeOn Gateway  v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
Public Types | Public Member Functions | Protected Member Functions
BeeeOn::GWRequest Class Reference

Abstract class representing a request message. The GWRequest can not be used alone, but it must be inherited by a specific request object. More...

#include <GWRequest.h>

Inheritance diagram for BeeeOn::GWRequest:
BeeeOn::GWMessage BeeeOn::GWDeviceAcceptRequest BeeeOn::GWDeviceListRequest BeeeOn::GWLastValueRequest BeeeOn::GWListenRequest BeeeOn::GWNewDeviceGroupRequest BeeeOn::GWNewDeviceRequest BeeeOn::GWNoticeRequest BeeeOn::GWSearchRequest BeeeOn::GWSetValueRequest BeeeOn::GWUnpairRequest

Public Types

typedef Poco::SharedPtr
< GWRequest
Ptr
 
- Public Types inherited from BeeeOn::GWMessage
typedef Poco::SharedPtr
< GWMessage
Ptr
 

Public Member Functions

template<typename T >
Poco::SharedPtr< T > derive (std::function< void(Poco::SharedPtr< T >)> f=[](Poco::SharedPtr< T >){}) const
 Derive the appropriate response and apply the given function to construct it.
 
GWResponse::Ptr derive (std::function< void(GWResponse::Ptr)> f=[](GWResponse::Ptr){}) const
 Derive the appropriate response and apply the given function to construct it.
 
- Public Member Functions inherited from BeeeOn::GWMessage
void setID (const GlobalID &id)
 Set unique identifier intended to match request message with its response.
 
GlobalID id () const
 Return unique identifier intended to match request message with its response.
 
GWMessageType type () const
 Returns the type of the message.
 
std::string toString () const
 Returns the string representation of the message.
 
std::string toBriefString () const
 

Protected Member Functions

 GWRequest (const GWMessageType::Raw &type)
 
 GWRequest (const Poco::JSON::Object::Ptr object)
 
virtual GWResponse::Ptr deriveResponse () const
 
GWResponse::Ptr deriveGenericResponse (GWResponse::Ptr response) const
 
- Protected Member Functions inherited from BeeeOn::GWMessage
 GWMessage (const GWMessageType::Raw &type)
 Constructs a GWMessage depending on the given type. More...
 
 GWMessage (const Poco::JSON::Object::Ptr object)
 Constructs a GWMessage from the JSON::Object.
 
Poco::JSON::Object::Ptr json () const
 

Additional Inherited Members

- Static Public Member Functions inherited from BeeeOn::GWMessage
static GWMessage::Ptr fromJSON (const std::string &json)
 Factory method for creating subclasses of the GWMessage from the json string. More...
 
static GWMessage::Ptr fromJSON (Poco::JSON::Object::Ptr object)
 Factory method for creating subclasses of the GWMessage from the JSON::Object. More...
 

Detailed Description

Abstract class representing a request message. The GWRequest can not be used alone, but it must be inherited by a specific request object.

The GWRequest contains unique identifier intended to match a response to a proper request. After request is sent, the sender expect a response with the given id.

Each GWRequest that would generate a specific response should override the default implementation of the deriveResponse() method.


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