r15805 - gnucash/branches/gobject-engine-dev-warlord - Convert SchedXaction to GObject initialization.

Derek Atkins warlord at cvs.gnucash.org
Wed Apr 4 20:23:33 EDT 2007


Author: warlord
Date: 2007-04-04 20:23:32 -0400 (Wed, 04 Apr 2007)
New Revision: 15805
Trac: http://svn.gnucash.org/trac/changeset/15805

Modified:
   gnucash/branches/gobject-engine-dev-warlord/
   gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.c
   gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.h
Log:
Convert SchedXaction to GObject initialization.



Property changes on: gnucash/branches/gobject-engine-dev-warlord
___________________________________________________________________
Name: svk:merge
   - 3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/branches/swig-redo:802
3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/trunk:1037
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord:14369
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord1:14385
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:14282
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk2:13366
   + 3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/branches/swig-redo:802
3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/trunk:1037
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord:14369
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord1:14386
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:14282
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk2:13366

Modified: gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.c
===================================================================
--- gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.c	2007-04-05 00:23:11 UTC (rev 15804)
+++ gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.c	2007-04-05 00:23:32 UTC (rev 15805)
@@ -45,12 +45,25 @@
 
 void sxprivtransactionListMapDelete( gpointer data, gpointer user_data );
 
+/* GObject initialization */
+QOF_GOBJECT_IMPL(gnc_schedxaction, SchedXaction, QOF_TYPE_INSTANCE);
+
 static void
+gnc_schedxaction_init(SchedXaction* fs)
+{
+}
+
+static void
+gnc_schedxaction_finalize_real(GObject* fsp)
+{
+}
+
+static void
 xaccSchedXactionInit(SchedXaction *sx, QofBook *book)
 {
    Account        *ra;
 
-   qof_instance_init (&sx->inst, GNC_ID_SCHEDXACTION, book);
+   qof_instance_init_data (&sx->inst, GNC_ID_SCHEDXACTION, book);
 
    sx->schedule = NULL;
    sx->freq = xaccFreqSpecMalloc(book);
@@ -89,7 +102,7 @@
 
    g_return_val_if_fail (book, NULL);
 
-   sx = g_new0( SchedXaction, 1 );
+   sx = g_object_new(GNC_TYPE_SCHEDXACTION, NULL);
    xaccSchedXactionInit( sx, book );
    qof_event_gen( &sx->inst, QOF_EVENT_CREATE , NULL);
 
@@ -187,8 +200,8 @@
           sx->deferredList = NULL;
   }
   
-  qof_instance_release (&sx->inst);
-  g_free( sx );
+  /* qof_instance_release (&sx->inst); */
+  g_object_unref( sx );
 }
 
 /* ============================================================ */

Modified: gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.h
===================================================================
--- gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.h	2007-04-05 00:23:11 UTC (rev 15804)
+++ gnucash/branches/gobject-engine-dev-warlord/src/engine/SchedXaction.h	2007-04-05 00:23:32 UTC (rev 15805)
@@ -36,6 +36,8 @@
 #ifndef XACC_SCHEDXACTION_H
 #define XACC_SCHEDXACTION_H
 
+typedef struct _SchedXactionClass SchedXactionClass;
+
 #include <time.h>
 #include <glib.h>
 #include "qof.h"
@@ -43,9 +45,23 @@
 #include "Recurrence.h"
 #include "gnc-engine.h"
 
-#define GNC_IS_SX(obj)  (QOF_CHECK_TYPE((obj), GNC_ID_SCHEDXACTION))
-#define GNC_SX(obj)     (QOF_CHECK_CAST((obj), GNC_ID_SCHEDXACTION, SchedXaction))
+/* --- type macros --- */
+#define GNC_TYPE_SCHEDXACTION            (gnc_schedxaction_get_type ())
+#define GNC_SCHEDXACTION(o)              \
+     (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_SCHEDXACTION, SchedXaction))
+#define GNC_SCHEDXACTION_CLASS(k)        \
+     (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_SCHEDXACTION, SchedXactionClass))
+#define GNC_IS_SCHEDXACTION(o)           \
+     (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_SCHEDXACTION))
+#define GNC_IS_SCHEDXACTION_CLASS(k)     \
+     (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_SCHEDXACTION))
+#define GNC_SCHEDXACTION_GET_CLASS(o)    \
+     (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_SCHEDXACTION, SchedXactionClass))
+GType gnc_schedxaction_get_type(void);
 
+#define GNC_IS_SX(obj)  GNC_IS_SCHEDXACTION(obj)
+#define GNC_SX(obj)     GNC_SCHEDXACTION(obj)
+
 typedef struct _SchedXaction SchedXaction;
 
 /**
@@ -104,6 +120,11 @@
   GList /* <temporalStateData*> */ *deferredList;
 };
 
+struct _SchedXactionClass
+{
+  QofInstanceClass parent_class;
+};
+
 /** Just the variable temporal bits from the SX structure. */
 typedef struct _temporalStateData {
   GDate last_date;



More information about the gnucash-changes mailing list