summaryrefslogtreecommitdiffstats
path: root/src/sp-metadata.cpp
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2013-01-26 19:33:04 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2013-01-26 19:33:04 +0000
commit1615436543169f305d1df4d830ed8f5ec5dc75ed (patch)
tree3357241d19485b7a0e0e190d66474cd58c8d9166 /src/sp-metadata.cpp
parentMore GObject boilerplate reduction (diff)
downloadinkscape-1615436543169f305d1df4d830ed8f5ec5dc75ed.tar.gz
inkscape-1615436543169f305d1df4d830ed8f5ec5dc75ed.zip
More GObject boilerplate reduction
(bzr r12065)
Diffstat (limited to 'src/sp-metadata.cpp')
-rw-r--r--src/sp-metadata.cpp49
1 files changed, 11 insertions, 38 deletions
diff --git a/src/sp-metadata.cpp b/src/sp-metadata.cpp
index 831bb5a70..9978d0a3a 100644
--- a/src/sp-metadata.cpp
+++ b/src/sp-metadata.cpp
@@ -33,46 +33,19 @@
/* Metadata base class */
-static void sp_metadata_class_init (SPMetadataClass *klass);
-static void sp_metadata_init (SPMetadata *metadata);
-
static void sp_metadata_build (SPObject * object, SPDocument * document, Inkscape::XML::Node * repr);
static void sp_metadata_release (SPObject *object);
static void sp_metadata_set (SPObject *object, unsigned int key, const gchar *value);
static void sp_metadata_update(SPObject *object, SPCtx *ctx, guint flags);
static Inkscape::XML::Node *sp_metadata_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static SPObjectClass *metadata_parent_class;
-
-GType
-sp_metadata_get_type (void)
-{
- static GType metadata_type = 0;
-
- if (!metadata_type) {
- GTypeInfo metadata_info = {
- sizeof (SPMetadataClass),
- NULL, NULL,
- (GClassInitFunc) sp_metadata_class_init,
- NULL, NULL,
- sizeof (SPMetadata),
- 16,
- (GInstanceInitFunc) sp_metadata_init,
- NULL, /* value_table */
- };
- metadata_type = g_type_register_static (SP_TYPE_OBJECT, "SPMetadata", &metadata_info, (GTypeFlags)0);
- }
- return metadata_type;
-}
+G_DEFINE_TYPE(SPMetadata, sp_metadata, SP_TYPE_OBJECT);
static void
sp_metadata_class_init (SPMetadataClass *klass)
{
- //GObjectClass *gobject_class = (GObjectClass *)klass;
SPObjectClass *sp_object_class = (SPObjectClass *)klass;
- metadata_parent_class = (SPObjectClass*)g_type_class_peek_parent (klass);
-
sp_object_class->build = sp_metadata_build;
sp_object_class->release = sp_metadata_release;
sp_object_class->write = sp_metadata_write;
@@ -123,8 +96,8 @@ static void sp_metadata_build(SPObject *object, SPDocument *document, Inkscape::
}
}
- if (((SPObjectClass *) metadata_parent_class)->build)
- ((SPObjectClass *) metadata_parent_class)->build (object, document, repr);
+ if (((SPObjectClass *) sp_metadata_parent_class)->build)
+ ((SPObjectClass *) sp_metadata_parent_class)->build (object, document, repr);
}
/**
@@ -136,8 +109,8 @@ static void sp_metadata_release(SPObject *object)
// handle ourself
- if (((SPObjectClass *) metadata_parent_class)->release)
- ((SPObjectClass *) metadata_parent_class)->release (object);
+ if (((SPObjectClass *) sp_metadata_parent_class)->release)
+ ((SPObjectClass *) sp_metadata_parent_class)->release (object);
}
/**
@@ -150,8 +123,8 @@ static void sp_metadata_set(SPObject *object, unsigned int key, const gchar *val
SP_METADATA(object); // ensures the object is of the proper type.
// see if any parents need this value
- if (reinterpret_cast<SPObjectClass *>(metadata_parent_class)->set) {
- reinterpret_cast<SPObjectClass *>(metadata_parent_class)->set(object, key, value);
+ if (reinterpret_cast<SPObjectClass *>(sp_metadata_parent_class)->set) {
+ reinterpret_cast<SPObjectClass *>(sp_metadata_parent_class)->set(object, key, value);
}
}
@@ -170,8 +143,8 @@ static void sp_metadata_update(SPObject *object, SPCtx *ctx, guint flags)
}
- if (((SPObjectClass *) metadata_parent_class)->update)
- ((SPObjectClass *) metadata_parent_class)->update(object, ctx, flags);
+ if (((SPObjectClass *) sp_metadata_parent_class)->update)
+ ((SPObjectClass *) sp_metadata_parent_class)->update(object, ctx, flags);
}
/**
@@ -190,8 +163,8 @@ static Inkscape::XML::Node *sp_metadata_write(SPObject *object, Inkscape::XML::D
}
}
- if (((SPObjectClass *) metadata_parent_class)->write) {
- ((SPObjectClass *) metadata_parent_class)->write(object, doc, repr, flags);
+ if (((SPObjectClass *) sp_metadata_parent_class)->write) {
+ ((SPObjectClass *) sp_metadata_parent_class)->write(object, doc, repr, flags);
}
return repr;