<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="PlaceName"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="PlaceType"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I would like to create an environment (under Windows) that
would allow me to develop graphical D-Bus client applications that talk via
TCP/IP to an embedded target platform running several custom D-Bus services. My
problem isn’t related to running the daemon on the target or enabling
remote access over TCP/IP (I’ve already done that), it’s finding a
suitable language binding and graphical framework for rapidly creating graphical
D-Bus test applications to test these remote services.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>What I’d *<b><span style='font-weight:bold'>like</span></b>*
to use is Python (or another Python-like scripting language) that has a
suitable D-Bus binding that can be built (and run) on a PC running Windows (my
host platform). I know this is a slam-dunk if I’m running Linux. I’d
pick the standard python-dbus binding (which used Glib) and use the python-gtk
module to do my GUI. Unfortunately, other than a pre-compiled python-dbus binding
(with the necessary Python/C bindings) someone managed to compile for an older
version of Python (on Windows), there is no native Windows solution. The
problem isn’t building a native D-Bus reference library for Windows (that’s
straightforward), it’s compiling python-dbus (and its dependencies –
like glib/gtk) on a Windows platform. I made several attempts at this and never
arrived at a workable (or easy) solution.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I next tried building the NDesk-DBus .NET binding for
Windows. Again, it appears this was originally intended to be built under Linux
using Mono but I managed to hack the build environment to build it under
Windows. The end result was a .NET assembly under Windows. I next installed
IronPython and GTK# (the .NET <st1:place w:st="on"><st1:PlaceType w:st="on">port</st1:PlaceType>
of <st1:PlaceName w:st="on">GTK</st1:PlaceName></st1:place>) and actually got
an application up and running under Windows. Unfortunately, I cannot figure out
how to receive signals using NDesk-DBus/IronPython and it only appears to
support synchronous messaging and only a single return parameter. Also, it
requires me to define D-Bus proxy interfaces using C# (and compile them into
assemblies/DLLs) that mirror the D-Bus services I’d like to call. Finally,
it doesn’t appear this project is being maintained or updated since ~2006.
So, without examples (none which I could find for a NDesk/IronPython
combination), this approach appeared to be a dead-end.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>So, that leaves me looking at the D-Bus Java binding and
potentially leveraging Jython for the glue and Swing for the GUI. Again, the
Java binding appears to be geared to be built under Linux. I attempted to build
it under Windows and at least got the associated .jar dependencies built (of
course it failed building the JNI stubs for Unix local (domain) sockets). Has
anyone had any luck using the Jython/D-Bus Java combination on Windows? Can
anyone provide any sample code where it is used?<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In a nutshell, I am looking for suggestions from D-Bus
developers. Ideally, I want a rapid prototyping environment under Windows that
would allow me to quickly put together graphical test applications using a
dynamic scripting language. Can anyone offer a suitable combination, a success
story, or point me at sample code? Again, this is easy under Linux but unfortunately,
not an option for me at this time since my developers use a corporate (Windows)
host platform most of the time. I guess there is always VmWare/Linux on
Windows, but I’d like to try to avoid that.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Thanks . . .<o:p></o:p></span></font></p>
</div>
</body>
</html>