Marshaling structures
Michael Meeks
michael@ximian.com
Mon, 19 Jan 2004 19:59:25 +0000
On Mon, 2004-01-19 at 09:14, Kiran Kumar Immidi wrote:
> D-BUS currently does not seem to provide for marshaling and
> demarshaling of structured types. Doing this manually is quite tedious.
> Something like an IDL compiler would be ideal. Is such a thing
> available/in the process of becoming available? What then is the best
> way in order to pass large structured data types?
I too am rather interested in this; is the only way to marshal an array
of a structure to send an array of dicts - each containing a dict
containing a single member of a new type (with a single bogus named
field) containing the value ? ie.
struct Foo {
int a;
double b;
string c;
};
typedef sequence<Foo> Baa;
->
array<Dict<Dict>>
Where we might have:
array[
Dict<Dict> (
"a" -> Dict<int> ( "" -> <valueof a> )
"b" -> Dict<double> ( "" -> <valueof b> )
"c" -> Dict<string> ( "" -> <valueof c> )
)
...
];
[ of course - this being highly notationally confused ;-].
Of course - if you're not writing something extremely simple - perhaps
you should consider using a more meaty IPC system such as DCE, DCOM,
CORBA or somesuch ?
Regards,
Michael.
--
michael@ximian.com <><, Pseudo Engineer, itinerant idiot