X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=include%2Fgom.h;h=12352734604c2e07dee5b4e1bc8d50b44704ac78;hb=a32bee3a7c3792af75f2772dd6501fb9429ca749;hp=46ce4a6d1ee65723c1840806f61465897fd8fd04;hpb=19c1913f344c4ce5a0767d5529620cd6083f892b;p=gedcom-parse.git diff --git a/include/gom.h b/include/gom.h index 46ce4a6..1235273 100644 --- a/include/gom.h +++ b/include/gom.h @@ -25,6 +25,7 @@ #define __GEDCOM_GOM_H #include "gedcom.h" +#include #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,33 +420,54 @@ 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_str); @@ -452,6 +476,20 @@ 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