Re-organized sub-directory by category
[staging/basesystem.git] / service / native / framework_unified / client / include / native_service / ns_resource_controler.h
diff --git a/service/native/framework_unified/client/include/native_service/ns_resource_controler.h b/service/native/framework_unified/client/include/native_service/ns_resource_controler.h
new file mode 100755 (executable)
index 0000000..0cce23a
--- /dev/null
@@ -0,0 +1,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)
+/** @}*/
+/** @}*/
+/** @}*/
+/** @}*/