Rename 'add' functions to 'new'.
[gedcom-parse.git] / include / gom.h
index a27bab4c1e0e538f9048ec9702394d51869e8553..12352734604c2e07dee5b4e1bc8d50b44704ac78 100644 (file)
@@ -25,6 +25,7 @@
 #define __GEDCOM_GOM_H
 
 #include "gedcom.h"
+#include <time.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -87,9 +88,9 @@ struct note_sub {                     /* NOTE_STRUCTURE */
 struct place {                        /* PLACE_STRUCTURE */
   char *value;                        /* PLACE_VALUE */
   char *place_hierarchy;              /* PLACE_HIERARCHY */
-  struct user_data *extra;
   struct source_citation *citation;
   struct note_sub *note;
+  struct user_data *extra;
 };
 
 struct multimedia_link {              /* MULTIMEDIA_LINK */
@@ -104,6 +105,8 @@ struct multimedia_link {              /* MULTIMEDIA_LINK */
 };
 
 struct lds_event {                    /* LDS_INDIVIDUAL_ORDINANCE */
+  int event;
+  char *event_name;
   char *date_status;                  /* LDS_BAPTISM_DATE_STATUS */
   struct date_value *date;            /* DATE_LDS_ORD */
   char *temple_code;                  /* TEMPLE_CODE */
@@ -417,41 +420,76 @@ struct user_rec {
 
 int  gom_parse_file(const char *file_name);
 int  gom_new_model();
+int  gom_write_file(const char* file_name, int *total_conv_fails);
 
 struct header*     gom_get_header();
+int                gom_header_update_timestamp(time_t t);
+  
 struct submission* gom_get_submission();
+struct submission* gom_new_submission(const char* xrefstr);
+int                gom_delete_submission();
 
 struct family*     gom_get_first_family();
 struct family*     gom_get_family_by_xref(const char *xref);
+struct family*     gom_new_family(const char* xrefstr);
+int                gom_delete_family(struct family* obj);
 
 struct individual* gom_get_first_individual();
 struct individual* gom_get_individual_by_xref(const char *xref);
+struct individual* gom_new_individual(const char* xrefstr);
+int                gom_delete_individual(struct individual* obj);
 
 struct multimedia* gom_get_first_multimedia();
 struct multimedia* gom_get_multimedia_by_xref(const char *xref);
+struct multimedia* gom_new_multimedia(const char* xrefstr);
+int                gom_delete_multimedia(struct multimedia* obj);
 
 struct note*       gom_get_first_note();
 struct note*       gom_get_note_by_xref(const char *xref);
+struct note*       gom_new_note(const char* xrefstr);
+int                gom_delete_note(struct note* obj);
 
 struct repository* gom_get_first_repository();
 struct repository* gom_get_repository_by_xref(const char *xref);
+struct repository* gom_new_repository(const char* xrefstr);
+int                gom_delete_repository(struct repository* obj);
 
 struct source*     gom_get_first_source();
 struct source*     gom_get_source_by_xref(const char *xref);
+struct source*     gom_new_source(const char* xrefstr);
+int                gom_delete_source(struct source* obj);
 
 struct submitter*  gom_get_first_submitter();
 struct submitter*  gom_get_submitter_by_xref(const char *xref);
+struct submitter*  gom_new_submitter(const char* xrefstr);
+int                gom_delete_submitter(struct submitter* obj);
 
 struct user_rec*   gom_get_first_user_rec();
 struct user_rec*   gom_get_user_rec_by_xref(const char *xref);
+struct user_rec*   gom_new_user_rec(const char* xrefstr, const char* tag);
+int                gom_delete_user_rec(struct user_rec* obj);
 
 char* gom_get_string(char* data);
-char* gom_set_string(char** data, const char* utf8_value);
+char* gom_set_string(char** data, const char* utf8_str);
 
-char* gom_get_string_locale(char* data, int* conversion_failures);
-char* gom_set_string_locale(char** data, const char* locale_value);
+char* gom_get_string_for_locale(char* data, int* conversion_failures);
+char* gom_set_string_for_locale(char** data, const char* locale_str);
 void  gom_set_unknown(const char* unknown);
 
+struct xref_value* gom_set_xref(struct xref_value** data, const char* xref);
+struct xref_list*  gom_add_xref(struct xref_list** data, const char* xref);
+int                gom_remove_xref(struct xref_list** data, const char* xref);
+
+struct address*    gom_set_new_address(struct address** obj);
+int                gom_delete_address(struct address** obj);
+
+struct place*      gom_set_new_place(struct place** obj);
+int                gom_delete_place(struct place** obj);
+
+struct change_date* gom_set_new_change_date(struct change_date** obj);
+int                 gom_delete_change_date(struct change_date** obj);
+int                 gom_update_timestamp(struct change_date** obj, time_t t);
+  
 #ifdef __cplusplus
 }
 #endif