Imported Upstream version 1.1.0
[platform/upstream/iotivity.git] / service / resource-container / bundle-api / include / ProtocolBridgeConnector.h
1 //******************************************************************
2 //
3 // Copyright 2015 Samsung Electronics All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21 #ifndef PROTOCOLBRIDGECONNECTOR_H_
22 #define PROTOCOLBRIDGECONNECTOR_H_
23
24 #include "BundleResource.h"
25 #include <map>
26 #include <string>
27
28 namespace OIC
29 {
30     namespace Service
31     {
32
33         /**
34         * @class    ProtocolBridgeConnector
35         * @brief    This class represents connector
36         *               to bridge non-IoTivity protocol and IoTivity for Protocol Bridge
37         *
38         */
39         class ProtocolBridgeConnector
40         {
41             public:
42
43                 /**
44                 * Constructor for ProtocolBridgeConnector
45                 */
46                 ProtocolBridgeConnector() { };
47
48                 /**
49                 * Virtual destructor for ProtocolBridgeConnector
50                 */
51                 virtual ~ProtocolBridgeConnector() { };
52
53                 /**
54                 * Execute the logic needed for connection with different protocol from IoTivity
55                 *
56                 * @return void
57                 */
58                 virtual void connect() = 0;
59
60                 /**
61                 * Execute the logic needed for disconnection with different protocol from IoTivity
62                 *
63                 * @return void
64                 */
65                 virtual void disconnect() = 0;
66         };
67     }
68 }
69
70 #endif