QOF  0.8.7
qofbookmerge.h
Go to the documentation of this file.
1 /*********************************************************************
2  * qofbookmerge.h -- api for QofBook merge with collision handling *
3  * Copyright (C) 2004 Neil Williams <linux@codehelp.co.uk> *
4  * *
5  * This program is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public License as *
7  * published by the Free Software Foundation; either version 2 of *
8  * the License, or (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, contact: *
17  * *
18  * Free Software Foundation Voice: +1-617-542-5942 *
19  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
20  * Boston, MA 02110-1301, USA gnu@gnu.org *
21  * *
22  ********************************************************************/
23 
24 #ifndef QOFBOOKMERGE_H
25 #define QOFBOOKMERGE_H
26 
27 #define QOF_MOD_MERGE "qof-merge"
28 
81 #include "qofutil.h"
82 #include "qofbook.h"
83 #include "qofclass.h"
84 #include "qofobject.h"
85 #include "qofinstance.h"
86 #include "qoflog.h"
87 
125 typedef enum
126 {
139 
164 typedef struct
165 {
166  /* internal counters and reference variables */
167  gboolean mergeAbsolute;
169  double difference;
171  gboolean updated;
173  /* rule objects set from or by external calls */
176  const gchar *mergeLabel;
178  GSList *mergeParam;
179  GSList *linkedEntList;
193 
194 
209 typedef struct
210 {
213  GList *mergeList;
215  GSList *targetList;
221  gboolean abort;
224  GSList *orphan_list;
232  GHashTable *target_table;
236 
237 
238 /* ======================================================================== */
275  QofBook * targetBook);
276 
277 
322  QofBookMergeRule *, guint);
323 
349  QofBookMergeRuleForeachCB callback,
350  QofBookMergeResult mergeResult);
351 
432  QofBookMergeResult tag);
433 
467 gint qof_book_merge_commit (QofBookMergeData * mergeData);
468 
476 void qof_book_merge_abort (QofBookMergeData * mergeData);
477 
478 #endif // QOFBOOKMERGE_H
479 
const gchar * mergeLabel
Definition: qofbookmerge.h:176
QofBook * mergeBook
Definition: qofbookmerge.h:217
const gchar * QofIdType
Definition: qofid.h:81
gint qof_book_merge_commit(QofBookMergeData *mergeData)
Commits the import data to the target book.
Definition: qofbookmerge.c:998
the Core Object Description Interface
Object instance holds common fields that most QofObjects use.
QofIdType mergeType
Definition: qofbookmerge.h:174
GSList * mergeParam
Definition: qofbookmerge.h:178
QofEntity * importEnt
Definition: qofbookmerge.h:189
QOF error logging and tracing facility.
GHashTable * target_table
Definition: qofbookmerge.h:232
QofBookMergeResult mergeResult
Definition: qofbookmerge.h:188
GSList * linkedEntList
Definition: qofbookmerge.h:179
void qof_book_merge_rule_foreach(QofBookMergeData *mergeData, QofBookMergeRuleForeachCB callback, QofBookMergeResult mergeResult)
Dialogue Control Callback.
One rule per entity, built into a single GList for the entire merge.
Definition: qofbookmerge.h:164
QofBookMergeData * qof_book_merge_init(QofBook *importBook, QofBook *targetBook)
Initialise the QofBookMerge process.
Definition: qofbookmerge.c:900
gboolean mergeAbsolute
Definition: qofbookmerge.h:167
Encapsulate all the information about a dataset.
QofBookMergeRule * currentRule
Definition: qofbookmerge.h:222
API for registering parameters on objects.
QofBook * targetBook
Definition: qofbookmerge.h:219
QofBookMergeResult
Results of collisions and user resolution.
Definition: qofbookmerge.h:125
void(* QofBookMergeRuleForeachCB)(QofBookMergeData *, QofBookMergeRule *, guint)
Definition of the dialogue control callback routine.
Definition: qofbookmerge.h:321
void qof_book_merge_abort(QofBookMergeData *mergeData)
Abort the merge and free all memory allocated by the merge.
Definition: qofbookmerge.c:937
GSList * mergeObjectParams
Definition: qofbookmerge.h:211
QofBookMergeData * qof_book_merge_update_result(QofBookMergeData *mergeData, QofBookMergeResult tag)
called by dialogue callback to set the result of user intervention
Definition: qofbookmerge.c:966
GSList * orphan_list
Definition: qofbookmerge.h:224
QofEntity * targetEnt
Definition: qofbookmerge.h:190
QOF utility functions.
GSList * targetList
Definition: qofbookmerge.h:215
mergeData contains the essential context data for any merge.
Definition: qofbookmerge.h:209