add document deep copy interface

This commit is contained in:
Alexey Fedoseev
2024-04-26 11:49:36 +03:00
parent f1f9b15b57
commit 44cce58179
2 changed files with 629 additions and 317 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -251,6 +251,9 @@ typedef enum {
/* Do not use the structure before the initialization! */ /* Do not use the structure before the initialization! */
int cyberiada_init_sm_document(CyberiadaDocument* doc); int cyberiada_init_sm_document(CyberiadaDocument* doc);
/* Deep copy the SM structure */
CyberiadaDocument* cyberiada_copy_sm_document(CyberiadaDocument* source_doc);
/* Cleanup the content of the SM structure */ /* Cleanup the content of the SM structure */
/* Free the allocated memory of the structure content but not the structure itself */ /* Free the allocated memory of the structure content but not the structure itself */
int cyberiada_cleanup_sm_document(CyberiadaDocument* doc); int cyberiada_cleanup_sm_document(CyberiadaDocument* doc);