Are you sure you want to call RequestSyncAll also outside of the lambda expression? Plus you should be checking if reconnect_timeout_id == 0, before calling g_timeout_add...
I'm not really liking this, it's unclear who owns the variant (or rather why isn't it unreffed) - using our Variant wrapper should fix this. What's worse is that the CallData can be alive even after the Impl instance is destroyed which can lead to a crash.
Overall I'm liking this a lot - mostly because of "(+234/-516)" :) I have some concerns though:
269 + RequestSyncAll(); timeout_ id_ = g_timeout_ add_seconds( 1, [](gpointer data) -> gboolean { cast<DBusIndica tors::Impl* >(data) ; >gproxy_ .IsConnected( )) ncAll() ; _timeout_ id_ = 0;
270 +
271 + reconnect_
272 + auto self = static_
273 +
274 + if (!self-
275 + {
276 + self->RequestSy
277 + return TRUE;
278 + }
279 +
280 + self->reconnect
281 + return FALSE;
282 + }, this);
Are you sure you want to call RequestSyncAll also outside of the lambda expression? Plus you should be checking if reconnect_ timeout_ id == 0, before calling g_timeout_add...
146 + struct CallData
147 + {
148 + Impl* self;
149 + GVariant *parameters;
150 + };
I'm not really liking this, it's unclear who owns the variant (or rather why isn't it unreffed) - using our Variant wrapper should fix this. What's worse is that the CallData can be alive even after the Impl instance is destroyed which can lead to a crash.