From: Lukasz Wlazly Date: Wed, 18 Jul 2018 13:16:02 +0000 (+0200) Subject: Usage of GObjectUnref X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db4b05ec7dd2dabcdb598b8f98ff00a1a426b035;p=platform%2Fcore%2Faccessibility%2Funiversal-switch.git Usage of GObjectUnref Change-Id: I6349888133e348f4f99049494396332ff4048761 --- diff --git a/src/Atspi.cpp b/src/Atspi.cpp index 9670e1cb..e73b7c8c 100644 --- a/src/Atspi.cpp +++ b/src/Atspi.cpp @@ -125,7 +125,7 @@ AtspiAccessiblePtr Atspi::getBase(const AtspiAccessiblePtr &obj) const static void convert(std::shared_ptr &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> callback) const \ @@ -138,7 +138,7 @@ AtspiAccessiblePtr Atspi::getBase(const AtspiAccessiblePtr &obj) 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 &obj) \ { \ @@ -156,7 +156,7 @@ AtspiAccessiblePtr Atspi::getBase(const AtspiAccessiblePtr &obj) const const std::shared_ptr &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); @@ -380,7 +380,7 @@ AtspiAccessiblePtr Atspi::getObjectInRelation(const AtspiAccessiblePtr &accessib } g_array_free(relations, TRUE); - return {relationObj, g_object_unref}; + return {relationObj, utils::GObjectUnref()}; } template DBusClient Atspi::getProxy(const std::shared_ptr &obj, const std::string &interface) const @@ -1201,7 +1201,7 @@ AtspiAccessiblePtr Atspi::getDesktop() 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 @@ -1233,7 +1233,7 @@ AtspiAccessiblePtr Atspi::getAtPoint(Point pt, CoordType type, AtspiAccessiblePt 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(); @@ -1260,7 +1260,7 @@ AtspiAccessiblePtr Atspi::getAtPoint(Point pt, CoordType type, AtspiAccessiblePt 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 Atspi::getChildrenCount(const AtspiAccessiblePtr &accessibleObj) const @@ -1279,7 +1279,7 @@ AtspiAccessiblePtr Atspi::getChildAtIndex(const AtspiAccessiblePtr &accessibleOb 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> Atspi::getChildren(const AtspiAccessiblePtr &accessibleObj) const @@ -1302,12 +1302,12 @@ AtspiAccessiblePtr Atspi::make(AtspiAccessible *obj, bool increase_reference) 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 @@ -1317,7 +1317,7 @@ AtspiAccessiblePtr Atspi::getParent(const AtspiAccessiblePtr &accessibleObj) con 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 Atspi::getIndexInParent(const AtspiAccessiblePtr &accessibleObj) const diff --git a/src/NavigationInterface.cpp b/src/NavigationInterface.cpp index a5729165..960a7335 100644 --- a/src/NavigationInterface.cpp +++ b/src/NavigationInterface.cpp @@ -124,13 +124,7 @@ private: ecore::Timer rebuildContextTimer; std::shared_ptr rootObject, keyboardRootObject; - struct GObjectUnref { - template void operator()(T *t) - { - if (t) g_object_unref(t); - } - }; - std::unique_ptr eventListener; + std::unique_ptr eventListener; static Optional getFocusProcessPid() { diff --git a/src/utils.hpp b/src/utils.hpp index 5883b341..ca53b6b0 100644 --- a/src/utils.hpp +++ b/src/utils.hpp @@ -82,6 +82,13 @@ namespace utils * Empty Optional object means given argument werent passed. */ std::array, (size_t)Argument::_count> parseArguments(int argc, char **argv); + + struct GObjectUnref { + template void operator()(T *t) const + { + if (t) g_object_unref(t); + } + }; } #endif