• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 * Copyright (C) 2024-2025 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 
16 /**
17  * @addtogroup AbilityRuntime
18  * @{
19  *
20  * @brief Provide the definition of the C interface for the native AbilityRuntime
21  *
22  * @syscap SystemCapability.Ability.AbilityRuntime.Core
23  * @since 13
24  */
25 
26 /**
27  * @file ability_runtime_common.h
28  *
29  * @brief Declare the common types for the native AbilityRuntime.
30  *
31  * @library libability_runtime.so
32  * @kit AbilityKit
33  * @syscap SystemCapability.Ability.AbilityRuntime.Core
34  * @since 13
35  */
36 
37 #ifndef ABILITY_RUNTIME_COMMON_H
38 #define ABILITY_RUNTIME_COMMON_H
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /**
45  * @brief Enumerates the error codes.
46  *
47  * @since 13
48  */
49 typedef enum {
50     /** @error No error. */
51     ABILITY_RUNTIME_ERROR_CODE_NO_ERROR = 0,
52     /**
53      * @error permission denied.
54      * @since 15
55      */
56     ABILITY_RUNTIME_ERROR_CODE_PERMISSION_DENIED = 201,
57     /** @error Invalid parameters. */
58     ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID = 401,
59     /**
60      * @error StartSelfUIAbility is not supported.
61      * @since 15
62      */
63     ABILITY_RUNTIME_ERROR_CODE_NOT_SUPPORTED = 801,
64     /**
65      * @error No such ability.
66      * @since 15
67      */
68     ABILITY_RUNTIME_ERROR_CODE_NO_SUCH_ABILITY = 16000001,
69     /**
70      * @error Incorrect ability type.
71      * @since 15
72      */
73     ABILITY_RUNTIME_ERROR_CODE_INCORRECT_ABILITY_TYPE = 16000002,
74     /**
75      * @error The crowdtesting application expires.
76      * @since 15
77      */
78     ABILITY_RUNTIME_ERROR_CODE_CROWDTEST_EXPIRED = 16000008,
79     /**
80      * @error The ability cannot be started in Wukong Mode.
81      * @since 15
82      */
83     ABILITY_RUNTIME_ERROR_CODE_WUKONG_MODE = 16000009,
84     /** @error The context does not exist. */
85     ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST = 16000011,
86     /**
87      * @error The app is controlled.
88      * @since 15
89      */
90     ABILITY_RUNTIME_ERROR_CODE_CONTROLLED = 16000012,
91     /**
92      * @error The app is controlled by EDM.
93      * @since 15
94      */
95     ABILITY_RUNTIME_ERROR_CODE_EDM_CONTROLLED = 16000013,
96     /**
97      * @error Cross-app start is not allowed.
98      * @since 15
99      */
100     ABILITY_RUNTIME_ERROR_CODE_CROSS_APP = 16000018,
101     /**
102      * @error Internal error.
103      * @since 15
104      */
105     ABILITY_RUNTIME_ERROR_CODE_INTERNAL = 16000050,
106     /**
107      * @error Not top ability.
108      * @since 15
109      */
110     ABILITY_RUNTIME_ERROR_CODE_NOT_TOP_ABILITY = 16000053,
111     /**
112      * @error Setting visibility is disabled.
113      * @since 17
114      */
115     ABILITY_RUNTIME_ERROR_VISIBILITY_SETTING_DISABLED = 16000067,
116     /**
117      * @error App clone or multi-instance is not supported.
118      * @since 17
119      */
120     ABILITY_RUNTIME_ERROR_CODE_MULTI_APP_NOT_SUPPORTED = 16000072,
121     /**
122      * @error The app instance key is invalid.
123      * @since 17
124      */
125     ABILITY_RUNTIME_ERROR_CODE_INVALID_APP_INSTANCE_KEY = 16000076,
126     /**
127      * @error The number of app instances reaches the limit.
128      * @since 17
129      */
130     ABILITY_RUNTIME_ERROR_CODE_UPPER_LIMIT_REACHED = 16000077,
131     /**
132      * @error The multi-instance is not supported.
133      * @since 17
134      */
135     ABILITY_RUNTIME_ERROR_MULTI_INSTANCE_NOT_SUPPORTED = 16000078,
136     /**
137      * @error The APP_INSTANCE_KEY cannot be specified.
138      * @since 17
139      */
140     ABILITY_RUNTIME_ERROR_CODE_APP_INSTANCE_KEY_NOT_SUPPORTED = 16000079,
141 } AbilityRuntime_ErrorCode;
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 /** @} */
148 #endif // ABILITY_RUNTIME_COMMON_H
149