r302 - trunk/src/target/OM-2007/applications/openmoko-appmanager/src

caowai_song at gta01.hmw-consulting.de caowai_song at gta01.hmw-consulting.de
Tue Dec 5 07:48:05 CET 2006


Author: caowai_song
Date: 2006-12-05 06:47:59 +0000 (Tue, 05 Dec 2006)
New Revision: 302

Modified:
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c
   trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h
Log:
Try to use GObject in the application manager data struct


Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c	2006-12-05 06:39:29 UTC (rev 301)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.c	2006-12-05 06:47:59 UTC (rev 302)
@@ -20,6 +20,64 @@
 
 #include "appmanager-data.h"
 
+static void application_manager_data_class_init (ApplicationManagerDataClass *klass);
+static void application_manager_data_init (ApplicationManagerData *data);
+
+G_DEFINE_TYPE (ApplicationManagerData, application_manager_data, G_TYPE_OBJECT)
+
+static void 
+application_manager_data_class_init (ApplicationManagerDataClass *klass)
+{
+}
+
+static void 
+application_manager_data_init (ApplicationManagerData *data)
+{
+  gint  i;
+
+  data->mwindow = NULL;
+  data->tvpkglist = NULL;
+  data->tvdetail = NULL;
+  data->pkglist = NULL;
+  data->sectionlist = NULL;
+  data->installedlist = NULL;
+  data->upgradelist = NULL;
+  data->selectedlist = NULL;
+
+  for (i = 0; i < N_COUNT_PKG_STATUS; i++)
+    {
+      data->statuspix[i] = NULL;
+    }
+
+}
+
+GType 
+moko_type_application_manager_data_get_type (void)
+{
+  static GType self_type = 0;
+
+  if (!self_type)
+    {
+      static const GTypeInfo self_info =
+        {
+          sizeof (ApplicationManagerDataClass),
+          NULL, /* base_init */
+          NULL, /* base_finalize */
+          (GClassInitFunc) application_manager_data_class_init,
+          NULL, /* class_finalize */
+          NULL, /* class_data */
+          sizeof (ApplicationManagerData),
+          0,
+          (GInstanceInitFunc) application_manager_data_init,
+        };
+
+      // add the type of your parent class here
+      self_type = g_type_register_static (G_TYPE_OBJECT, "ApplicationManagerData", &self_info, 0);
+    }
+
+  return self_type;
+}
+
 /**
  * @brief Create a new ApplicationManagerData
  * @return The ApplicationManagerData. If fail to create, it will return NULL.
@@ -27,6 +85,7 @@
 ApplicationManagerData *
 application_manager_data_new (void)
 {
+/*
   ApplicationManagerData *data;
   int i;
 
@@ -52,6 +111,10 @@
     }
 
   return data;
+*/
+  return MOKO_APPLICATION_MANAGER_DATA (g_object_new \
+                                        (moko_type_application_manager_data_get_type (), \
+                                        NULL));
 }
 
 /**
@@ -63,7 +126,7 @@
 application_manager_data_set_main_window (ApplicationManagerData *appdata, 
                                           MokoPanedWindow *window)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->mwindow = window;
 }
@@ -78,7 +141,7 @@
 application_manager_data_set_tvpkglist (ApplicationManagerData *appdata,
                                        GtkWidget *tvpkglist)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->tvpkglist = tvpkglist;
 }
@@ -92,7 +155,7 @@
 application_manager_data_set_tvdetail (ApplicationManagerData *appdata,
                                        GtkWidget *tvdetail)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->tvdetail = tvdetail;
 }
@@ -106,7 +169,7 @@
 application_manager_data_set_pkglist (ApplicationManagerData *appdata,
                                       gpointer pkglist)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->pkglist = pkglist;
 }
@@ -120,7 +183,7 @@
 application_manager_data_set_section_list (ApplicationManagerData *appdata,
                                            gpointer sectionlist)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->sectionlist = sectionlist;
 }
@@ -134,7 +197,7 @@
 application_manager_data_set_installed_list (ApplicationManagerData *appdata,
                                              gpointer installedlist)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->installedlist = installedlist;
 }
@@ -148,7 +211,7 @@
 application_manager_data_set_upgrade_list (ApplicationManagerData *appdata,
                                            gpointer upgradelist)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->upgradelist = upgradelist;
 }
@@ -162,7 +225,7 @@
 application_manager_data_set_selected_list (ApplicationManagerData *appdata,
                                             gpointer selectedlist)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   appdata->selectedlist = selectedlist;
 }
@@ -178,7 +241,7 @@
                                             GdkPixbuf *pixbuf,
                                             guint id)
 {
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
   g_return_if_fail (id < N_COUNT_PKG_STATUS);
 
   appdata->statuspix[id] = pixbuf;
@@ -196,7 +259,7 @@
 {
   GdkPixbuf  *pixbuf;
 
-  g_return_if_fail (appdata != NULL);
+  g_return_if_fail (MOKO_IS_APPLICATION_MANAGER_DATA (appdata));
 
   pixbuf = create_pixbuf ("package-available.png");
   if (pixbuf != NULL)

Modified: trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h	2006-12-05 06:39:29 UTC (rev 301)
+++ trunk/src/target/OM-2007/applications/openmoko-appmanager/src/appmanager-data.h	2006-12-05 06:47:59 UTC (rev 302)
@@ -25,6 +25,24 @@
 #include <libmokoui/moko-paned-window.h>
 #include "pixbuf-list.h"
 
+G_BEGIN_DECLS
+
+#define MOKO_TYPE_APPLICATION_MANAGER_DATA  (moko_type_application_manager_data_get_type ())
+#define MOKO_APPLICATION_MANAGER_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+                                            MOKO_TYPE_APPLICATION_MANAGER_DATA, \
+                                            ApplicationManagerData))
+#define MOKO_APPLICATION_MANAGER_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
+                                                    MOKO_TYPE_APPLICATION_MANAGER_DATA, \
+                                                    ApplicationManagerDataClass))
+#define MOKO_IS_APPLICATION_MANAGER_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+                                               MOKO_TYPE_APPLICATION_MANAGER_DATA))
+#define MOKO_IS_APPLICATION_MANAGER_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+                                                       MOKO_TYPE_APPLICATION_MANAGER_DATA))
+#define MOKO_APPLICATION_MANAGER_DATA_GET_TYPE(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+                                                     MOKO_TYPE_APPLICATION_MANAGER_DATA, \
+                                                     ApplicationManagerDataClass))
+
+
 /**
  * @brief The all data that will be used in the application manager
  *
@@ -34,6 +52,8 @@
  * FIXME Maybe use a GObject as the base class is the better.
  */
 typedef struct _ApplicationManagerData {
+  GObject          parent;             ///<! The parent of the struct
+
   MokoPanedWindow  *mwindow;           ///<! The main window
   GtkWidget        *tvpkglist;         ///<! The treeview of the package list
   GtkWidget        *tvdetail;          ///<! The textview of the details info
@@ -45,6 +65,16 @@
   GdkPixbuf        *statuspix[N_COUNT_PKG_STATUS];    ///<! The all pixbufs that need by the package list store
 } ApplicationManagerData;
 
+/**
+ * @brief The class struct of application manager data
+ */
+typedef struct _ApplicationManagerDataClass {
+  GObjectClass    parent_class;        ///<! The parent class
+} ApplicationManagerDataClass;
+
+GType moko_type_application_manager_data_get_type (void);
+
+
 ApplicationManagerData *application_manager_data_new (void);
 
 void application_manager_data_set_main_window (ApplicationManagerData *appdata, 
@@ -101,4 +131,6 @@
      application_manager_data_get_status_pixbuf (ApplicationManagerData *appdata, 
                                                  guint id);
 
+G_END_DECLS
+
 #endif





More information about the commitlog mailing list