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