int gom_header_update_timestamp(time_t t);
struct submission* gom_get_submission();
-struct submission* gom_add_submission(const char* xrefstr);
+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_add_family(const char* xrefstr);
+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_add_individual(const char* xrefstr);
+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_add_multimedia(const char* xrefstr);
+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_add_note(const char* xrefstr);
+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_add_repository(const char* xrefstr);
+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_add_source(const char* xrefstr);
+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_add_submitter(const char* xrefstr);
+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_add_user_rec(const char* xrefstr, const char* tag);
+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_for_locale(char** data, const char* locale_str);
void gom_set_unknown(const char* unknown);
+typedef enum _DIR {
+ MOVE_UP,
+ MOVE_DOWN
+} Gom_direction;
+
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);
+int gom_move_xref(Gom_direction dir, struct xref_list** data,
+ const char* xref);
-struct address* gom_add_address(struct address** obj);
+struct address* gom_set_new_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);
+struct association* gom_add_new_association(struct association** data);
+int gom_remove_association(struct association** data,
+ struct association* obj);
+int gom_move_association(Gom_direction dir,
+ struct association** data,
+ struct association* 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);
+
+struct event* gom_add_new_event(struct event** data);
+int gom_remove_event(struct event** data, struct event* obj);
+int gom_move_event(Gom_direction dir, struct event** data,
+ struct event* obj);
+
+struct family_link* gom_add_new_family_link(struct family_link** data);
+int gom_remove_family_link(struct family_link** data,
+ struct family_link* obj);
+int gom_move_family_link(Gom_direction dir,
+ struct family_link** data,
+ struct family_link* obj);
+
+struct lds_event* gom_add_new_lds_event(struct lds_event** data);
+int gom_remove_lds_event(struct lds_event** data,
+ struct lds_event* obj);
+int gom_move_lds_event(Gom_direction dir,
+ struct lds_event** data,
+ struct lds_event* obj);
+
+struct multimedia_link*
+ gom_add_new_multimedia_link(struct multimedia_link** data);
+int gom_remove_multimedia_link(struct multimedia_link** data,
+ struct multimedia_link* obj);
+int gom_move_multimedia_link(Gom_direction dir,
+ struct multimedia_link** data,
+ struct multimedia_link* obj);
+
+struct note_sub* gom_add_new_note_sub(struct note_sub** data);
+int gom_remove_note_sub(struct note_sub** data,
+ struct note_sub* obj);
+int gom_move_note_sub(Gom_direction dir,
+ struct note_sub** data,
+ struct note_sub* obj);
+
+struct pedigree* gom_add_new_pedigree(struct pedigree** data);
+int gom_remove_pedigree(struct pedigree** data,
+ struct pedigree* obj);
+int gom_move_pedigree(Gom_direction dir,
+ struct pedigree** data,
+ struct pedigree* obj);
+
+struct personal_name* gom_add_new_personal_name(struct personal_name** data);
+int gom_remove_personal_name(struct personal_name** data,
+ struct personal_name* obj);
+int gom_move_personal_name(Gom_direction dir,
+ struct personal_name** data,
+ struct personal_name* obj);
+
+struct place* gom_set_new_place(struct place** obj);
+int gom_delete_place(struct place** obj);
+
+struct source_citation*
+ gom_add_new_source_citation(struct source_citation** data);
+int gom_remove_source_citation(struct source_citation** data,
+ struct source_citation* obj);
+int gom_move_source_citation(Gom_direction dir,
+ struct source_citation** data,
+ struct source_citation* obj);
+
+struct source_description*
+ gom_add_new_source_description(struct source_description** data);
+int gom_remove_source_description(struct source_description** data,
+ struct source_description* obj);
+int gom_move_source_description(Gom_direction dir,
+ struct source_description** data,
+ struct source_description* obj);
+
+struct source_event* gom_add_new_source_event(struct source_event** data);
+int gom_remove_source_event(struct source_event** data,
+ struct source_event* obj);
+int gom_move_source_event(Gom_direction dir,
+ struct source_event** data,
+ struct source_event* obj);
+
+struct text* gom_add_new_text(struct text** data);
+int gom_remove_text(struct text** data,
+ struct text* obj);
+int gom_move_text(Gom_direction dir,
+ struct text** data,
+ struct text* obj);
+
+struct user_data* gom_add_new_user_data(struct user_data** data);
+int gom_remove_user_data(struct user_data** data,
+ struct user_data* obj);
+int gom_move_user_data(Gom_direction dir,
+ struct user_data** data,
+ struct user_data* obj);
+
+struct user_ref_number*
+ gom_add_new_user_ref_number(struct user_ref_number** data);
+int gom_remove_user_ref_number(struct user_ref_number** data,
+ struct user_ref_number* obj);
+int gom_move_user_ref_number(Gom_direction dir,
+ struct user_ref_number** data,
+ struct user_ref_number* obj);
#ifdef __cplusplus
}