Commit ba9c900fcf2a9a193614857c85c5ce347b282c6f
1 parent
0b04128a
Exists in
master
and in
5 other branches
Incluindo parâmetro para definir quebra de linha na requisição via D-Bus.
Showing
4 changed files
with
14 additions
and
3 deletions
Show diff stats
src/plugins/dbus3270/gobject.c
| @@ -314,7 +314,7 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus | @@ -314,7 +314,7 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus | ||
| 314 | } | 314 | } |
| 315 | } | 315 | } |
| 316 | 316 | ||
| 317 | - void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, DBusGMethodInvocation *context) | 317 | + void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, char lf, DBusGMethodInvocation *context) |
| 318 | { | 318 | { |
| 319 | gchar * text; | 319 | gchar * text; |
| 320 | H3270 * hSession = pw3270_dbus_get_session_handle(object); | 320 | H3270 * hSession = pw3270_dbus_get_session_handle(object); |
| @@ -323,7 +323,11 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus | @@ -323,7 +323,11 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus | ||
| 323 | if(pw3270_dbus_check_valid_state(object,context)) | 323 | if(pw3270_dbus_check_valid_state(object,context)) |
| 324 | return; | 324 | return; |
| 325 | 325 | ||
| 326 | - text = lib3270_get_text(hSession,offset,len,'\n'); | 326 | + if(len < 0) { |
| 327 | + len = lib3270_get_length(hSession); | ||
| 328 | + } | ||
| 329 | + | ||
| 330 | + text = lib3270_get_text(hSession,offset,len,lf); | ||
| 327 | if(!text) | 331 | if(!text) |
| 328 | { | 332 | { |
| 329 | GError *error = pw3270_dbus_get_error_from_errno(errno); | 333 | GError *error = pw3270_dbus_get_error_from_errno(errno); |
| @@ -336,6 +340,8 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus | @@ -336,6 +340,8 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus | ||
| 336 | 340 | ||
| 337 | lib3270_free(text); | 341 | lib3270_free(text); |
| 338 | 342 | ||
| 343 | + debug("\n%s\n",utftext); | ||
| 344 | + | ||
| 339 | dbus_g_method_return(context,utftext); | 345 | dbus_g_method_return(context,utftext); |
| 340 | 346 | ||
| 341 | g_free(utftext); | 347 | g_free(utftext); |
src/plugins/dbus3270/pw3270dbus.xml
| @@ -79,6 +79,7 @@ | @@ -79,6 +79,7 @@ | ||
| 79 | <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> | 79 | <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> |
| 80 | <arg type="i" name="addr" direction="in" /> | 80 | <arg type="i" name="addr" direction="in" /> |
| 81 | <arg type="i" name="len" direction="in" /> | 81 | <arg type="i" name="len" direction="in" /> |
| 82 | + <arg type="y" name="lf" direction="in" /> | ||
| 82 | <arg type="s" name="text" direction="out" /> | 83 | <arg type="s" name="text" direction="out" /> |
| 83 | </method> | 84 | </method> |
| 84 | <method name="setClipboard"> | 85 | <method name="setClipboard"> |
src/plugins/dbus3270/service.h
| @@ -113,7 +113,7 @@ | @@ -113,7 +113,7 @@ | ||
| 113 | void pw3270_dbus_pa_key(PW3270Dbus *object, int key, DBusGMethodInvocation *context); | 113 | void pw3270_dbus_pa_key(PW3270Dbus *object, int key, DBusGMethodInvocation *context); |
| 114 | void pw3270_dbus_set_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context); | 114 | void pw3270_dbus_set_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context); |
| 115 | void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBusGMethodInvocation *context); | 115 | void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBusGMethodInvocation *context); |
| 116 | - void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, DBusGMethodInvocation *context); | 116 | + void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, char lf, DBusGMethodInvocation *context); |
| 117 | void pw3270_dbus_cmp_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context); | 117 | void pw3270_dbus_cmp_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context); |
| 118 | void pw3270_dbus_input(PW3270Dbus *object, const gchar *utftext, DBusGMethodInvocation *context); | 118 | void pw3270_dbus_input(PW3270Dbus *object, const gchar *utftext, DBusGMethodInvocation *context); |
| 119 | 119 |
src/plugins/dbus3270/test.sh
| @@ -41,6 +41,10 @@ run_command() | @@ -41,6 +41,10 @@ run_command() | ||
| 41 | dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getScreenContents | 41 | dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getScreenContents |
| 42 | ;; | 42 | ;; |
| 43 | 43 | ||
| 44 | + gettext) | ||
| 45 | + dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getText int32:1 int32:-1 byte:0 | ||
| 46 | + ;; | ||
| 47 | + | ||
| 44 | protect) | 48 | protect) |
| 45 | dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getIsProtectedAt int32:$2 int32:$3 | 49 | dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getIsProtectedAt int32:$2 int32:$3 |
| 46 | ;; | 50 | ;; |