All pastes #261572 Raw Edit

Something

public text v1 · immutable
#261572 ·published 2006-11-29 17:29 UTC
rendered paste body
DBusMessageReader&
DBusMessageReader::operator>>(std::vector<std::pair<bool, std::string> >& m) {
    if (!isOk()) return *this;
    DBusMessageIter sub;
    DBusMessageIter ssub;
    bool n;
    const char* value;
    if (dbus_message_iter_get_arg_type(&it) == DBUS_TYPE_ARRAY) {
        dbus_message_iter_recurse(&it, &sub);
        while (dbus_message_iter_get_arg_type(&sub) == DBUS_TYPE_STRUCT) {
            dbus_message_iter_recurse(&sub, &ssub);
            dbus_message_iter_get_basic(&ssub, &n);
            dbus_message_iter_next(&ssub);
            dbus_message_iter_get_basic(&ssub, &value);
            dbus_message_iter_next(&ssub);
            m.push_back(make_pair(n,value));
            printf("'%i' '%s'\n", n, value);
          printf(".\n");
            if (!dbus_message_iter_has_next (&sub)) {
                break;
            }
            dbus_message_iter_next(&sub);
        }
    }
    dbus_message_iter_next(&it);
    return *this;
}