1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "js_form_error.h"
16 
17 #include "fms_log_wrapper.h"
18 #include "js_runtime_utils.h"
19 #include "napi_form_util.h"
20 
21 namespace OHOS {
22 namespace AbilityRuntime {
CreateJsFormError(napi_env env)23 napi_value CreateJsFormError(napi_env env)
24 {
25     napi_value objValue = nullptr;
26     napi_create_object(env, &objValue);
27     napi_set_named_property(env, objValue, "ERR_COMMON", CreateJsValue(env, ERR_COMMON));
28     napi_set_named_property(env, objValue, "ERR_PERMISSION_DENY", CreateJsValue(env, ERR_PERMISSION_DENY));
29     napi_set_named_property(env, objValue, "ERR_GET_INFO_FAILED", CreateJsValue(env, ERR_GET_INFO_FAILED));
30     napi_set_named_property(env, objValue, "ERR_GET_BUNDLE_FAILED", CreateJsValue(env, ERR_GET_BUNDLE_FAILED));
31     napi_set_named_property(env, objValue, "ERR_GET_LAYOUT_FAILED", CreateJsValue(env, ERR_GET_LAYOUT_FAILED));
32     napi_set_named_property(env, objValue, "ERR_ADD_INVALID_PARAM", CreateJsValue(env, ERR_ADD_INVALID_PARAM));
33     napi_set_named_property(env, objValue, "ERR_CFG_NOT_MATCH_ID", CreateJsValue(env, ERR_CFG_NOT_MATCH_ID));
34     napi_set_named_property(env, objValue, "ERR_NOT_EXIST_ID", CreateJsValue(env, ERR_NOT_EXIST_ID));
35     napi_set_named_property(env, objValue, "ERR_BIND_PROVIDER_FAILED", CreateJsValue(env, ERR_BIND_PROVIDER_FAILED));
36     napi_set_named_property(env, objValue, "ERR_MAX_SYSTEM_FORMS", CreateJsValue(env, ERR_MAX_SYSTEM_FORMS));
37     napi_set_named_property(
38         env, objValue, "ERR_MAX_INSTANCES_PER_FORM", CreateJsValue(env, ERR_MAX_INSTANCES_PER_FORM));
39     napi_set_named_property(
40         env, objValue, "ERR_OPERATION_FORM_NOT_SELF", CreateJsValue(env, ERR_OPERATION_FORM_NOT_SELF));
41     napi_set_named_property(env, objValue, "ERR_PROVIDER_DEL_FAIL", CreateJsValue(env, ERR_PROVIDER_DEL_FAIL));
42     napi_set_named_property(env, objValue, "ERR_MAX_FORMS_PER_CLIENT", CreateJsValue(env, ERR_MAX_FORMS_PER_CLIENT));
43     napi_set_named_property(env, objValue, "ERR_MAX_SYSTEM_TEMP_FORMS", CreateJsValue(env, ERR_MAX_SYSTEM_TEMP_FORMS));
44     napi_set_named_property(env, objValue, "ERR_FORM_NO_SUCH_MODULE", CreateJsValue(env, ERR_FORM_NO_SUCH_MODULE));
45     napi_set_named_property(env, objValue, "ERR_FORM_NO_SUCH_ABILITY", CreateJsValue(env, ERR_FORM_NO_SUCH_ABILITY));
46     napi_set_named_property(
47         env, objValue, "ERR_FORM_NO_SUCH_DIMENSION", CreateJsValue(env, ERR_FORM_NO_SUCH_DIMENSION));
48     napi_set_named_property(env, objValue, "ERR_FORM_FA_NOT_INSTALLED", CreateJsValue(env, ERR_FORM_FA_NOT_INSTALLED));
49     napi_set_named_property(
50         env, objValue, "ERR_SYSTEM_RESPONSES_FAILED", CreateJsValue(env, ERR_SYSTEM_RESPONSES_FAILED));
51     napi_set_named_property(env, objValue, "ERR_FORM_DUPLICATE_ADDED", CreateJsValue(env, ERR_FORM_DUPLICATE_ADDED));
52     napi_set_named_property(
53         env, objValue, "ERR_DISTRIBUTED_SCHEDULE_FAILED", CreateJsValue(env, ERR_DISTRIBUTED_SCHEDULE_FAILED));
54     napi_set_named_property(env, objValue, "ERR_IN_RECOVERY", CreateJsValue(env, ERR_IN_RECOVERY));
55     return objValue;
56 }
57 
FormErrorInit(napi_env env,napi_value exportObj)58 napi_value FormErrorInit(napi_env env, napi_value exportObj)
59 {
60     HILOG_INFO("call");
61 
62     napi_set_named_property(env, exportObj, "FormError", CreateJsFormError(env));
63 
64     HILOG_INFO("call");
65     return exportObj;
66 }
67 }  // namespace AbilityRuntime
68 }  // namespace OHOS
69