1 /******************************************************************
3 * Copyright 2016 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 #include "oc_interface_details.h"
23 OCInterfaceDetails::OCInterfaceDetails()
25 m_interfaces[OC::DEFAULT_INTERFACE] = {"GET", "PUT", "POST"};
26 m_interfaces[OC::READ_INTERFACE] = {"GET"};
27 m_interfaces[OC::READWRITE_INTERFACE] = {"GET", "PUT", "POST"};
28 m_interfaces[OC::ACTUATOR_INTERFACE] = {"GET", "PUT", "POST"};
29 m_interfaces[OC::SENSOR_INTERFACE] = {"GET"};
32 OCInterfaceDetails *OCInterfaceDetails::getInstance()
34 static OCInterfaceDetails instance;
38 bool OCInterfaceDetails::isInterface(const std::string &interfaceType)
40 if (m_interfaces.end() != m_interfaces.find(interfaceType))
45 bool OCInterfaceDetails::isRequestSupported(const std::string &interfaceType,
46 const std::string &requestType)
48 if (m_interfaces.end() != m_interfaces.find(interfaceType))
50 std::vector<std::string> requests = m_interfaces[interfaceType];
51 if (requests.end() != std::find(requests.begin(), requests.end(), requestType))