1# data_asset.h 2<!--Kit: ArkData--> 3<!--Subsystem: DistributedDataManager--> 4<!--Owner: @baijidong--> 5<!--Designer: @widecode; @htt1997--> 6<!--Tester: @yippo; @logic42--> 7<!--Adviser: @ge-yafang--> 8 9## 概述 10 11提供资产类型数据结构。<br>资产是指一种可以在数据管理中使用的数据结构,可以存储及查询一个文件的名称、绝对路径、相对路径、创建时间、修改时间、状态、占用空间等属性。 12 13**引用文件:** <database/rdb/data_asset.h> 14 15**库:** libnative_rdb_ndk.z.so 16 17**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core 18 19**起始版本:** 11 20 21**相关模块:** [RDB](capi-rdb.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [Data_Asset](capi-rdb-data-asset.md) | Data_Asset | 表示资产附件类型的数据。<br>提供资产附件的信息。 | 30 31### 枚举 32 33| 名称 | typedef关键字 | 描述 | 34| -- | -- | -- | 35| [Data_AssetStatus](#data_assetstatus) | Data_AssetStatus | 资产状态值类型。 | 36 37### 函数 38 39| 名称 | 描述 | 40| -- | -- | 41| [int OH_Data_Asset_SetName(Data_Asset *asset, const char *name)](#oh_data_asset_setname) | 设置资产类型数据的名称。 | 42| [int OH_Data_Asset_SetUri(Data_Asset *asset, const char *uri)](#oh_data_asset_seturi) | 设置资产类型数据在系统里的绝对路径,即URI。 | 43| [int OH_Data_Asset_SetPath(Data_Asset *asset, const char *path)](#oh_data_asset_setpath) | 设置资产类型数据在应用沙箱里的相对路径。 | 44| [int OH_Data_Asset_SetCreateTime(Data_Asset *asset, int64_t createTime)](#oh_data_asset_setcreatetime) | 设置资产类型数据创建的时间。 | 45| [int OH_Data_Asset_SetModifyTime(Data_Asset *asset, int64_t modifyTime)](#oh_data_asset_setmodifytime) | 设置资产类型数据最后修改的时间。 | 46| [int OH_Data_Asset_SetSize(Data_Asset *asset, size_t size)](#oh_data_asset_setsize) | 设置资产类型数据占用空间的大小。 | 47| [int OH_Data_Asset_SetStatus(Data_Asset *asset, Data_AssetStatus status)](#oh_data_asset_setstatus) | 设置资产类型数据的状态码。 | 48| [int OH_Data_Asset_GetName(Data_Asset *asset, char *name, size_t *length)](#oh_data_asset_getname) | 获取资产类型数据的名称。 | 49| [int OH_Data_Asset_GetUri(Data_Asset *asset, char *uri, size_t *length)](#oh_data_asset_geturi) | 获取资产类型数据的绝对路径。 | 50| [int OH_Data_Asset_GetPath(Data_Asset *asset, char *path, size_t *length)](#oh_data_asset_getpath) | 获取资产类型数据的相对路径。 | 51| [int OH_Data_Asset_GetCreateTime(Data_Asset *asset, int64_t *createTime)](#oh_data_asset_getcreatetime) | 获取资产类型数据的创建时间。 | 52| [int OH_Data_Asset_GetModifyTime(Data_Asset *asset, int64_t *modifyTime)](#oh_data_asset_getmodifytime) | 获取资产类型数据的最后修改的时间。 | 53| [int OH_Data_Asset_GetSize(Data_Asset *asset, size_t *size)](#oh_data_asset_getsize) | 获取资产类型数据占用空间的大小。 | 54| [int OH_Data_Asset_GetStatus(Data_Asset *asset, Data_AssetStatus *status)](#oh_data_asset_getstatus) | 获取资产类型数据的状态码。 | 55| [Data_Asset *OH_Data_Asset_CreateOne(void)](#oh_data_asset_createone) | 创造一个[Data_Asset](capi-rdb-data-asset.md)类型实例。 | 56| [int OH_Data_Asset_DestroyOne(Data_Asset *asset)](#oh_data_asset_destroyone) | 销毁[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。 | 57| [Data_Asset **OH_Data_Asset_CreateMultiple(uint32_t count)](#oh_data_asset_createmultiple) | 创造指定数量的[Data_Asset](capi-rdb-data-asset.md)类型实例。 | 58| [int OH_Data_Asset_DestroyMultiple(Data_Asset **assets, uint32_t count)](#oh_data_asset_destroymultiple) | 销毁多个[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。 | 59 60## 枚举类型说明 61 62### Data_AssetStatus 63 64``` 65enum Data_AssetStatus 66``` 67 68**描述** 69 70资产状态值类型。 71 72**起始版本:** 11 73 74| 枚举项 | 描述 | 75| -- | -- | 76| ASSET_NULL = 0 | 表示资产为空。 | 77| ASSET_NORMAL | 表示资产状态正常。 | 78| ASSET_INSERT | 表示资产需要插入到云端。 | 79| ASSET_UPDATE | 表示资产需要更新到云端。 | 80| ASSET_DELETE | 表示资产需要在云端删除。 | 81| ASSET_ABNORMAL | 表示资产状态异常。 | 82| ASSET_DOWNLOADING | 表示资产正在下载到本地设备。 | 83 84 85## 函数说明 86 87### OH_Data_Asset_SetName() 88 89``` 90int OH_Data_Asset_SetName(Data_Asset *asset, const char *name) 91``` 92 93**描述** 94 95设置资产类型数据的名称。 96 97**起始版本:** 11 98 99 100**参数:** 101 102| 参数项 | 描述 | 103| -- | -- | 104| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 105| const char *name | 表示要设置的名称。 | 106 107**返回:** 108 109| 类型 | 说明 | 110| -- | -- | 111| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 112 113### OH_Data_Asset_SetUri() 114 115``` 116int OH_Data_Asset_SetUri(Data_Asset *asset, const char *uri) 117``` 118 119**描述** 120 121设置资产类型数据在系统里的绝对路径,即URI。 122 123**起始版本:** 11 124 125 126**参数:** 127 128| 参数项 | 描述 | 129| -- | -- | 130| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 131| const char *uri | 表示要设置的URI。 | 132 133**返回:** 134 135| 类型 | 说明 | 136| -- |---------------------------------------------------------------------------------------------------------------------------------------------| 137| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 138 139### OH_Data_Asset_SetPath() 140 141``` 142int OH_Data_Asset_SetPath(Data_Asset *asset, const char *path) 143``` 144 145**描述** 146 147设置资产类型数据在应用沙箱里的相对路径。 148 149**起始版本:** 11 150 151 152**参数:** 153 154| 参数项 | 描述 | 155| -- | -- | 156| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 157| const char *path | 表示要设置的相对路径。 | 158 159**返回:** 160 161| 类型 | 说明 | 162| -- | -- | 163| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 164 165### OH_Data_Asset_SetCreateTime() 166 167``` 168int OH_Data_Asset_SetCreateTime(Data_Asset *asset, int64_t createTime) 169``` 170 171**描述** 172 173设置资产类型数据创建的时间。 174 175**起始版本:** 11 176 177 178**参数:** 179 180| 参数项 | 描述 | 181| -- | -- | 182| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 183| int64_t createTime | 表示要设置的创建时间。 | 184 185**返回:** 186 187| 类型 | 说明 | 188| -- | -- | 189| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 190 191### OH_Data_Asset_SetModifyTime() 192 193``` 194int OH_Data_Asset_SetModifyTime(Data_Asset *asset, int64_t modifyTime) 195``` 196 197**描述** 198 199设置资产类型数据最后修改的时间。 200 201**起始版本:** 11 202 203 204**参数:** 205 206| 参数项 | 描述 | 207| -- | -- | 208| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 209| int64_t modifyTime | 表示要设置的最后修改的时间。 | 210 211**返回:** 212 213| 类型 | 说明 | 214| -- | -- | 215| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 216 217### OH_Data_Asset_SetSize() 218 219``` 220int OH_Data_Asset_SetSize(Data_Asset *asset, size_t size) 221``` 222 223**描述** 224 225设置资产类型数据占用空间的大小。 226 227**起始版本:** 11 228 229 230**参数:** 231 232| 参数项 | 描述 | 233| -- | -- | 234| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 235| size_t size | 表示要设置的占用空间的大小。 | 236 237**返回:** 238 239| 类型 | 说明 | 240| -- | -- | 241| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 242 243### OH_Data_Asset_SetStatus() 244 245``` 246int OH_Data_Asset_SetStatus(Data_Asset *asset, Data_AssetStatus status) 247``` 248 249**描述** 250 251设置资产类型数据的状态码。 252 253**起始版本:** 11 254 255 256**参数:** 257 258| 参数项 | 描述 | 259| -- | -- | 260| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 261| [Data_AssetStatus](#data_assetstatus) status | 表示需要设置的状态码。详细信息可以查看[Data_AssetStatus](capi-data-asset-h.md#data_assetstatus)。 | 262 263**返回:** 264 265| 类型 | 说明 | 266| -- | -- | 267| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 268 269### OH_Data_Asset_GetName() 270 271``` 272int OH_Data_Asset_GetName(Data_Asset *asset, char *name, size_t *length) 273``` 274 275**描述** 276 277获取资产类型数据的名称。 278 279**起始版本:** 11 280 281 282**参数:** 283 284| 参数项 | 描述 | 285| -- | -- | 286| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 287| char *name | 该参数是输出参数,资产类型数据的名称会以字符串形式写入该变量。 | 288| size_t *length | 表示name的长度。 | 289 290**返回:** 291 292| 类型 | 说明 | 293| -- | -- | 294| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_ERR表示函数执行异常。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 295 296### OH_Data_Asset_GetUri() 297 298``` 299int OH_Data_Asset_GetUri(Data_Asset *asset, char *uri, size_t *length) 300``` 301 302**描述** 303 304获取资产类型数据的绝对路径。 305 306**起始版本:** 11 307 308 309**参数:** 310 311| 参数项 | 描述 | 312| -- | -- | 313| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 314| char *uri | 参数是输出参数,资产类型数据的绝对路径会以字符串形式写入该变量。 | 315| size_t *length | 表示uri的长度。 | 316 317**返回:** 318 319| 类型 | 说明 | 320| -- | -- | 321| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_ERR表示函数执行异常。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 322 323### OH_Data_Asset_GetPath() 324 325``` 326int OH_Data_Asset_GetPath(Data_Asset *asset, char *path, size_t *length) 327``` 328 329**描述** 330 331获取资产类型数据的相对路径。 332 333**起始版本:** 11 334 335 336**参数:** 337 338| 参数项 | 描述 | 339| -- | -- | 340| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 341| char *path | 参数是输出参数,资产类型数据的相对路径会以字符串形式写入该变量。 | 342| size_t *length | 表示path的长度。 | 343 344**返回:** 345 346| 类型 | 说明 | 347| -- | -- | 348| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_ERR表示函数执行异常。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 349 350### OH_Data_Asset_GetCreateTime() 351 352``` 353int OH_Data_Asset_GetCreateTime(Data_Asset *asset, int64_t *createTime) 354``` 355 356**描述** 357 358获取资产类型数据的创建时间。 359 360**起始版本:** 11 361 362 363**参数:** 364 365| 参数项 | 描述 | 366| -- | -- | 367| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 368| int64_t *createTime | 参数是输出参数,资产类型数据的创建时间会以int64_t形式写入该变量。 | 369 370**返回:** 371 372| 类型 | 说明 | 373| -- | -- | 374| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_ERR表示函数执行异常。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 375 376**参考:** 377 378Data_Asset 379 380### OH_Data_Asset_GetModifyTime() 381 382``` 383int OH_Data_Asset_GetModifyTime(Data_Asset *asset, int64_t *modifyTime) 384``` 385 386**描述** 387 388获取资产类型数据的最后修改的时间。 389 390**起始版本:** 11 391 392 393**参数:** 394 395| 参数项 | 描述 | 396| -- | -- | 397| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 398| int64_t *modifyTime | 参数是输出参数,资产类型数据的最后修改时间会以int64_t形式写入该变量。 | 399 400**返回:** 401 402| 类型 | 说明 | 403| -- | -- | 404| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_ERR表示函数执行异常。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 405 406### OH_Data_Asset_GetSize() 407 408``` 409int OH_Data_Asset_GetSize(Data_Asset *asset, size_t *size) 410``` 411 412**描述** 413 414获取资产类型数据占用空间的大小。 415 416**起始版本:** 11 417 418 419**参数:** 420 421| 参数项 | 描述 | 422| -- | -- | 423| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 424| size_t *size | 参数是输出参数,资产类型数据的占用空间大小会以size_t形式写入该变量。 | 425 426**返回:** 427 428| 类型 | 说明 | 429| -- | -- | 430| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_ERR表示函数执行异常。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 431 432### OH_Data_Asset_GetStatus() 433 434``` 435int OH_Data_Asset_GetStatus(Data_Asset *asset, Data_AssetStatus *status) 436``` 437 438**描述** 439 440获取资产类型数据的状态码。 441 442**起始版本:** 11 443 444 445**参数:** 446 447| 参数项 | 描述 | 448| -- | -- | 449| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 450| [Data_AssetStatus](#data_assetstatus) *status | 参数是输出参数,资产类型数据的状态码会以[Data_AssetStatus](capi-data-asset-h.md#data_assetstatus)形式写入该变量。 | 451 452**返回:** 453 454| 类型 | 说明 | 455| -- | -- | 456| int | 返回特定的错误码值。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。<br>返回RDB_OK表示成功。<br>返回RDB_E_INVALID_ARGS表示无效参数。 | 457 458### OH_Data_Asset_CreateOne() 459 460``` 461Data_Asset *OH_Data_Asset_CreateOne(void) 462``` 463 464**描述** 465 466创造一个[Data_Asset](capi-rdb-data-asset.md)类型实例。 467 468**起始版本:** 11 469 470**返回:** 471 472| 类型 | 说明 | 473| -- | -- | 474| [Data_Asset](capi-rdb-data-asset.md) | 创建成功则返回一个指向[Data_Asset](capi-rdb-data-asset.md)结构体实例的指针,否则返回NULL。 | 475 476### OH_Data_Asset_DestroyOne() 477 478``` 479int OH_Data_Asset_DestroyOne(Data_Asset *asset) 480``` 481 482**描述** 483 484销毁[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。 485 486**起始版本:** 11 487 488**参数:** 489 490| 参数项 | 描述 | 491| -- | -- | 492| [Data_Asset](capi-rdb-data-asset.md) *asset | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 493 494**返回:** 495 496| 类型 | 说明 | 497| -- | -- | 498| int | 返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。 | 499 500### OH_Data_Asset_CreateMultiple() 501 502``` 503Data_Asset **OH_Data_Asset_CreateMultiple(uint32_t count) 504``` 505 506**描述** 507 508创造指定数量的[Data_Asset](capi-rdb-data-asset.md)类型实例。 509 510**起始版本:** 11 511 512 513**参数:** 514 515| 参数项 | 描述 | 516| -- | -- | 517| uint32_t count | 代表创建的资产类型数据的数量。 | 518 519**返回:** 520 521| 类型 | 说明 | 522| -- | -- | 523| [Data_Asset](capi-rdb-data-asset.md) | 创建成功则返回一个指向[Data_Asset](capi-rdb-data-asset.md)结构体实例的指针,否则返回NULL。 | 524 525### OH_Data_Asset_DestroyMultiple() 526 527``` 528int OH_Data_Asset_DestroyMultiple(Data_Asset **assets, uint32_t count) 529``` 530 531**描述** 532 533销毁多个[Data_Asset](capi-rdb-data-asset.md) 对象并回收该对象占用的内存。 534 535**起始版本:** 11 536 537 538**参数:** 539 540| 参数项 | 描述 | 541| -- | -- | 542| [Data_Asset](capi-rdb-data-asset.md) **assets | 表示指向[Data_Asset](capi-rdb-data-asset.md)实例的指针。 | 543| uint32_t count | 代表需要销毁的[Data_Asset](capi-rdb-data-asset.md)类型对象的数量。 | 544 545**返回:** 546 547| 类型 | 说明 | 548| -- | -- | 549| int | 返回操作是否成功,成功时返回RDB_OK,出错时返回对应的错误码。详细信息可以查看[OH_Rdb_ErrCode](capi-relational-store-error-code-h.md#oh_rdb_errcode)。 | 550 551 552 553