[tracker/tracker-0.8] libtracker-data: Performance improvement for often used classes
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/tracker-0.8] libtracker-data: Performance improvement for often used classes
- Date: Thu, 15 Apr 2010 11:33:07 +0000 (UTC)
commit 0ef331410d719d6ec81acf0b3a0b57e7dd0ac121
Author: Philip Van Hoof <philip codeminded be>
Date: Wed Apr 14 12:43:58 2010 +0200
libtracker-data: Performance improvement for often used classes
NOTE: Had to be fixed up for 0.8 branch
src/libtracker-data/tracker-class.c | 40 +++---
src/libtracker-data/tracker-class.h | 2 +
src/libtracker-data/tracker-property.c | 250 ++++++++++++++++----------------
src/libtracker-data/tracker-property.h | 2 +
4 files changed, 151 insertions(+), 143 deletions(-)
---
diff --git a/src/libtracker-data/tracker-class.c b/src/libtracker-data/tracker-class.c
index b2375e6..c2d5908 100644
--- a/src/libtracker-data/tracker-class.c
+++ b/src/libtracker-data/tracker-class.c
@@ -29,11 +29,10 @@
#include "tracker-namespace.h"
#include "tracker-ontologies.h"
-#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_CLASS, TrackerClassPriv))
+#define GET_PRIV(obj) (((TrackerClass*) obj)->priv)
+#define TRACKER_CLASS_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_CLASS, TrackerClassPrivate))
-typedef struct _TrackerClassPriv TrackerClassPriv;
-
-struct _TrackerClassPriv {
+struct _TrackerClassPrivate {
gchar *uri;
gchar *name;
gint count;
@@ -54,24 +53,27 @@ tracker_class_class_init (TrackerClassClass *klass)
object_class->finalize = class_finalize;
- g_type_class_add_private (object_class, sizeof (TrackerClassPriv));
+ g_type_class_add_private (object_class, sizeof (TrackerClassPrivate));
}
static void
tracker_class_init (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
- priv = GET_PRIV (service);
+ priv = TRACKER_CLASS_GET_PRIVATE (service);
priv->id = 0;
priv->super_classes = g_array_new (TRUE, TRUE, sizeof (TrackerClass *));
+
+ /* Make GET_PRIV working */
+ service->priv = priv;
}
static void
class_finalize (GObject *object)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
priv = GET_PRIV (object);
@@ -96,7 +98,7 @@ tracker_class_new (void)
const gchar *
tracker_class_get_uri (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_val_if_fail (TRACKER_IS_CLASS (service), NULL);
@@ -108,7 +110,7 @@ tracker_class_get_uri (TrackerClass *service)
const gchar *
tracker_class_get_name (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_val_if_fail (TRACKER_IS_CLASS (service), NULL);
@@ -120,7 +122,7 @@ tracker_class_get_name (TrackerClass *service)
gint
tracker_class_get_count (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_val_if_fail (TRACKER_IS_CLASS (service), 0);
@@ -132,7 +134,7 @@ tracker_class_get_count (TrackerClass *service)
gint
tracker_class_get_id (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_val_if_fail (TRACKER_IS_CLASS (service), 0);
@@ -144,7 +146,7 @@ tracker_class_get_id (TrackerClass *service)
TrackerClass **
tracker_class_get_super_classes (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_val_if_fail (TRACKER_IS_CLASS (service), NULL);
@@ -156,7 +158,7 @@ tracker_class_get_super_classes (TrackerClass *service)
gboolean
tracker_class_get_is_new (TrackerClass *service)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_val_if_fail (TRACKER_IS_CLASS (service), FALSE);
@@ -169,7 +171,7 @@ void
tracker_class_set_uri (TrackerClass *service,
const gchar *value)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_if_fail (TRACKER_IS_CLASS (service));
@@ -210,7 +212,7 @@ void
tracker_class_set_count (TrackerClass *service,
gint value)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_if_fail (TRACKER_IS_CLASS (service));
@@ -224,7 +226,7 @@ void
tracker_class_set_id (TrackerClass *service,
gint value)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_if_fail (TRACKER_IS_CLASS (service));
@@ -238,7 +240,7 @@ void
tracker_class_add_super_class (TrackerClass *service,
TrackerClass *value)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_if_fail (TRACKER_IS_CLASS (service));
g_return_if_fail (TRACKER_IS_CLASS (value));
@@ -252,7 +254,7 @@ void
tracker_class_set_is_new (TrackerClass *service,
gboolean value)
{
- TrackerClassPriv *priv;
+ TrackerClassPrivate *priv;
g_return_if_fail (TRACKER_IS_CLASS (service));
diff --git a/src/libtracker-data/tracker-class.h b/src/libtracker-data/tracker-class.h
index c6c0acd..4d1bb05 100644
--- a/src/libtracker-data/tracker-class.h
+++ b/src/libtracker-data/tracker-class.h
@@ -38,9 +38,11 @@ G_BEGIN_DECLS
typedef struct _TrackerClass TrackerClass;
typedef struct _TrackerClassClass TrackerClassClass;
+typedef struct _TrackerClassPrivate TrackerClassPrivate;
struct _TrackerClass {
GObject parent;
+ TrackerClassPrivate *priv;
};
struct _TrackerClassClass {
diff --git a/src/libtracker-data/tracker-property.c b/src/libtracker-data/tracker-property.c
index b59d1e6..3bbac8d 100644
--- a/src/libtracker-data/tracker-property.c
+++ b/src/libtracker-data/tracker-property.c
@@ -37,11 +37,10 @@
#define XSD_INTEGER TRACKER_XSD_PREFIX "integer"
#define XSD_STRING TRACKER_XSD_PREFIX "string"
-#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_PROPERTY, TrackerPropertyPriv))
+#define GET_PRIV(obj) (((TrackerProperty*) obj)->priv)
+#define TRACKER_PROPERTY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_PROPERTY, TrackerPropertyPrivate))
-typedef struct _TrackerPropertyPriv TrackerPropertyPriv;
-
-struct _TrackerPropertyPriv {
+struct _TrackerPropertyPrivate {
gchar *uri;
gchar *name;
gchar *table_name;
@@ -114,15 +113,15 @@ tracker_property_class_init (TrackerPropertyClass *klass)
object_class->finalize = property_finalize;
- g_type_class_add_private (object_class, sizeof (TrackerPropertyPriv));
+ g_type_class_add_private (object_class, sizeof (TrackerPropertyPrivate));
}
static void
-tracker_property_init (TrackerProperty *field)
+tracker_property_init (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- priv = GET_PRIV (field);
+ priv = TRACKER_PROPERTY_GET_PRIVATE (property);
priv->id = 0;
priv->weight = 1;
@@ -130,12 +129,15 @@ tracker_property_init (TrackerProperty *field)
priv->transient = FALSE;
priv->multiple_values = TRUE;
priv->super_properties = g_array_new (TRUE, TRUE, sizeof (TrackerProperty *));
+
+ /* Make GET_PRIV working */
+ property->priv = priv;
}
static void
property_finalize (GObject *object)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
priv = GET_PRIV (object);
@@ -166,58 +168,58 @@ property_finalize (GObject *object)
TrackerProperty *
tracker_property_new (void)
{
- TrackerProperty *field;
+ TrackerProperty *property;
- field = g_object_new (TRACKER_TYPE_PROPERTY, NULL);
+ property = g_object_new (TRACKER_TYPE_PROPERTY, NULL);
- return field;
+ return property;
}
const gchar *
-tracker_property_get_uri (TrackerProperty *field)
+tracker_property_get_uri (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), NULL);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), NULL);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->uri;
}
gboolean
-tracker_property_get_transient (TrackerProperty *field)
+tracker_property_get_transient (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->transient;
}
const gchar *
-tracker_property_get_name (TrackerProperty *field)
+tracker_property_get_name (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), NULL);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), NULL);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->name;
}
const gchar *
-tracker_property_get_table_name (TrackerProperty *field)
+tracker_property_get_table_name (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), NULL);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), NULL);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
if (!priv->table_name) {
if (priv->multiple_values) {
@@ -233,133 +235,133 @@ tracker_property_get_table_name (TrackerProperty *field)
}
TrackerPropertyType
-tracker_property_get_data_type (TrackerProperty *field)
+tracker_property_get_data_type (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), TRACKER_PROPERTY_TYPE_STRING); //FIXME
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), TRACKER_PROPERTY_TYPE_STRING); //FIXME
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->data_type;
}
TrackerClass *
-tracker_property_get_domain (TrackerProperty *field)
+tracker_property_get_domain (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), NULL);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), NULL);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->domain;
}
TrackerClass *
-tracker_property_get_range (TrackerProperty *field)
+tracker_property_get_range (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), NULL);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), NULL);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->range;
}
gint
-tracker_property_get_weight (TrackerProperty *field)
+tracker_property_get_weight (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), -1);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), -1);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->weight;
}
gint
-tracker_property_get_id (TrackerProperty *field)
+tracker_property_get_id (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), 0);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), 0);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->id;
}
gboolean
-tracker_property_get_indexed (TrackerProperty *field)
+tracker_property_get_indexed (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->indexed;
}
gboolean
-tracker_property_get_fulltext_indexed (TrackerProperty *field)
+tracker_property_get_fulltext_indexed (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->fulltext_indexed;
}
gboolean
-tracker_property_get_fulltext_no_limit (TrackerProperty *field)
+tracker_property_get_fulltext_no_limit (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->fulltext_no_limit;
}
gboolean
-tracker_property_get_is_new (TrackerProperty *field)
+tracker_property_get_is_new (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->is_new;
}
gboolean
-tracker_property_get_embedded (TrackerProperty *field)
+tracker_property_get_embedded (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->embedded;
}
gboolean
-tracker_property_get_multiple_values (TrackerProperty *field)
+tracker_property_get_multiple_values (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_val_if_fail (TRACKER_IS_PROPERTY (field), FALSE);
+ g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
return priv->multiple_values;
}
@@ -367,7 +369,7 @@ tracker_property_get_multiple_values (TrackerProperty *field)
gboolean
tracker_property_get_is_inverse_functional_property (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
g_return_val_if_fail (TRACKER_IS_PROPERTY (property), FALSE);
@@ -379,7 +381,7 @@ tracker_property_get_is_inverse_functional_property (TrackerProperty *property)
TrackerProperty **
tracker_property_get_super_properties (TrackerProperty *property)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
g_return_val_if_fail (TRACKER_IS_PROPERTY (property), NULL);
@@ -389,14 +391,14 @@ tracker_property_get_super_properties (TrackerProperty *property)
}
void
-tracker_property_set_uri (TrackerProperty *field,
+tracker_property_set_uri (TrackerProperty *property,
const gchar *value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
g_free (priv->uri);
g_free (priv->name);
@@ -430,28 +432,28 @@ tracker_property_set_uri (TrackerProperty *field,
}
void
-tracker_property_set_transient (TrackerProperty *field,
+tracker_property_set_transient (TrackerProperty *property,
gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->transient = value;
priv->multiple_values = TRUE;
}
void
-tracker_property_set_domain (TrackerProperty *field,
+tracker_property_set_domain (TrackerProperty *property,
TrackerClass *value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
if (priv->domain) {
g_object_unref (priv->domain);
@@ -467,7 +469,7 @@ void
tracker_property_set_range (TrackerProperty *property,
TrackerClass *value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
const gchar *range_uri;
g_return_if_fail (TRACKER_IS_PROPERTY (property));
@@ -500,104 +502,104 @@ tracker_property_set_range (TrackerProperty *property,
}
void
-tracker_property_set_weight (TrackerProperty *field,
+tracker_property_set_weight (TrackerProperty *property,
gint value)
{
- TrackerPropertyPriv *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ TrackerPropertyPrivate *priv;
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->weight = value;
}
void
-tracker_property_set_id (TrackerProperty *field,
+tracker_property_set_id (TrackerProperty *property,
gint value)
{
- TrackerPropertyPriv *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ TrackerPropertyPrivate *priv;
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->id = value;
}
void
-tracker_property_set_indexed (TrackerProperty *field,
+tracker_property_set_indexed (TrackerProperty *property,
gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->indexed = value;
}
void
-tracker_property_set_is_new (TrackerProperty *field,
+tracker_property_set_is_new (TrackerProperty *property,
gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->is_new = value;
}
void
-tracker_property_set_fulltext_indexed (TrackerProperty *field,
- gboolean value)
+tracker_property_set_fulltext_indexed (TrackerProperty *property,
+ gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->fulltext_indexed = value;
}
void
-tracker_property_set_fulltext_no_limit (TrackerProperty *field,
- gboolean value)
+tracker_property_set_fulltext_no_limit (TrackerProperty *property,
+ gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->fulltext_no_limit = value;
}
void
-tracker_property_set_embedded (TrackerProperty *field,
- gboolean value)
+tracker_property_set_embedded (TrackerProperty *property,
+ gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
priv->embedded = value;
}
void
-tracker_property_set_multiple_values (TrackerProperty *field,
+tracker_property_set_multiple_values (TrackerProperty *property,
gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
- g_return_if_fail (TRACKER_IS_PROPERTY (field));
+ g_return_if_fail (TRACKER_IS_PROPERTY (property));
- priv = GET_PRIV (field);
+ priv = GET_PRIV (property);
if (priv->transient) {
priv->multiple_values = TRUE;
@@ -610,7 +612,7 @@ void
tracker_property_set_is_inverse_functional_property (TrackerProperty *property,
gboolean value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
g_return_if_fail (TRACKER_IS_PROPERTY (property));
@@ -623,7 +625,7 @@ void
tracker_property_add_super_property (TrackerProperty *property,
TrackerProperty *value)
{
- TrackerPropertyPriv *priv;
+ TrackerPropertyPrivate *priv;
g_return_if_fail (TRACKER_IS_PROPERTY (property));
g_return_if_fail (TRACKER_IS_PROPERTY (value));
diff --git a/src/libtracker-data/tracker-property.h b/src/libtracker-data/tracker-property.h
index ab4e532..ebd445a 100644
--- a/src/libtracker-data/tracker-property.h
+++ b/src/libtracker-data/tracker-property.h
@@ -61,9 +61,11 @@ GType tracker_property_type_get_type (void) G_GNUC_CONST;
typedef struct _TrackerProperty TrackerProperty;
typedef struct _TrackerPropertyClass TrackerPropertyClass;
+typedef struct _TrackerPropertyPrivate TrackerPropertyPrivate;
struct _TrackerProperty {
GObject parent;
+ TrackerPropertyPrivate *priv;
};
struct _TrackerPropertyClass {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]