X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=include%2Fgom.h;h=7feb725ee88ecf8f7ce77b3a02e28897710d32b0;hb=014380ce86886f223f0c5f560c8770cbf4830502;hp=46ce4a6d1ee65723c1840806f61465897fd8fd04;hpb=19c1913f344c4ce5a0767d5529620cd6083f892b;p=gedcom-parse.git diff --git a/include/gom.h b/include/gom.h index 46ce4a6..7feb725 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,63 @@ 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_add_submission(const char* xrefstr); +int gom_delete_submission(); +struct xref_value* gom_make_submission_link(struct submission* obj); struct family* gom_get_first_family(); struct family* gom_get_family_by_xref(const char *xref); +struct family* gom_add_family(const char* xrefstr); +int gom_delete_family(struct family* obj); +struct xref_value* gom_make_family_link(struct family* obj); struct individual* gom_get_first_individual(); struct individual* gom_get_individual_by_xref(const char *xref); +struct individual* gom_add_individual(const char* xrefstr); +int gom_delete_individual(struct individual* obj); +struct xref_value* gom_make_individual_link(struct individual* obj); struct multimedia* gom_get_first_multimedia(); struct multimedia* gom_get_multimedia_by_xref(const char *xref); +struct multimedia* gom_add_multimedia(const char* xrefstr); +int gom_delete_multimedia(struct multimedia* obj); +struct xref_value* gom_make_multimedia_link(struct multimedia* obj); struct note* gom_get_first_note(); struct note* gom_get_note_by_xref(const char *xref); +struct note* gom_add_note(const char* xrefstr); +int gom_delete_note(struct note* obj); +struct xref_value* gom_make_note_link(struct note* obj); struct repository* gom_get_first_repository(); struct repository* gom_get_repository_by_xref(const char *xref); +struct repository* gom_add_repository(const char* xrefstr); +int gom_delete_repository(struct repository* obj); +struct xref_value* gom_make_repository_link(struct repository* obj); struct source* gom_get_first_source(); struct source* gom_get_source_by_xref(const char *xref); +struct source* gom_add_source(const char* xrefstr); +int gom_delete_source(struct source* obj); +struct xref_value* gom_make_source_link(struct source* obj); struct submitter* gom_get_first_submitter(); struct submitter* gom_get_submitter_by_xref(const char *xref); +struct submitter* gom_add_submitter(const char* xrefstr); +int gom_delete_submitter(struct submitter* obj); +struct xref_value* gom_make_submitter_link(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_add_user_rec(const char* xrefstr, const char* tag); +int gom_delete_user_rec(struct user_rec* obj); +struct xref_value* gom_make_user_rec_link(struct user_rec* obj); char* gom_get_string(char* data); char* gom_set_string(char** data, const char* utf8_str); @@ -452,6 +485,19 @@ 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_value(struct xref_value** data, + struct xref_value* newval); + +struct address* gom_add_address(struct address** obj); +int gom_delete_address(struct address** obj); + +struct place* gom_add_place(struct place** obj); +int gom_delete_place(struct place** obj); + +struct change_date* gom_add_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