Code

Merge and cleanup of GSoC C++-ification project.
[inkscape.git] / src / sp-defs.h
index 4b6f7a5b712b3c49bd6b059f00f5edf46a733bb0..83003f4ad631d1cfb3af50c10e17cc5911c3928b 100644 (file)
@@ -6,6 +6,7 @@
  *
  * Authors:
  *   Lauris Kaplinski <lauris@kaplinski.com>
+ *   Abhishek Sharma
  *
  * Copyright (C) 2000-2002 authors
  *
 
 #include "sp-object.h"
 
-#define SP_TYPE_DEFS            (sp_defs_get_type())
+#define SP_TYPE_DEFS            (SPDefs::sp_defs_get_type())
 #define SP_DEFS(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_DEFS, SPDefs))
 #define SP_DEFS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), SP_TYPE_DEFS, SPDefsClass))
 #define SP_IS_DEFS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_DEFS))
 #define SP_IS_DEFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SP_TYPE_DEFS))
 
-struct SPDefs : public SPObject {
+class SPDefs : public SPObject {
+public:
+    static GType sp_defs_get_type(void);
+       
+private:
+    static void init(SPDefs *defs);
+    static void release(SPObject *object);
+    static void update(SPObject *object, SPCtx *ctx, guint flags);
+    static void modified(SPObject *object, guint flags);
+    static Inkscape::XML::Node *write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
+
+    friend class SPDefsClass;  
 };
 
-struct SPDefsClass {
+class SPDefsClass {
+public:
     SPObjectClass parent_class;
-};
 
-GType sp_defs_get_type(void);
+private:
+    static void sp_defs_class_init(SPDefsClass *dc);
+    static SPObjectClass *static_parent_class;
+
+    friend class SPDefs;       
+};
 
 
-#endif /* !SEEN_SP_DEFS_H */
+#endif // !SEEN_SP_DEFS_H
 
 /*
   Local Variables: