2 //#include <atspi/atspi.h>
15 void operator()(gpointer ptr) const
17 if (ptr) g_object_unref(ptr);
25 struct GarrayDeletor {
26 void operator()(GArray *ptr) const
28 if (ptr) g_array_free(ptr, 1);
37 using unique_ptr_gobj = std::unique_ptr<T, GobjDeletor>;
44 using unique_ptr_garray = std::unique_ptr<T, GarrayDeletor>;
51 unique_ptr_gobj<T> make_gobj_unique(T *ptr)
53 return unique_ptr_gobj<T>(ptr);
61 unique_ptr_garray<T> make_garray_unique(T *ptr)
63 return unique_ptr_garray<T>(ptr);
71 unique_ptr_gobj<T> make_gobj_ref_unique(T *ptr)
74 return unique_ptr_gobj<T>(ptr);
82 std::shared_ptr<T> make_gobj_shared(T *ptr)
84 return std::shared_ptr<T>(ptr, [](T *ptr){ if(ptr) g_object_unref(ptr); });
92 std::shared_ptr<T> make_garray_shared(T *ptr)
94 return std::shared_ptr<T>(ptr, [](T *ptr){ if(ptr) g_array_free(ptr, 1); });
102 std::shared_ptr<T> make_gobj_ref_shared(T *ptr)
105 return std::shared_ptr<T>(ptr, [](T *ptr){ if(ptr) g_object_unref(ptr); });
112 //char *state_to_char(AtspiStateType state);