summaryrefslogtreecommitdiff
path: root/src/3rd_party-static/message_broker/src/example/MessageBrokerControllerAVA.hpp
blob: 47e684a7e4b951591869c05e68d3e91e300c1e32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/**
 * \file MessageBrokerControllerAVA.hpp
 * \brief MessageBroker Controller AVA.
 * \author AKara
 */

#ifndef MB_CONTROLLERAVA_H 
#define MB_CONTROLLERAVA_H 

#include <iostream>

#include "json/json.h"

#include "mb_controller.hpp"

/**
 * \namespace NsMessageBroker
 * \brief MessageBroker related functions.
 */ 
namespace NsMessageBroker
{
   /**
    * \class CMessageBrokerControllerAVA
    * \brief MessageBroker Controller.
    */
   class CMessageBrokerControllerAVA : public CMessageBrokerController
   {
      public:
         /**
         * \brief Constructor.
         * \param address remote network address or FQDN
         * \param port remote local port
         */
         CMessageBrokerControllerAVA(const std::string& address, uint16_t port);

         /**
         * \brief Destructor.
         */
         ~CMessageBrokerControllerAVA();

          /**
         * \brief process request.
         * \param root JSON message.
         */
        void processRequest(Json::Value& root);

         /**
         * \brief process notification.
         * \param root JSON message.
         */
        void processNotification(Json::Value& root);

         /**
         * \brief process response.
         * \param method method name which has been called.
         * \param root JSON message.
         */
         void processResponse(std::string method, Json::Value& root);

         /**
         * \brief sends message to the phone to make call.
         * \param phoneNumber number for call.
         */
         void makeCall(std::string phoneNumber);

   };
}/* namespace NsMessageBroker */
#endif /* MB_CONTROLLERAVA_H */