[Bf-blender-cvs] [01b63aa266e] asset-browser: Rename some core asset types (breaking file compatibility)

Julian Eisel noreply at git.blender.org
Mon Nov 30 17:42:37 CET 2020


Commit: 01b63aa266e0ebab876347920cb9daaa4115ed82
Author: Julian Eisel
Date:   Mon Nov 30 17:39:56 2020 +0100
Branches: asset-browser
https://developer.blender.org/rB01b63aa266e0ebab876347920cb9daaa4115ed82

Rename some core asset types (breaking file compatibility)

After feedback from review, I decided to change data-structure names
(`AssetData` -> `AssetMetaData`, `CustomTag` -> `AssetTag`).
This will break DNA compatibility so old assets created with this branch won't
be readable.

===================================================================

M	source/blender/blenkernel/BKE_asset.h
M	source/blender/blenkernel/intern/asset.c
M	source/blender/blenkernel/intern/lib_id.c
M	source/blender/blenkernel/intern/lib_id_delete.c
M	source/blender/blenloader/BLO_readfile.h
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/readfile.h
M	source/blender/editors/asset/asset_edit.c
M	source/blender/editors/space_file/filelist.c
M	source/blender/makesdna/DNA_ID.h
M	source/blender/makesdna/DNA_asset_defaults.h
M	source/blender/makesdna/DNA_asset_types.h
M	source/blender/makesdna/DNA_space_types.h
M	source/blender/makesdna/intern/dna_defaults.c
M	source/blender/makesrna/RNA_access.h
M	source/blender/makesrna/intern/rna_asset.c
M	source/blender/makesrna/intern/rna_space.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_asset.h b/source/blender/blenkernel/BKE_asset.h
index 2e97fcd9dc9..4d467deadfe 100644
--- a/source/blender/blenkernel/BKE_asset.h
+++ b/source/blender/blenkernel/BKE_asset.h
@@ -42,25 +42,25 @@ void BKE_asset_repository_info_update_for_file_read(struct AssetRepositoryInfo *
 struct AssetCatalog *BKE_asset_repository_catalog_create(const char *name);
 void BKE_asset_repository_catalog_free(struct AssetCatalog **catalog);
 
-struct AssetData *BKE_asset_data_create(void);
-void BKE_asset_data_free(struct AssetData **asset_data);
+struct AssetMetaData *BKE_asset_metadata_create(void);
+void BKE_asset_metadata_free(struct AssetMetaData **asset_data);
 
-struct CustomTagEnsureResult {
-  struct CustomTag *tag;
+struct AssetTagEnsureResult {
+  struct AssetTag *tag;
   /* Set to false if a tag of this name was already present. */
   bool is_new;
 };
 
-struct CustomTag *BKE_assetdata_tag_add(struct AssetData *asset_data, const char *name);
-struct CustomTagEnsureResult BKE_assetdata_tag_ensure(struct AssetData *asset_data,
-                                                      const char *name);
-void BKE_assetdata_tag_remove(struct AssetData *asset_data, struct CustomTag *tag);
+struct AssetTag *BKE_asset_metadata_tag_add(struct AssetMetaData *asset_data, const char *name);
+struct AssetTagEnsureResult BKE_asset_metadata_tag_ensure(struct AssetMetaData *asset_data,
+                                                          const char *name);
+void BKE_asset_metadata_tag_remove(struct AssetMetaData *asset_data, struct AssetTag *tag);
 
-struct PreviewImage *BKE_assetdata_preview_get_from_id(const struct AssetData *asset_data,
-                                                       const struct ID *owner_id);
+struct PreviewImage *BKE_asset_metadata_preview_get_from_id(const struct AssetMetaData *asset_data,
+                                                            const struct ID *owner_id);
 
-void BKE_assetdata_write(struct BlendWriter *writer, struct AssetData *asset_data);
-void BKE_assetdata_read(struct BlendDataReader *reader, struct AssetData *asset_data);
+void BKE_asset_metadata_write(struct BlendWriter *writer, struct AssetMetaData *asset_data);
+void BKE_asset_metadata_read(struct BlendDataReader *reader, struct AssetMetaData *asset_data);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/asset.c b/source/blender/blenkernel/intern/asset.c
index 5ce3cbc99b4..d352d36ab5d 100644
--- a/source/blender/blenkernel/intern/asset.c
+++ b/source/blender/blenkernel/intern/asset.c
@@ -88,14 +88,14 @@ void BKE_asset_repository_catalog_free(AssetCatalog **catalog)
   MEM_SAFE_FREE(*catalog);
 }
 
-AssetData *BKE_asset_data_create(void)
+AssetMetaData *BKE_asset_metadata_create(void)
 {
-  AssetData *asset_data = MEM_callocN(sizeof(AssetData), __func__);
-  memcpy(asset_data, DNA_struct_default_get(AssetData), sizeof(*asset_data));
+  AssetMetaData *asset_data = MEM_callocN(sizeof(AssetMetaData), __func__);
+  memcpy(asset_data, DNA_struct_default_get(AssetMetaData), sizeof(*asset_data));
   return asset_data;
 }
 
-void BKE_asset_data_free(AssetData **asset_data)
+void BKE_asset_metadata_free(AssetMetaData **asset_data)
 {
   if ((*asset_data)->properties) {
     IDP_FreeProperty((*asset_data)->properties);
@@ -106,19 +106,19 @@ void BKE_asset_data_free(AssetData **asset_data)
   MEM_SAFE_FREE(*asset_data);
 }
 
-static CustomTag *assetdata_tag_create(const char *const name)
+static AssetTag *asset_metadata_tag_create(const char *const name)
 {
-  CustomTag *tag = MEM_callocN(sizeof(*tag), __func__);
+  AssetTag *tag = MEM_callocN(sizeof(*tag), __func__);
   BLI_strncpy(tag->name, name, sizeof(tag->name));
   return tag;
 }
 
-CustomTag *BKE_assetdata_tag_add(AssetData *asset_data, const char *name)
+AssetTag *BKE_asset_metadata_tag_add(AssetMetaData *asset_data, const char *name)
 {
-  CustomTag *tag = assetdata_tag_create(name);
+  AssetTag *tag = asset_metadata_tag_create(name);
 
   BLI_addtail(&asset_data->tags, tag);
-  BLI_uniquename(&asset_data->tags, tag, name, '.', offsetof(CustomTag, name), sizeof(tag->name));
+  BLI_uniquename(&asset_data->tags, tag, name, '.', offsetof(AssetTag, name), sizeof(tag->name));
 
   return tag;
 }
@@ -126,14 +126,15 @@ CustomTag *BKE_assetdata_tag_add(AssetData *asset_data, const char *name)
 /**
  * Make sure there is a tag with name \a name, create one if needed.
  */
-struct CustomTagEnsureResult BKE_assetdata_tag_ensure(AssetData *asset_data, const char *name)
+struct AssetTagEnsureResult BKE_asset_metadata_tag_ensure(AssetMetaData *asset_data,
+                                                          const char *name)
 {
-  struct CustomTagEnsureResult result = {.tag = NULL};
+  struct AssetTagEnsureResult result = {.tag = NULL};
   if (!name[0]) {
     return result;
   }
 
-  CustomTag *tag = BLI_findstring(&asset_data->tags, name, offsetof(CustomTag, name));
+  AssetTag *tag = BLI_findstring(&asset_data->tags, name, offsetof(AssetTag, name));
 
   if (tag) {
     result.tag = tag;
@@ -141,7 +142,7 @@ struct CustomTagEnsureResult BKE_assetdata_tag_ensure(AssetData *asset_data, con
     return result;
   }
 
-  tag = assetdata_tag_create(name);
+  tag = asset_metadata_tag_create(name);
   BLI_addtail(&asset_data->tags, tag);
 
   result.tag = tag;
@@ -149,23 +150,24 @@ struct CustomTagEnsureResult BKE_assetdata_tag_ensure(AssetData *asset_data, con
   return result;
 }
 
-void BKE_assetdata_tag_remove(AssetData *asset_data, CustomTag *tag)
+void BKE_asset_metadata_tag_remove(AssetMetaData *asset_data, AssetTag *tag)
 {
   BLI_freelinkN(&asset_data->tags, tag);
 }
 
 /* Queries -------------------------------------------- */
 
-PreviewImage *BKE_assetdata_preview_get_from_id(const AssetData *UNUSED(asset_data), const ID *id)
+PreviewImage *BKE_asset_metadata_preview_get_from_id(const AssetMetaData *UNUSED(asset_data),
+                                                     const ID *id)
 {
   return BKE_previewimg_id_get(id);
 }
 
 /* .blend file API -------------------------------------------- */
 
-void BKE_assetdata_write(BlendWriter *writer, AssetData *asset_data)
+void BKE_asset_metadata_write(BlendWriter *writer, AssetMetaData *asset_data)
 {
-  BLO_write_struct(writer, AssetData, asset_data);
+  BLO_write_struct(writer, AssetMetaData, asset_data);
 
   if (asset_data->properties) {
     IDP_BlendWrite(writer, asset_data->properties);
@@ -174,12 +176,12 @@ void BKE_assetdata_write(BlendWriter *writer, AssetData *asset_data)
   if (asset_data->description) {
     BLO_write_string(writer, asset_data->description);
   }
-  LISTBASE_FOREACH (CustomTag *, tag, &asset_data->tags) {
-    BLO_write_struct(writer, CustomTag, tag);
+  LISTBASE_FOREACH (AssetTag *, tag, &asset_data->tags) {
+    BLO_write_struct(writer, AssetTag, tag);
   }
 }
 
-void BKE_assetdata_read(BlendDataReader *reader, AssetData *asset_data)
+void BKE_asset_metadata_read(BlendDataReader *reader, AssetMetaData *asset_data)
 {
   /* asset_data itself has been read already. */
 
diff --git a/source/blender/blenkernel/intern/lib_id.c b/source/blender/blenkernel/intern/lib_id.c
index 46c37366840..659b6e93908 100644
--- a/source/blender/blenkernel/intern/lib_id.c
+++ b/source/blender/blenkernel/intern/lib_id.c
@@ -2363,7 +2363,7 @@ void BKE_id_reorder(const ListBase *lb, ID *id, ID *relative, bool after)
 void BKE_id_blend_write(BlendWriter *writer, ID *id)
 {
   if (id->asset_data) {
-    BKE_assetdata_write(writer, id->asset_data);
+    BKE_asset_metadata_write(writer, id->asset_data);
   }
 
   /* ID_WM's id->properties are considered runtime only, and never written in .blend file. */
diff --git a/source/blender/blenkernel/intern/lib_id_delete.c b/source/blender/blenkernel/intern/lib_id_delete.c
index 592807a5b3f..7199bd0f13c 100644
--- a/source/blender/blenkernel/intern/lib_id_delete.c
+++ b/source/blender/blenkernel/intern/lib_id_delete.c
@@ -66,7 +66,7 @@ void BKE_libblock_free_data(ID *id, const bool do_id_user)
   }
 
   if (id->asset_data) {
-    BKE_asset_data_free(&id->asset_data);
+    BKE_asset_metadata_free(&id->asset_data);
   }
 
   BKE_animdata_free(id, do_id_user);
diff --git a/source/blender/blenloader/BLO_readfile.h b/source/blender/blenloader/BLO_readfile.h
index c60b6677a8c..18d8bc17bea 100644
--- a/source/blender/blenloader/BLO_readfile.h
+++ b/source/blender/blenloader/BLO_readfile.h
@@ -124,7 +124,7 @@ void BLO_blendfiledata_free(BlendFileData *bfd);
 
 struct BLODataBlockInfo {
   char name[64]; /* MAX_NAME */
-  struct AssetData *asset_data;
+  struct AssetMetaData *asset_data;
 };
 
 BlendHandle *BLO_blendhandle_from_file(const char *filepath, struct ReportList *reports);
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index fd83ff7d5e7..5dd038f0993 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -968,11 +968,11 @@ const char *blo_bhead_id_name(const FileData *fd, const BHead *bhead)
 }
 
 /* Warning! Caller's responsibility to ensure given bhead **is** an ID one! */
-AssetData *blo_bhead_id_asset_data_address(const FileData *fd, const BHead *bhead)
+AssetMetaData *blo_bhead_id_asset_data_address(const FileData *fd, const BHead *bhead)
 {
   BLI_assert(BKE_idtype_idcode_is_valid(bhead->code));
   return (fd->id_asset_data_offs > 0) ?
-             *(AssetData **)POINTER_OFFSET(bhead, sizeof(*bhead) + fd->id_asset_data_offs) :
+             *(AssetMetaData **)POINTER_OFFSET(bhead, sizeof(*bhead) + fd->id_asset_data_offs) :
              NULL;
 }
 
@@ -1053,7 +1053,7 @@ static bool read_file_dna(FileData *fd, const char **r_error_message)
         /* used to retrieve ID names from (bhead+1) */
         fd->id_name_offs = DNA_elem_offset(fd->filesdna, "ID", "char", "name[]");
         BLI_assert(fd->id_name_offs != -1);
-        fd->id_asset_data_offs = DNA_elem_offset(fd->filesdna, "ID", "AssetData", "*asset_data");
+        fd->id_asset_data_offs = DNA_elem_offset(fd->filesdna, "ID", "AssetMetaData", "*asset_data");
 
         return true;
       }
@@ -2376,7 +2376,7 @@ static void direct_link_id_common(
 
   if (id->asset_data) {
     BLO

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list