Convert SX-book (SchedXactions) to GObject initialization.

Note that this object is never freed here, so it's a potential memory leak.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15806 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Derek Atkins 2007-04-05 00:23:42 +00:00
parent f1e6425dce
commit 39d9258d19
2 changed files with 42 additions and 6 deletions

View File

@ -214,6 +214,19 @@ gnc_sxes_del_sx(SchedXactions *sxes, SchedXaction *sx)
/* ====================================================================== */
/* SX-trans stuff */
/* GObject initialization */
QOF_GOBJECT_IMPL(gnc_schedxactions, SchedXactions, QOF_TYPE_INSTANCE);
static void
gnc_schedxactions_init(SchedXactions* fs)
{
}
static void
gnc_schedxactions_finalize_real(GObject* fsp)
{
}
static void
mark_sx_clean(gpointer data, gpointer user_data)
{
@ -228,11 +241,14 @@ book_sxes_setup(QofBook *book)
SchedXactions *sxes;
col = qof_book_get_collection(book, GNC_ID_SCHEDXACTION);
sxes = g_new (SchedXactions, 1);
qof_instance_init(&sxes->inst, GNC_ID_SXES, book);
sxes = g_object_new (GNC_TYPE_SCHEDXACTIONS, NULL);
g_assert(sxes);
qof_instance_init_data(&sxes->inst, GNC_ID_SXES, book);
sxes->sx_list = NULL;
sxes->sx_notsaved = TRUE;
qof_collection_set_data(col, sxes);
/* XXX: FIXME: MEMORY LEAK. This object is never freed. */
}
static void

View File

@ -39,20 +39,40 @@
#ifndef GNC_SX_BOOK_H
#define GNC_SX_BOOK_H
typedef struct xaccSchedXactionsDef SchedXactions;
typedef struct _SchedXactionsClass SchedXactionsClass;
#include <glib.h>
#include "SchedXaction.h"
#include "qof.h"
typedef struct xaccSchedXactionsDef SchedXactions;
struct xaccSchedXactionsDef {
QofInstance inst;
GList* sx_list;
gboolean sx_notsaved;
};
#define GNC_IS_SXES(obj) (QOF_CHECK_TYPE((obj), GNC_ID_SXES))
#define GNC_SXES(obj) (QOF_CHECK_CAST((obj), GNC_ID_SXES, SchedXactions))
struct _SchedXactionsClass
{
QofInstanceClass parent_class;
};
/* --- type macros --- */
#define GNC_TYPE_SCHEDXACTIONS (gnc_schedxactions_get_type ())
#define GNC_SCHEDXACTIONS(o) \
(G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SCHEDXACTIONS, SchedXactions))
#define GNC_SCHEDXACTIONS_CLASS(k) \
(G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_SCHEDXACTIONS, SchedXactionsClass))
#define GNC_IS_SCHEDXACTIONS(o) \
(G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SCHEDXACTIONS))
#define GNC_IS_SCHEDXACTIONS_CLASS(k) \
(G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_SCHEDXACTIONS))
#define GNC_SCHEDXACTIONS_GET_CLASS(o) \
(G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_SCHEDXACTIONS, SchedXactionsClass))
GType gnc_schedxactions_get_type(void);
#define GNC_IS_SXES(obj) GNC_IS_SCHEDXACTIONS(obj)
#define GNC_SXES(obj) GNC_SCHEDXACTIONS(obj)
SchedXactions* gnc_book_get_schedxactions(QofBook* book);