leo hendrickson
/
S
Diff: simple-mbed-cloud-client/mbed-cloud-client/update-client-hub/modules/lwm2m-mbed/source/update-lwm2m-mbed-apis.h
- Revision:
- 0:25fa8795676b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/simple-mbed-cloud-client/mbed-cloud-client/update-client-hub/modules/lwm2m-mbed/source/update-lwm2m-mbed-apis.h Sun Apr 18 15:20:23 2021 +0000 @@ -0,0 +1,76 @@ +// ---------------------------------------------------------------------------- +// Copyright 2016-2018 ARM Ltd. +// +// SPDX-License-Identifier: Apache-2.0 +// +// 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 update-lwm2m-mbed-apis.h + * @brief This file contains forward declarations for all functions used as + * APIS for the update client + * + * @detail Because C++ does not support designated initialisers, this file is + * used to provide linkage from C++ to C structure initialisers. This pattern is + * necessary to ensure that the APIs are not brittle and prone to breakage if + * APIs are added or the API structure is changed. + */ + +#include "update-client-common/arm_uc_error.h" +#include "update-client-monitor/arm_uc_monitor.h" +#include "update-client-source/arm_uc_source.h" +#include <stdint.h> + +#ifdef __cplusplus +extern "C" { +#endif + +uint32_t ARM_UCS_LWM2M_MONITOR_GetVersion(void); +ARM_MONITOR_CAPABILITIES ARM_UCS_LWM2M_MONITOR_GetCapabilities(void); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_Initialize(void (*notification_handler)(void)); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_Uninitialize(void); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_SendState(arm_uc_monitor_state_t state); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_SendUpdateResult(arm_uc_monitor_result_t updateResult); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_SendName(arm_uc_buffer_t *name); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_SendVersion(uint64_t version); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_SetBootloaderHash(arm_uc_buffer_t *hash); +arm_uc_error_t ARM_UCS_LWM2M_MONITOR_SetOEMBootloaderHash(arm_uc_buffer_t *hash); + +uint32_t ARM_UCS_LWM2M_SOURCE_GetVersion(void); +ARM_SOURCE_CAPABILITIES ARM_UCS_LWM2M_SOURCE_GetCapabilities(void); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_Initialize(ARM_SOURCE_SignalEvent_t cb_event); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_Uninitialize(void); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetManifestDefaultCost(uint32_t *cost); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetManifestDefault(arm_uc_buffer_t *buffer, + uint32_t offset); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetManifestURLCost(arm_uc_uri_t *uri, + uint32_t *cost); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetFirmwareURLCost(arm_uc_uri_t *uri, + uint32_t *cost); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetKeytableURLCost(arm_uc_uri_t *uri, + uint32_t *cost); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetManifestURL(arm_uc_uri_t *uri, + arm_uc_buffer_t *buffer, + uint32_t offset); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetFirmwareFragment(arm_uc_uri_t *uri, + arm_uc_buffer_t *buffer, + uint32_t offset); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetKeytableURL(arm_uc_uri_t *uri, + arm_uc_buffer_t *buffer); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_GetError(void); +arm_uc_error_t ARM_UCS_LWM2M_SOURCE_SetError(arm_uc_error_t an_error); + + +#ifdef __cplusplus +} +#endif