marchalling struct on window.

Thiago Macieira thiago at kde.org
Tue Mar 16 09:04:26 PDT 2010


Em Terça-feira 16 Março 2010, às 15:42:28, Mansour Al Akeel escreveu:
> > I could tell you how to do it with the reference library implementation,
> > but  that library is not designed for end-application use. It's designed
> > for binding writing.
> 
> Ok, it's obivious that I have misunderstanding about the binding. Like I
> said, converting a group of premitive data (C++ object, C struct), into
> a format for the wire. The mapping between these data is what you mean
> by binding. 
> Let's say we have a C struct taken form wikipedia:
> 
> struct account {
>     int account_number;
>     char *first_name;
>     char *last_name;
>     float balance;
> };
> 
> 
> How would one convert this to be consumed by dbus, and how to send it as
> a signal for interested components ? I was not able to
> find a simple example like this one. I will look into converting it back
> to C# on the other side.

I still need you to tell me which binding you're using.

I guess the confusion here is that you're not well versed in what a binding 
is.

D-Bus exists as a protocol specification (the wire format), a reference library 
implementation and a reference bus daemon, which are deployed in all current 
Linux distributions, and bindings.

The name "binding" comes from the fact that the first of these simply took the 
reference library (libdbus-1) and bound its functionality to a higher-level 
abstraction, especially integrating with the event loop. The most common cases 
of this are the Glib, Python and Qt bindings. Once you're using one of those, 
most of the work is already done for you.

Then there are those "bindings" that aren't binding anything. They are pure 
implementations of the D-Bus protocol directly in the environment of choice. 
The two I can think of are the Java and C# bindings and they also provide 
ready-to-use implementations of D-Bus.

So, when I ask you which binding you're using, I want you to tell me which of 
those five I listed above or one of the many others you're using. Are you using 
Matthew's Java implementation, NDesk's C# implementation, the glib binding, 
the Python binding, the Qt binding?

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20100316/623fb342/attachment.pgp>


More information about the dbus mailing list