39 #ifndef CGU_GVAR_HANDLE_H
40 #define CGU_GVAR_HANDLE_H
47 #if defined(DOXYGEN_PARSING) || GLIB_CHECK_VERSION(2,24,0)
165 if (obj_p) g_variant_unref(obj_p);
169 if (obj_p) g_variant_ref(obj_p);
188 if (ptr && g_variant_is_floating(ptr)) {
189 g_variant_ref_sink(ptr);
212 if (ptr && g_variant_is_floating(ptr)) {
213 g_variant_ref_sink(ptr);
249 if (obj_p != gvar.obj_p) {
290 GVariant*
get()
const {
return obj_p;}
297 operator GVariant*()
const {
return obj_p;}
307 #if defined(CGU_USE_SMART_PTR_COMPARISON) || defined(DOXYGEN_PARSING)
320 return (h1.
get() == h2.
get());
349 return std::less<GVariant*>()(h1.
get(), h2.
get());
352 #endif // CGU_USE_SMART_PTR_COMPARISON
359 #if defined(CGU_USE_SMART_PTR_COMPARISON) && !defined(DOXYGEN_PARSING)
364 struct hash<Cgu::GvarHandle> {
365 typedef std::size_t result_type;
367 result_type operator()(
const argument_type& h)
const {
375 #endif // CGU_USE_SMART_PTR_COMPARISON
378 #warning GvarHandle not available: glib >= 2.24.0 is required