view dbus-d-javatests/README.txt @ 5:7c2c75740370

code generation for signals
author Frank Benoit <benoit@tionex.de>
date Sun, 21 Oct 2007 19:22:41 +0200
parents 5fb77a7e7d64
children 963d271f7c25
line wrap: on
line source


With dbus-d, an interface is defined with a XML file that follows the DBus introspection data.
The tool CreateInterfaces is used to read this file and generate a D module with all 
the interfaces from the XML file and with the needed supporting code.

1. Build the "createinterface" tool.
   in the dbus-d directory:
   
     $ cd dbus-d
     $ dsss build org/freedesktop/dbus/tools/CreateInterface.d
   
2. Goto the directory of your applications source code ,call the CreateInterface tool
   and pipe the output to a file matching your module name.
   
     $ cd ../dbus-d-javatests/dsrc
     $ ../../dbus-d/CreateInterface ../dbustest.xml DBusTestingGen > DBusTestingGen.d
   
3. Implement interfaces in D. If the introspection.xml has an interface called "a.b.C"
   you need to implement the interface "DBusInterface.a.b.C" which is part of the generated
   module.
   
   To make an object accessible, you need to either export it or return it from another 
   another method call.
   
4. Create the Java code
   Call the CreateInterface tool from dbus-java.

   in Eclipse run CreateInterface. Set the working directory to "dbus-d-javatests/jsrc" 
   or in the run dialog ${workspace_loc:dbus-javatests/jsrc} 
   give the arguments "--create-files ../dbustest.xml"

   the program shall run without any output. After completion the file should be created.
   The repitory already contains those files, so no change may be noteable.
   
5. Implement the Java code. See dbustest.DBusTester













To compile and run this example, it is required to have the following jars
in the classpath:

org.eclipse.core.commands_3.3.0.I20070605-0010.jar
org.eclipse.equinox.common_3.3.0.v20070426.jar
org.eclipse.jface_3.3.0.I20070606-0010.jar
org.eclipse.osgi_3.3.0.v20070530.jar
org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar
org.eclipse.swt_3.3.0.v3346.jar

These can be found in the eclipse/plugin directory
Probably other versions will work also :)