1 /* 2 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. 3 * 4 * HDF is dual licensed: you can use it either under the terms of 5 * the GPL, or the BSD license, at your option. 6 * See the LICENSE file in the root of this repository for complete details. 7 */ 8 9 #include "hdf_device_token.h" 10 #include "hdf_object_manager.h" 11 #include "osal_mem.h" 12 HdfDeviceTokenConstruct(struct HdfDeviceToken * inst)13static void HdfDeviceTokenConstruct(struct HdfDeviceToken *inst) 14 { 15 inst->super.object.objectId = HDF_OBJECT_ID_DEVICE_TOKEN; 16 } 17 HdfDeviceTokenCreate()18struct HdfObject *HdfDeviceTokenCreate() 19 { 20 struct HdfDeviceToken *token = 21 (struct HdfDeviceToken *)OsalMemCalloc(sizeof(struct HdfDeviceToken)); 22 if (token != NULL) { 23 HdfDeviceTokenConstruct(token); 24 } 25 return (struct HdfObject *)token; 26 } 27 HdfDeviceTokenRelease(struct HdfObject * object)28void HdfDeviceTokenRelease(struct HdfObject *object) 29 { 30 struct HdfDeviceToken *deviceToken = (struct HdfDeviceToken *)object; 31 if (deviceToken != NULL) { 32 OsalMemFree(deviceToken); 33 } 34 } 35 HdfDeviceTokenNewInstance()36struct IHdfDeviceToken *HdfDeviceTokenNewInstance() 37 { 38 return (struct IHdfDeviceToken *)HdfObjectManagerGetObject(HDF_OBJECT_ID_DEVICE_TOKEN); 39 } 40 HdfDeviceTokenFreeInstance(struct IHdfDeviceToken * token)41void HdfDeviceTokenFreeInstance(struct IHdfDeviceToken *token) 42 { 43 if (token != NULL) { 44 HdfObjectManagerFreeObject(&token->object); 45 } 46 } 47 48