1 //******************************************************************
3 // Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
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 "OCException.h"
22 #include "StringConstants.h"
24 std::string OC::OCException::reason(const OCStackResult sr)
29 return OC::Exception::NO_ERROR;
30 case OC_STACK_RESOURCE_CREATED:
31 return OC::Exception::RESOURCE_CREATED;
32 case OC_STACK_RESOURCE_DELETED:
33 return OC::Exception::RESOURCE_DELETED;
34 case OC_STACK_RESOURCE_CHANGED:
35 return OC::Exception::RESOURCE_CHANGED;
36 case OC_STACK_INVALID_URI:
37 return OC::Exception::INVALID_URI;
38 case OC_STACK_INVALID_IP:
39 return OC::Exception::INVALID_IP;
40 case OC_STACK_INVALID_PORT:
41 return OC::Exception::INVALID_PORT;
42 case OC_STACK_INVALID_CALLBACK:
43 return OC::Exception::INVALID_CB;
44 case OC_STACK_INVALID_METHOD:
45 return OC::Exception::INVALID_METHOD;
46 case OC_STACK_INVALID_QUERY:
47 return OC::Exception::INVALID_QUERY;
48 case OC_STACK_INVALID_PARAM:
49 return OC::Exception::INVALID_PARAM;
50 case OC_STACK_INVALID_OBSERVE_PARAM:
51 return OC::Exception::INVALID_OBESERVE;
52 case OC_STACK_NO_MEMORY:
53 return OC::Exception::NO_MEMORY;
54 case OC_STACK_COMM_ERROR:
55 return OC::Exception::COMM_ERROR;
56 case OC_STACK_TIMEOUT:
57 return OC::Exception::TIMEOUT;
58 case OC_STACK_ADAPTER_NOT_ENABLED:
59 return OC::Exception::ADAPTER_NOT_ENABLED;
60 case OC_STACK_NOTIMPL:
61 return OC::Exception::NOT_IMPL;
62 case OC_STACK_NO_RESOURCE:
63 return OC::Exception::NOT_FOUND;
64 case OC_STACK_RESOURCE_ERROR:
65 return OC::Exception::RESOURCE_ERROR;
66 case OC_STACK_SLOW_RESOURCE:
67 return OC::Exception::SLOW_RESOURCE;
68 case OC_STACK_DUPLICATE_REQUEST:
69 return OC::Exception::DUPLICATE_REQUEST;
70 case OC_STACK_NO_OBSERVERS:
71 return OC::Exception::NO_OBSERVERS;
72 case OC_STACK_OBSERVER_NOT_FOUND:
73 return OC::Exception::OBSV_NO_FOUND;
75 case OC_STACK_PRESENCE_STOPPED:
76 return OC::Exception::PRESENCE_STOPPED;
77 case OC_STACK_PRESENCE_TIMEOUT:
78 return OC::Exception::PRESENCE_TIMEOUT;
79 case OC_STACK_PRESENCE_DO_NOT_HANDLE:
80 return OC::Exception::PRESENCE_NOT_HANDLED;
82 case OC_STACK_VIRTUAL_DO_NOT_HANDLE:
83 return OC::Exception::VIRTUAL_DO_NOT_HANDLE;
84 case OC_STACK_INVALID_OPTION:
85 return OC::Exception::INVALID_OPTION;
86 case OC_STACK_MALFORMED_RESPONSE:
87 return OC::Exception::MALFORMED_STACK_RESPONSE;
88 case OC_STACK_PERSISTENT_BUFFER_REQUIRED:
89 return OC::Exception::PERSISTENT_BUFFER_REQUIRED;
90 case OC_STACK_CONTINUE:
91 return OC::Exception::STACK_CONTINUE;
92 case OC_STACK_INVALID_REQUEST_HANDLE:
93 return OC::Exception::INVALID_REQUEST_HANDLE;
95 return OC::Exception::GENERAL_FAULT;
96 case OC_STACK_INVALID_DEVICE_INFO:
97 return OC::Exception::INVALID_DEVICE_INFO;
98 case OC_STACK_INVALID_JSON:
99 return OC::Exception::INVALID_REPRESENTATION;
100 case OC_STACK_UNAUTHORIZED_REQ:
101 return OC::Exception::UNAUTHORIZED_REQUEST;
102 case OC_STACK_TOO_LARGE_REQ:
103 return OC::Exception::TOO_LARGE_REQ;
104 case OC_STACK_PDM_IS_NOT_INITIALIZED:
105 return OC::Exception::PDM_DB_NOT_INITIALIZED;
106 case OC_STACK_DUPLICATE_UUID:
107 return OC::Exception::DUPLICATE_UUID;
108 case OC_STACK_INCONSISTENT_DB:
109 return OC::Exception::INCONSISTENT_DB;
110 case OC_STACK_AUTHENTICATION_FAILURE:
111 return OC::Exception::AUTHENTICATION_FAILURE;
114 return OC::Exception::UNKNOWN_ERROR;