In Bluez, certain messages return a GHashTable of
type (G_TYPE_STRING, G_TYPE_VALUE), so the key is a String, and the value is a
Variant. Many of the values returned are boolean, integer, and other
simple types; others are a boxed Object Path. These I can
handle.
However, in a couple of cases, the value returned
is an array of pointers to strings (G_TYPE_STRV).
To retrieve the strings, I am trying something like
the following:
(GStrv) gPropValue = (GStrv)
g_hash_table_lookup(propTable, "Strings"); // Assume that the "key" is
"Strings"
if (gPropValue) {
while (*gPropValue) {
cout << *gPropValue
<< endl;
++gPropValue;
}
}
I do get a properly terminated list of pointers,
but each pointer points to a null string. ('\0')
I have not yet added debug statements to syslog (my
next step) into the system level code, but why are the strings not filled
in? What else am I missing? Any suggestions?
David Stockwell
|
------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php
_______________________________________________ Bluez-devel mailing list Bluez-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/bluez-devel