Merge branch 'blender2.7'
[blender.git] / source / blender / makesdna / intern / dna_utils.h
index fc8e5a87547329c2876d2bf811260e7588de6245..00dd53d093b52a0f55489d58c1cb8a3d00da254d 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
-/** \file \ingroup DNA
+/** \file
+ * \ingroup DNA
  */
 
 #ifndef __DNA_UTILS_H__
 #define __DNA_UTILS_H__
 
 struct MemArena;
+struct GHash;
 
 int DNA_elem_array_size(const char *str);
 
 uint DNA_elem_id_offset_start(const char *elem_full);
 uint DNA_elem_id_offset_end(const char *elem_full);
-void DNA_elem_id_strip(char *elem_dst, const char *elem_src);
+uint DNA_elem_id_strip_copy(char *elem_dst, const char *elem_src);
+uint DNA_elem_id_strip(char *elem);
 bool DNA_elem_id_match(
         const char *elem_search, const int elem_search_len,
         const char *elem_full,
@@ -38,4 +41,16 @@ char *DNA_elem_id_rename(
         const char *elem_full_src, const int elem_full_src_len,
         const uint elem_full_offset_start);
 
+/* When requesting version info, support both directions. */
+enum eDNA_RenameDir {
+       DNA_RENAME_STATIC_FROM_ALIAS = -1,
+       DNA_RENAME_ALIAS_FROM_STATIC = 1,
+};
+void DNA_alias_maps(
+        enum eDNA_RenameDir version_dir,
+        struct GHash **r_struct_map, struct GHash **r_elem_map);
+
+const char *DNA_struct_rename_legacy_hack_alias_from_static(const char *name);
+const char *DNA_struct_rename_legacy_hack_static_from_alias(const char *name);
+
 #endif /* __DNA_UTILS_H__ */