6f2f6b69a8cb1e3823d44634c16981e00ad651a4
[platform/upstream/iotivity.git] / resource / src / OCException.cpp
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 #include "OCException.h"
22 #include "StringConstants.h"
23
24 std::string OC::OCException::reason(const OCStackResult sr)
25 {
26     switch(sr)
27     {
28         case OC_STACK_OK:
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;
74 #ifdef WITH_PRESENCE
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;
81 #endif
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;
94         case OC_STACK_ERROR:
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;
112         case OC_STACK_NOT_ALLOWED_OXM:
113             return OC::Exception::NOT_ALLOWED_OXM;
114         case OC_STACK_FORBIDDEN_REQ:
115             return OC::Exception::FORBIDDEN_REQ;
116         case OC_STACK_INTERNAL_SERVER_ERROR:
117             return OC::Exception::INTERNAL_SERVER_ERROR;
118     }
119
120     return OC::Exception::UNKNOWN_ERROR;
121 }
122
123