X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cspi%2Fspi_hypertext.c;h=e6f7a7b013478e4785f38f526e91453e2f92cb41;hb=dea123f383eb81663ea33463363f5c27f4ac0bcd;hp=05a6e29bdae2cbbc5a0696929663363c00487067;hpb=b7faf0a7a57b145e2cc6c67887652908fc5db9c3;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/cspi/spi_hypertext.c b/cspi/spi_hypertext.c index 05a6e29..e6f7a7b 100644 --- a/cspi/spi_hypertext.c +++ b/cspi/spi_hypertext.c @@ -1,47 +1,138 @@ -int +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2001, 2002 Sun Microsystems Inc., + * Copyright 2001, 2002 Ximian, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include + +/** + * AccessibleHypertext_ref: + * @obj: a pointer to the #AccessibleHypertext object on which to operate. + * + * Increment the reference count for an #AccessibleHypertext object. + * Since AccessibleHypertext is derived from AccessibleText, + * this is the same as AccessibleText_unref(). + **/ +void AccessibleHypertext_ref (AccessibleHypertext *obj) { - Accessibility_Hypertext_ref (*obj, &ev); - return 0; + cspi_object_ref (obj); } - - -int +/** + * AccessibleHypertext_unref: + * @obj: a pointer to the #AccessibleHypertext object on which to operate. + * + * Decrement the reference count for an #AccessibleHypertext object. + * Since AccessibleHypertext is derived from AccessibleText, + * this is the same as AccessibleText_unref(). + **/ +void AccessibleHypertext_unref (AccessibleHypertext *obj) { - Accessibility_Hypertext_unref (*obj, &ev); - return 0; + cspi_object_unref (obj); } - - +/** + * AccessibleHypertext_getNLinks: + * @obj: a pointer to the #AccessibleHypertext implementor on which to operate. + * + * Get the total number of #AccessibleHyperlinks which an + * #AccessibleHypertext implementor has. + * + * Returns: a #long indicating the number of #AccessibleHyperlinks + * of the #AccessibleHypertext implementor, or -1 if + * the number cannot be determined (for example, if the + * #AccessibleHypertext object is so large that it is not + * all currently in the memory cache). + **/ long AccessibleHypertext_getNLinks (AccessibleHypertext *obj) { - return (long) - Accessibility_Hypertext_getNLinks (*obj, &ev); -} + dbus_int32_t retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + cspi_dbus_call (obj, spi_interface_hypertext, "getNLinks", NULL, "=>i", &retval); + cspi_return_val_if_ev ("getNLinks", -1); + return retval; +} + +/** + * AccessibleHypertext_getLink: + * @obj: a pointer to the #AccessibleHypertext implementor on which to operate. + * @linkIndex: a (zero-index) long integer indicating which hyperlink to query. + * + * Get the #AccessibleHyperlink object at a specified index. + * + * Returns: the #AccessibleHyperlink object specified by #linkIndex. + **/ AccessibleHyperlink * -AccessibleHyperText_getLink (AccessibleHypertext *obj, - long linkIndex) +AccessibleHypertext_getLink (AccessibleHypertext *obj, + long int linkIndex) { - return (AccessibleHyperlink *) - Accessibility_Hypertext_getLink (*obj, - (CORBA_long) linkIndex, &ev); -} + dbus_int32_t d_linkIndex = linkIndex; + char *path; + AccessibleHyperlink *retval; + + cspi_return_val_if_fail (obj != NULL, NULL); + cspi_dbus_call (obj, spi_interface_hypertext, "getLink", NULL, "i=>o", d_linkIndex, &path); + cspi_return_val_if_ev ("getLink", NULL); + + retval = cspi_ref_related_accessible (obj, path); + g_free (path); + + return retval; +} +/** + * AccessibleHypertext_getLinkIndex: + * @obj: a pointer to the #AccessibleHypertext implementor on which to operate. + * @characterOffset: an integer specifying the character offset to query. + * + * Get the index of the #AccessibleHyperlink object at a specified + * character offset. + * + * Returns: the linkIndex of the #AccessibleHyperlink active at + * character offset @characterOffset, or -1 if there is + * no hyperlink at the specified character offset. + **/ long AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj, - long characterIndex) + long int characterOffset) { - return (long) - Accessibility_Hypertext_getLinkIndex (*obj, - (CORBA_long) characterIndex, &ev); + dbus_int32_t d_characterOffset = characterOffset; + dbus_int32_t retval; + + cspi_return_val_if_fail (obj != NULL, -1); + + cspi_dbus_call (obj, spi_interface_hypertext, "getLinkIndex", NULL, "i=>i", d_characterOffset, &retval); + + cspi_return_val_if_ev ("getLinkIndex", -1); + + return retval; }