summaryrefslogtreecommitdiffstats
path: root/nsframework/framework_unified/client/include/native_service/ns_resource_controler.h
blob: 0cce23af18c8f61cb3412812d9d3bedd8dc68403 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
/*
 * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * @file ns_resource_controler.h
 * @brief \~english This file provides api for operating Resource
 *
 */
/** @addtogroup BaseSystem
 *  @{
 */
/** @addtogroup native_service
 *  @ingroup BaseSystem
 *  @{
 */
/** @addtogroup framework_unified
 *  @ingroup native_service
 *  @{
 */
/** @addtogroup native
 *  @ingroup framework_unified
 *  @{
 */
#ifndef _ns_resource_controler_h_  // NOLINT  (build/header_guard)
#define _ns_resource_controler_h_

#define FRAMEWORKUNIFIED_RES_ABNMLMON "FRAMEWORKUNIFIED_RES_ABNMLMON"
#define FRAMEWORKUNIFIED_RES_TIMER "FRAMEWORKUNIFIED_RES_TIMER"

#ifdef __cplusplus
extern "C" {
#endif
  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup BaseSystem
  /// \~english @par Summary
  ///       This function is used to get the resourceid associated with the mod and the key.
  /// \~english @param [IN] mod
  ///        const char * - the mod of resource
  /// \~english @param [IN] key
  ///        const char * - the key of resource
  /// \~english @param [OUT] resource
  ///        long * - resource ID
  /// \~english @retval -1 fail
  /// \~english @retval 0  success
  /// \~english @par Preconditions
  ///       - None.
  /// \~english @par Change of the internal state
  ///       - Change of internal state according to the API does not occur.
  /// \~english @par Causes of failures
  ///       None
  /// \~english @par Classification
  ///       Public
  /// \~english @par Type
  ///          sync only
  /// \~english @par Detail
  ///       This function is used to get the resourceid associated with the mod and the key.
  /// \~english @see
  ////////////////////////////////////////////////////////////////////////////////////
int frameworkunifiedGetResource(const char *mod, const char *key, long *resource);  // NOLINT  (readability/nolint)

  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup BaseSystem
  /// \~english @par Summary
  ///       This function is used to acquire the resourceid associated with the mod and the key.
  /// \~english @param [IN] mod
  ///        const char * - the mod of resource
  /// \~english @param [IN] key
  ///        const char * - the key of resource
  /// \~english @param [OUT] resource
  ///        long * - resource ID
  /// \~english @retval ref_counter the counter of user
  /// \~english @par Preconditions
  ///       - None.
  /// \~english @par Change of the internal state
  ///       - Change of internal state according to the API does not occur.
  /// \~english @par Causes of failures
  ///       None
  /// \~english @par Classification
  ///       Public
  /// \~english @par Type
  ///          sync only
  /// \~english @par Detail
  ///       This function is used to acquire the resourceid associated with the mod and the key.
  /// \~english @see
  ////////////////////////////////////////////////////////////////////////////////////
int frameworkunifiedAcquireResouce(const char *mod, const char *key, long *resource);  // NOLINT  (readability/nolint)

  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup BaseSystem
  /// \~english @par Summary
  ///       This function is used to release the resourceid associated with the mod and the key.
  /// \~english @param [IN] mod
  ///        const char * - the mod of resource
  /// \~english @param [IN] key
  ///        const char * - the key of resource
  /// \~english @retval ref_counter the counter of user
  /// \~english @par Preconditions
  ///       - None.
  /// \~english @par Change of the internal state
  ///       - Change of internal state according to the API does not occur.
  /// \~english @par Causes of failures
  ///       None
  /// \~english @par Classification
  ///       Public
  /// \~english @par Type
  ///          sync only
  /// \~english @par Detail
  ///       This function is used to release the resourceid associated with the mod and the key.
  /// \~english @see
  ////////////////////////////////////////////////////////////////////////////////////
int frameworkunifiedReleaseResouce(const char *mod, const char *key);

  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup BaseSystem
  /// \~english @par Summary
  ///       This function is used to get the key associated with the mod and the resourceid.
  /// \~english @param [IN] mod
  ///        const char * - the mod of resource
  /// \~english @param [IN] resource
  ///        long - resource ID
  /// \~english @param [OUT] key
  ///        const char * - the key of resource
  /// \~english @retval -1 fail
  /// \~english @retval 0  success
  /// \~english @par Preconditions
  ///       - None.
  /// \~english @par Change of the internal state
  ///       - Change of internal state according to the API does not occur.
  /// \~english @par Causes of failures
  ///       None
  /// \~english @par Classification
  ///       Public
  /// \~english @par Type
  ///          sync only
  /// \~english @par Detail
  ///       This function is used to get the key associated with the mod and the resourceid.
  /// \~english @see
  ////////////////////////////////////////////////////////////////////////////////////
int frameworkunifiedSearchResourseKey(const char *mod, long resource, const char **key);  // NOLINT  (readability/nolint)

  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup BaseSystem
  /// \~english @par Summary
  ///       This function is used to register the resource associated with the mod and the key.
  /// \~english @param [IN] mod
  ///        const char * - the mod of resource
  /// \~english @param [IN] key
  ///        const char * - the key of resource
  /// \~english @param [IN] resource
  ///        const char * - resource ID
  /// \~english @param [IN] init_counter
  ///        long - resource user counter
  /// \~english @retval -1 fail
  /// \~english @retval 0  success
  /// \~english @par Preconditions
  ///       - None.
  /// \~english @par Change of the internal state
  ///       - Change of internal state according to the API does not occur.
  /// \~english @par Causes of failures
  ///       None
  /// \~english @par Classification
  ///       Public
  /// \~english @par Type
  ///          sync only
  /// \~english @par Detail
  ///       This function is used to register the resource associated with the mod and the key.init counter.
  /// \~english @see
  ////////////////////////////////////////////////////////////////////////////////////

int frameworkunifiedRegistResouce(const char *mod, const char *key, long resource, int init_counter);  // NOLINT  (readability/nolint)
  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup BaseSystem
  /// \~english @par Summary
  ///       This function is used to unregister the resource associated with the mod and the key.
  /// \~english @param [IN] mod
  ///        const char * - the mod of resource
  /// \~english @param [IN] key
  ///        const char * - the key of resource
  /// \~english @retval 0  success
  /// \~english @par Preconditions
  ///       - None.
  /// \~english @par Change of the internal state
  ///       - Change of internal state according to the API does not occur.
  /// \~english @par Causes of failures
  ///       None
  /// \~english @par Classification
  ///       Public
  /// \~english @par Type
  ///          sync only
  /// \~english @par Detail
  ///       This function is used to unregister the resource associated with the mod and the key.init counter.
  /// \~english @see
  ////////////////////////////////////////////////////////////////////////////////////
int frameworkunifiedUnregistResouce(const char *mod, const char *key);

#ifdef __cplusplus
}
#endif

#endif  // _ns_resource_controler_h_ NOLINT  (build/header_guard)
/** @}*/
/** @}*/
/** @}*/
/** @}*/