私はgdbus-codegen
を使用してDBUSクライアント用のコードを生成しています。Glib:DBUSプロパティのNULL
GVariant* data = interface_name_get_some_property(proxy);
いくつかの倍のデータがNULL
です: 私は<property name="someProperty" type="(iiii)" access="read"/>
私は、プロパティ値を取得するために自動生成メソッドを呼び出して、第三者DBUSサーバでGVariant性質を持っています。
戻り値:(転送なし):プロパティ値が設定されていない場合はNULL。返された値を解放しないでください。それは@objectに属します。
「設定しない」とはどういう意味ですか、この状況をどのように扱うべきですか? デフォルトでは(オプションG_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIESが設定されていない場合)、glibはすべてのプロパティをロードし、それらはすべて設定されるべきだと考えました。
ありがとうございます。私はあなたが言っていることのほとんどすべてを理解しています。しかし、これは "何らかの理由"ですか?例を挙げてください。私がDBUSサーバーを実装しているとき、これは決して起こりません。また、私は、プロキシが作成されてからずっとプロパティ値を要求しています。 –