Code

Added an intro to coders interested in modifing the code.
authorglimmer07 <glimmer07@users.sourceforge.net>
Thu, 13 Aug 2009 21:30:21 +0000 (21:30 +0000)
committerglimmer07 <glimmer07@users.sourceforge.net>
Thu, 13 Aug 2009 21:30:21 +0000 (21:30 +0000)
src/extension/dbus/Notes.txt

index d91dc403938d0e2dd3339d8df3c15c8c5f7a48fe..95b07a9585f7d6d7125eff0f7443995361d499c8 100644 (file)
@@ -1,3 +1,47 @@
+INTRO:
+For people that are interested in improving the DBus API here is a 
+intro to how everything is layed out.
+
+First read the documentation for a general idea of how the different interfaces 
+fit together and how Dbus is used in this application.
+
+Here are short descriptions of the relevent files:
+
+document-interface.cpp: This has most of the "meat" of the interface, this is where
+most functions are implemented.
+
+application-interface.cpp: This is where the application interface is implemented.
+
+(document/application)-interface.xml: These files are the master record of the interfaces.
+All of the documentation is generated from these files as is a lot of glue code.
+Any changes MUST be reflected here.
+
+dbus-init.cpp: This is where the interface is exposed when Inkscape starts up.
+Here is where the names given to the various interfaces are set.  The application interface is constant but the document interfaces are generated on the fly.
+
+org.inkscape.service.in: This sets where DBus looks for the Inkscape executable
+if it is not running when someone tries to connect.  Needs work.
+
+pytester.py: A python script that tests a lot of dbus functions.
+
+doc/builddocs.sh: builds documentation out of the XML files and some others.
+
+config.xsl, dbus-introspect-docs.dtd, spec-to-docbook.xsl, docbook.css: I borrowed 
+these files, they set how the documentation looks, I have no idea how to edit them.
+
+doc/inkscapeDbusRef.xml: This is the top level file for laying out th documentation,
+it also includes the introduction.
+
+doc/inkscapeDbusTerms.xml: This containes the terms sections of the documentation.  
+Also the overview and all the tutorials.
+
+*.ref.xml: These are intermediate files, do not edit.
+
+wrapper/inkscape-dbus-wrapper.c: This is actually completely seperate from inkscape.
+It has a wrapper for each function in the document interface and includes the
+client generated bindings.  It is used to create a shared object that will allow 
+people to use the interface without even knowing anything about Dbus.
+
 BUGS:
     *Inkscape crashes if widow is closed while code is running,
         need better error handling.
@@ -15,14 +59,15 @@ BUGS:
     *The following do not behave like the documentation:
         -document_interface_transform
         -document_interface_text
+    
+    *Service file should point to wherever the inkscape executable
+     was placed.
 
 EFFICIENCY:
     *Need better way to retrive objects by name.
         Switch to GQuark codes for object retrival?
     
     *Rethink how often activate_desktop needs to be called.
-    
-    
 
 FEATURES:
     *Find out more about extension API.