Some refactoring to remove duplicate code and other clean-ups
[platform/core/uifw/at-spi2-atk.git] / atk-adaptor / adaptors / hypertext-adaptor.c
index 082dde3..6569eaa 100644 (file)
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "common/spi-dbus.h"
-#include "accessible-marshaller.h"
+#include "spi-dbus.h"
+#include "object.h"
+
+#include "introspection.h"
 
 static DBusMessage *
 impl_GetNLinks (DBusConnection * bus, DBusMessage * message, void *user_data)
@@ -64,8 +66,10 @@ impl_GetLink (DBusConnection * bus, DBusMessage * message, void *user_data)
       return droute_invalid_arguments_error (message);
     }
   link = atk_hypertext_get_link (hypertext, linkIndex);
-  return spi_dbus_return_hyperlink (message, link, ATK_OBJECT (hypertext),
-                                    TRUE);
+  /*The above line doesn't ref the link, and the next call is going to unref*/
+  if (link)
+    g_object_ref (link);
+  return spi_hyperlink_return_reference (message, link);
 }
 
 static DBusMessage *
@@ -107,5 +111,5 @@ void
 spi_initialize_hypertext (DRoutePath * path)
 {
   droute_path_add_interface (path,
-                             SPI_DBUS_INTERFACE_HYPERTEXT, methods, NULL);
+                             ATSPI_DBUS_INTERFACE_HYPERTEXT, spi_org_a11y_atspi_Hypertext, methods, NULL);
 };