summaryrefslogtreecommitdiffstats
path: root/src/extension/dbus/Notes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/extension/dbus/Notes.txt')
-rw-r--r--src/extension/dbus/Notes.txt79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/extension/dbus/Notes.txt b/src/extension/dbus/Notes.txt
new file mode 100644
index 0000000..25c3f35
--- /dev/null
+++ b/src/extension/dbus/Notes.txt
@@ -0,0 +1,79 @@
+INTRO:
+For people that are interested in improving the DBus API here is a
+intro to how everything is laid 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 relevant 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.
+
+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 the documentation,
+it also includes the introduction.
+
+doc/inkscapeDbusTerms.xml: This contains 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 separate 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.
+
+ *Pause updates needs work.
+
+ *Default style for new shapes is occasionally strange.
+
+ *The following methods are broken:
+ -document_interface_selection_move_to_layer
+
+ *The following are not implemented:
+ -document_interface_layer_get_all
+ -document_interface_selection_box
+ -document_interface_get_node_coordinates
+
+ *The following do not behave like the documentation:
+ -document_interface_transform
+ -document_interface_text
+
+EFFICIENCY:
+ *Need better way to retrieve objects by name.
+ Switch to GQuark codes for object retrieval?
+
+ *Rethink how often activate_desktop needs to be called.
+
+FEATURES:
+ *Find out more about extension API.
+ *API compatibility for plugins?
+
+CLEANUP:
+
+
+
+