Merge "Partial Implementation of US1574:"
[platform/upstream/iotivity.git] / csdk / controller / core / test / MockProtocol.h
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Mobile Communications GmbH 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 MOCKPROTOCOL_H_
22 #define MOCKPROTOCOL_H_
23
24 // ============================================================================
25 // Includes
26 // ============================================================================
27 #include <memory>
28 #include <string>
29 #include <functional>
30 #include "Protocol.hpp"
31 #include "Core.h"
32
33 // ============================================================================
34 // Namespace
35 // ============================================================================
36 namespace Intel {
37 namespace CCFL {
38 namespace Protocols {
39
40 // ============================================================================
41 // Class
42 // ============================================================================
43 class MockProtocol : public Protocol
44 {
45 public:
46         MockProtocol();
47         virtual ~MockProtocol();
48 public:
49         virtual void setModel(const std::shared_ptr<Intel::CCFL::API::Model>& model);
50         virtual const Handle getHandle();
51         virtual void setHandle(const Handle handle);
52         virtual const std::string& getName();
53         virtual void setName(const std::string& name);
54         virtual void forceDeviceDiscovery();
55
56 private:
57         std::string name_;
58         Handle handle_;
59         std::weak_ptr<API::Model> model_;
60
61 // Test interface
62 public:
63         void testAddDevice(const UUID_t& deviceId, const std::string deviceName);
64         void testRemoveDevice(const UUID_t& deviceId);
65 private:
66         static const std::string MOCK_DEVICE_ID;
67
68 };
69
70
71 }
72 }
73 }
74
75 #endif /* MOCKPROTOCOL_H_ */