provisioning_service_client/inc/prov_service_client/provisioning_sc_twin.h (21 lines of code) (raw):
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
#ifndef PROVISIONING_SC_TWIN_H
#define PROVISIONING_SC_TWIN_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include "umock_c/umock_c_prod.h"
#include "azure_macro_utils/macro_utils.h"
#include "parson.h"
typedef struct INITIAL_TWIN_TAG* INITIAL_TWIN_HANDLE;
/* Initial Twin Operation Functions */
/** @brief Creates an Initial Twin handle for use in consequent APIs.
*
* @param tags The json string for the tags of the initial Twin State
* @param desired_properties The json string for the desired properties of the initial Twin State
*
* @return A non-NULL handle representing an Initial Twin for use with Provisioning Service, and NULL on failure.
*/
MOCKABLE_FUNCTION(, INITIAL_TWIN_HANDLE, initialTwin_create, const char*, tags, const char*, desired_properties);
/** @brief Destroys an Initial Twin handle, freeing all associated memory. Please note that this will also cause any Enrollment
* that the Initial Twin has been attached to to have unexpected behvaiours. Do not use this function
* unless the Initial Twin is unattached.
*
* @param twin The handle of the Initial Twin to be destroyed
*/
MOCKABLE_FUNCTION(, void, initialTwin_destroy, INITIAL_TWIN_HANDLE, twin);
/* Initial Twin Accessor Functions */
MOCKABLE_FUNCTION(, const char*, initialTwin_getTags, INITIAL_TWIN_HANDLE, twin);
MOCKABLE_FUNCTION(, int, initialTwin_setTags, INITIAL_TWIN_HANDLE, twin, const char*, tags);
MOCKABLE_FUNCTION(, const char*, initialTwin_getDesiredProperties, INITIAL_TWIN_HANDLE, twin);
MOCKABLE_FUNCTION(, int, initialTwin_setDesiredProperties, INITIAL_TWIN_HANDLE, twin, const char*, desiredProperties);
/*---INTERNAL USAGE ONLY---*/
MOCKABLE_FUNCTION(, INITIAL_TWIN_HANDLE, initialTwin_fromJson, JSON_Object*, root_object);
MOCKABLE_FUNCTION(, JSON_Value*, initialTwin_toJson, const INITIAL_TWIN_HANDLE, twin);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* PROVISIONING_SC_TWIN_H */