From b7cc91ca9019231adc232377060bd499f820d6c4 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Wed, 20 Feb 2013 11:57:11 +0000 Subject: [PATCH] Incluindo método para setar string no plugin dbus --- src/plugins/dbus3270/gobject.c | 16 ++++++++++++++++ src/plugins/dbus3270/pw3270dbus.xml | 6 ++++++ src/plugins/dbus3270/service.h | 1 + src/plugins/dbus3270/test.sh | 4 ++++ 4 files changed, 27 insertions(+), 0 deletions(-) diff --git a/src/plugins/dbus3270/gobject.c b/src/plugins/dbus3270/gobject.c index 6a16540..8716a86 100644 --- a/src/plugins/dbus3270/gobject.c +++ b/src/plugins/dbus3270/gobject.c @@ -198,3 +198,19 @@ void pw3270_dbus_enter(PW3270Dbus *object, DBusGMethodInvocation *context) return; dbus_g_method_return(context,lib3270_enter(pw3270_dbus_get_session_handle(object))); } + +void pw3270_dbus_set_text_at(PW3270Dbus *object, int row, int col, const gchar *utftext, DBusGMethodInvocation *context) +{ + gchar * text; + H3270 * hSession = pw3270_dbus_get_session_handle(object); + + trace("%s object=%p context=%p",__FUNCTION__,object,context); + if(pw3270_dbus_check_valid_state(object,context)) + return; + + text = g_convert_with_fallback(utftext,-1,lib3270_get_charset(hSession),"UTF-8","?",NULL,NULL,NULL); + + dbus_g_method_return(context,lib3270_set_string_at(hSession,row,col,(const unsigned char *) text)); + + g_free(text); +} diff --git a/src/plugins/dbus3270/pw3270dbus.xml b/src/plugins/dbus3270/pw3270dbus.xml index b3d8918..98cb55e 100644 --- a/src/plugins/dbus3270/pw3270dbus.xml +++ b/src/plugins/dbus3270/pw3270dbus.xml @@ -30,5 +30,11 @@ + + + + + + diff --git a/src/plugins/dbus3270/service.h b/src/plugins/dbus3270/service.h index 26841a6..ed26a9b 100644 --- a/src/plugins/dbus3270/service.h +++ b/src/plugins/dbus3270/service.h @@ -77,6 +77,7 @@ // Actions void pw3270_dbus_enter(PW3270Dbus *object, DBusGMethodInvocation *context); + void pw3270_dbus_set_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context); G_END_DECLS diff --git a/src/plugins/dbus3270/test.sh b/src/plugins/dbus3270/test.sh index 604b6cb..3d5c552 100755 --- a/src/plugins/dbus3270/test.sh +++ b/src/plugins/dbus3270/test.sh @@ -26,6 +26,10 @@ case $1 in dbus-send --session --print-reply --dest=br.com.bb.pw3270 /br/com/bb/pw3270 br.com.bb.pw3270.getScreenContents ;; + set) + dbus-send --session --print-reply --dest=br.com.bb.pw3270 /br/com/bb/pw3270 br.com.bb.pw3270.setTextAt int32:$2 int32:$3 string:$4 + ;; + enter) dbus-send --session --print-reply --dest=br.com.bb.pw3270 /br/com/bb/pw3270 br.com.bb.pw3270.enter ;; -- libgit2 0.21.2