2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #ifndef TIZENAPIS_COMMONS_JS_SECURITYEXCEPTIONS_H_
19 #define TIZENAPIS_COMMONS_JS_SECURITYEXCEPTIONS_H_
21 #include <JavaScriptCore/JavaScript.h>
22 #include "JSTizenExceptionFactory.h"
28 * synchronously checks access status and throws JS Security exception if
31 #define TIZEN_SYNC_ACCESS_HANDLER(status, context, exception) \
34 case AceSecurityStatus::InternalError: \
35 return JSTizenExceptionFactory::postException(context, exception, \
36 JSTizenException::UNKNOWN_ERROR); \
38 case AceSecurityStatus::AccessDenied: \
39 return JSTizenExceptionFactory::postException(context, exception, \
40 JSTizenException::PERMISSION_DENIED_ERROR); \
48 * checks access status and returns an error through JSCallbackManager if
51 #define TIZEN_ASYNC_CBM_ACCESS_HANDLER(status, context, cbm) \
54 case AceSecurityStatus::InternalError: \
55 cbm->callOnError(JSTizenExceptionFactory::makeErrorObject(context, \
56 "SECURITY_ERROR", "internal error")); \
57 return JSValueMakeNull(context); \
58 case AceSecurityStatus::AccessDenied: \
59 cbm->callOnError(JSTizenExceptionFactory::makeErrorObject(context, \
60 JSTizenException::PERMISSION_DENIED_ERROR, "PERMISSION_DENIED_ERROR")); \
61 return JSValueMakeNull(context); \
69 #endif /*TIZENAPIS_COMMONS_JS_SECURITYEXCEPTIONS_H_ */