static void convert(std::shared_ptr<Atspi ## TYPE> &r, \
const AtspiAccessiblePtr &obj) \
{ \
- r = { ATSPI_ ## NAME(g_object_ref(obj.get())), g_object_unref }; \
+ r = { ATSPI_ ## NAME(g_object_ref(obj.get())), utils::GObjectUnref() }; \
} \
void Atspi::get ## TYPE ## Interface(const AtspiAccessiblePtr &obj, \
AsyncCallback<std::shared_ptr<Atspi ## TYPE>> callback) const \
auto interface = atspi_accessible_get_ ## type ## _iface(accessibleObj.get()); \
if (!interface) \
DEBUG("Object %p do not has " #type " interface", accessibleObj.get()); \
- return {interface, g_object_unref}; \
+ return {interface, utils::GObjectUnref()}; \
} \
std::string Atspi::getUniqueId(const std::shared_ptr<Atspi ## TYPE> &obj) \
{ \
const std::shared_ptr<Atspi ## TYPE> &obj) const \
{ \
if (!obj) return {}; \
- return { ATSPI_ACCESSIBLE(g_object_ref(obj.get())), g_object_unref }; \
+ return { ATSPI_ACCESSIBLE(g_object_ref(obj.get())), utils::GObjectUnref() }; \
}
ADD_INTROSPECTION_FUNCTIONS(Action, action, ACTION);
}
g_array_free(relations, TRUE);
- return {relationObj, g_object_unref};
+ return {relationObj, utils::GObjectUnref()};
}
template <typename T> DBusClient Atspi::getProxy(const std::shared_ptr<T> &obj, const std::string &interface) const
{
auto res = atspi_get_desktop(0);
ASSERT(res);
- return {res, g_object_unref};
+ return {res, utils::GObjectUnref()};
}
AtspiAccessiblePtr Atspi::getAtPoint(Point pt, CoordType type, AtspiAccessiblePtr root) const
GError *error = nullptr;
auto res = atspi_component_get_accessible_at_point(compo, pt.x, pt.y, ctype, &error);
PRINT_ERROR_AND_FREE(error);
- return AtspiAccessiblePtr{res, g_object_unref};
+ return AtspiAccessiblePtr{res, utils::GObjectUnref()};
};
auto desktop = getDesktop();
GError *error = nullptr;
auto res = atspi_accessible_get_navigable_at_point(root.get(), pt.x, pt.y, ctype, &error);
PRINT_ERROR_AND_FREE(error);
- return {res, g_object_unref};
+ return {res, utils::GObjectUnref()};
}
Optional<size_t> Atspi::getChildrenCount(const AtspiAccessiblePtr &accessibleObj) const
GError *error = nullptr;
auto res = atspi_accessible_get_child_at_index(accessibleObj.get(), (gint)index, &error);
PRINT_ERROR_AND_FREE(error);
- return {res, g_object_unref};
+ return {res, utils::GObjectUnref()};
}
Optional<std::vector<AtspiAccessiblePtr>> Atspi::getChildren(const AtspiAccessiblePtr &accessibleObj) const
if (!obj) return {};
if (increase_reference)
g_object_ref(obj);
- return { obj, g_object_unref };
+ return { obj, utils::GObjectUnref() };
}
AtspiAccessiblePtr Atspi::make(const std::string &bus, const std::string &path)
{
- return { ref_accessible(bus.c_str(), path.c_str()), g_object_unref };
+ return { ref_accessible(bus.c_str(), path.c_str()), utils::GObjectUnref() };
}
AtspiAccessiblePtr Atspi::getParent(const AtspiAccessiblePtr &accessibleObj) const
auto v = atspi_accessible_get_parent(accessibleObj.get(), &error);
PRINT_ERROR_AND_FREE(error);
if (!v) return {};
- return {v, g_object_unref};
+ return {v, utils::GObjectUnref()};
}
Optional<size_t> Atspi::getIndexInParent(const AtspiAccessiblePtr &accessibleObj) const