mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Convert Split objects to GObject intiialization
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15807 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
39d9258d19
commit
cb8f58790c
@ -55,6 +55,19 @@ const char *void_former_val_str = "void-former-value";
|
|||||||
/* This static indicates the debugging module that this .o belongs to. */
|
/* This static indicates the debugging module that this .o belongs to. */
|
||||||
static QofLogModule log_module = GNC_MOD_ENGINE;
|
static QofLogModule log_module = GNC_MOD_ENGINE;
|
||||||
|
|
||||||
|
/* GObject Initialization */
|
||||||
|
QOF_GOBJECT_IMPL(gnc_split, Split, QOF_TYPE_INSTANCE);
|
||||||
|
|
||||||
|
static void
|
||||||
|
gnc_split_init(Split* acc)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gnc_split_finalize_real(GObject* acctp)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* xaccInitSplit
|
* xaccInitSplit
|
||||||
* Initialize a Split structure
|
* Initialize a Split structure
|
||||||
@ -87,7 +100,7 @@ xaccInitSplit(Split * split, QofBook *book)
|
|||||||
split->gains = GAINS_STATUS_UNKNOWN;
|
split->gains = GAINS_STATUS_UNKNOWN;
|
||||||
split->gains_split = NULL;
|
split->gains_split = NULL;
|
||||||
|
|
||||||
qof_instance_init(&split->inst, GNC_ID_SPLIT, book);
|
qof_instance_init_data(&split->inst, GNC_ID_SPLIT, book);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -130,7 +143,7 @@ xaccMallocSplit(QofBook *book)
|
|||||||
Split *split;
|
Split *split;
|
||||||
g_return_val_if_fail (book, NULL);
|
g_return_val_if_fail (book, NULL);
|
||||||
|
|
||||||
split = g_new0 (Split, 1);
|
split = g_object_new (GNC_TYPE_SPLIT, NULL);
|
||||||
xaccInitSplit (split, book);
|
xaccInitSplit (split, book);
|
||||||
|
|
||||||
return split;
|
return split;
|
||||||
@ -148,7 +161,7 @@ xaccMallocSplit(QofBook *book)
|
|||||||
Split *
|
Split *
|
||||||
xaccDupeSplit (const Split *s)
|
xaccDupeSplit (const Split *s)
|
||||||
{
|
{
|
||||||
Split *split = g_new0 (Split, 1);
|
Split *split = g_object_new (GNC_TYPE_SPLIT, NULL);
|
||||||
|
|
||||||
/* Trash the entity table. We don't want to mistake the cloned
|
/* Trash the entity table. We don't want to mistake the cloned
|
||||||
* splits as something official. If we ever use this split, we'll
|
* splits as something official. If we ever use this split, we'll
|
||||||
@ -187,7 +200,7 @@ xaccDupeSplit (const Split *s)
|
|||||||
Split *
|
Split *
|
||||||
xaccSplitClone (const Split *s)
|
xaccSplitClone (const Split *s)
|
||||||
{
|
{
|
||||||
Split *split = g_new0 (Split, 1);
|
Split *split = g_object_new (GNC_TYPE_SPLIT, NULL);
|
||||||
|
|
||||||
split->parent = NULL;
|
split->parent = NULL;
|
||||||
split->memo = CACHE_INSERT(s->memo);
|
split->memo = CACHE_INSERT(s->memo);
|
||||||
@ -204,7 +217,7 @@ xaccSplitClone (const Split *s)
|
|||||||
split->gains = GAINS_STATUS_UNKNOWN;
|
split->gains = GAINS_STATUS_UNKNOWN;
|
||||||
split->gains_split = NULL;
|
split->gains_split = NULL;
|
||||||
|
|
||||||
qof_instance_init(&split->inst, GNC_ID_SPLIT, s->inst.book);
|
qof_instance_init_data(&split->inst, GNC_ID_SPLIT, s->inst.book);
|
||||||
kvp_frame_delete(split->inst.kvp_data);
|
kvp_frame_delete(split->inst.kvp_data);
|
||||||
split->inst.kvp_data = kvp_frame_copy(s->inst.kvp_data);
|
split->inst.kvp_data = kvp_frame_copy(s->inst.kvp_data);
|
||||||
|
|
||||||
@ -274,8 +287,8 @@ xaccFreeSplit (Split *split)
|
|||||||
|
|
||||||
// Is this right?
|
// Is this right?
|
||||||
if (split->gains_split) split->gains_split->gains_split = NULL;
|
if (split->gains_split) split->gains_split->gains_split = NULL;
|
||||||
qof_instance_release(&split->inst);
|
/* qof_instance_release(&split->inst); */
|
||||||
g_free(split);
|
g_object_unref(split);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mark_acc(Account *acc)
|
static void mark_acc(Account *acc)
|
||||||
|
@ -34,11 +34,28 @@
|
|||||||
#ifndef XACC_SPLIT_H
|
#ifndef XACC_SPLIT_H
|
||||||
#define XACC_SPLIT_H
|
#define XACC_SPLIT_H
|
||||||
|
|
||||||
|
typedef struct _SplitClass SplitClass;
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include "gnc-commodity.h"
|
#include "gnc-commodity.h"
|
||||||
#include "gnc-engine.h"
|
#include "gnc-engine.h"
|
||||||
|
|
||||||
|
/* --- type macros --- */
|
||||||
|
#define GNC_TYPE_SPLIT (gnc_split_get_type ())
|
||||||
|
#define GNC_SPLIT(o) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SPLIT, Split))
|
||||||
|
#define GNC_SPLIT_CLASS(k) \
|
||||||
|
(G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_SPLIT, SplitClass))
|
||||||
|
#define GNC_IS_SPLIT(o) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SPLIT))
|
||||||
|
#define GNC_IS_SPLIT_CLASS(k) \
|
||||||
|
(G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_SPLIT))
|
||||||
|
#define GNC_SPLIT_GET_CLASS(o) \
|
||||||
|
(G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_SPLIT, SplitClass))
|
||||||
|
GType gnc_split_get_type(void);
|
||||||
|
|
||||||
|
|
||||||
/** @name Split Reconciled field values
|
/** @name Split Reconciled field values
|
||||||
|
|
||||||
If you change these
|
If you change these
|
||||||
|
@ -131,6 +131,11 @@ struct split_s
|
|||||||
guint32 idata; /* used by the sql backend for kvp management */
|
guint32 idata; /* used by the sql backend for kvp management */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _SplitClass
|
||||||
|
{
|
||||||
|
QofInstanceClass parent_class;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Set the split's GUID. This should only be done when reading
|
/* Set the split's GUID. This should only be done when reading
|
||||||
* a split from a datafile, or some other external source. Never
|
* a split from a datafile, or some other external source. Never
|
||||||
|
Loading…
Reference in New Issue
Block a user