1 /******************************************************************
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 ******************************************************************/
21 #ifndef SIMULATOR_CLIENT_TYPES_H_
22 #define SIMULATOR_CLIENT_TYPES_H_
27 #include "simulator_error_codes.h"
29 enum class ObserveType
35 enum class RequestType
47 SimulatorResult errorCode;
59 /** use when defaults are ok. */
60 SIMULATOR_CT_DEFAULT = 0,
62 /** IPv4 and IPv6, including 6LoWPAN.*/
63 SIMULATOR_CT_ADAPTER_IP = (1 << 16),
65 /** GATT over Bluetooth LE.*/
66 SIMULATOR_CT_ADAPTER_GATT_BTLE = (1 << 17),
68 /** RFCOMM over Bluetooth EDR.*/
69 SIMULATOR_CT_ADAPTER_RFCOMM_BTEDR = (1 << 18),
72 /** Remote Access over XMPP.*/
73 SIMULATOR_CT_ADAPTER_REMOTE_ACCESS = (1 << 19),
76 /** Insecure transport is the default (subject to change).*/
78 /** secure the transport path.*/
79 SIMULATOR_CT_FLAG_SECURE = (1 << 4),
81 /** IPv4 & IPv6 autoselection is the default.*/
83 /** IP adapter only.*/
84 SIMULATOR_CT_IP_USE_V6 = (1 << 5),
86 /** IP adapter only.*/
87 SIMULATOR_CT_IP_USE_V4 = (1 << 6),
89 /** Link-Local multicast is the default multicast scope for IPv6.
90 * These are placed here to correspond to the IPv6 address bits.*/
92 /** IPv6 Interface-Local scope(loopback).*/
93 SIMULATOR_CT_SCOPE_INTERFACE = 0x1,
95 /** IPv6 Link-Local scope (default).*/
96 SIMULATOR_CT_SCOPE_LINK = 0x2,
98 /** IPv6 Realm-Local scope.*/
99 SIMULATOR_CT_SCOPE_REALM = 0x3,
101 /** IPv6 Admin-Local scope.*/
102 SIMULATOR_CT_SCOPE_ADMIN = 0x4,
104 /** IPv6 Site-Local scope.*/
105 SIMULATOR_CT_SCOPE_SITE = 0x5,
107 /** IPv6 Organization-Local scope.*/
108 SIMULATOR_CT_SCOPE_ORG = 0x8,
110 /** IPv6 Global scope.*/
111 SIMULATOR_CT_SCOPE_GLOBAL = 0xE,
112 } SimulatorConnectivityType;
114 class SimulatorRemoteResource;
115 typedef std::function<void(std::shared_ptr<SimulatorRemoteResource>)>
116 ResourceFindCallback;