Commit 6058ed375c612ef6636023d45953635d506b3916
1 parent
a3fa3e57
Exists in
master
and in
5 other branches
Melhorando funcionamento da classe java.
Showing
4 changed files
with
32 additions
and
2 deletions
Show diff stats
src/classlib/session.cc
... | ... | @@ -216,7 +216,7 @@ |
216 | 216 | iterate(false); |
217 | 217 | while(time(0) < end) |
218 | 218 | { |
219 | - trace("Aguardar %d segundos",(int) (end - time(0))); | |
219 | + trace("Aguardar %d segundos por \"%s\" @%d,%d (%s)",(int) (end - time(0)),key,row,col,get_text_at(row,col,strlen(key)).c_str()); | |
220 | 220 | |
221 | 221 | int rc = wait_for_ready(end - time(0)); |
222 | 222 | if(rc) { |
... | ... | @@ -231,6 +231,8 @@ |
231 | 231 | |
232 | 232 | } |
233 | 233 | |
234 | + trace("Tela:\n%s\n", ((string) *this).c_str()); | |
235 | + | |
234 | 236 | return ETIMEDOUT; |
235 | 237 | } |
236 | 238 | ... | ... |
src/include/pw3270/class.h
... | ... | @@ -173,7 +173,7 @@ |
173 | 173 | virtual int iterate(bool wait = true) = 0; |
174 | 174 | |
175 | 175 | // Get/Set/Test without charset translation |
176 | - virtual string get_text(int baddr, size_t len) = 0; | |
176 | + virtual string get_text(int baddr = 0, size_t len = 1) = 0; | |
177 | 177 | virtual string get_text_at(int row, int col, size_t sz) = 0; |
178 | 178 | virtual int set_text_at(int row, int col, const char *str) = 0; |
179 | 179 | virtual int cmp_text_at(int row, int col, const char *text) = 0; |
... | ... | @@ -194,6 +194,10 @@ |
194 | 194 | int wait_for_string_at(int row, int col, const char *key, int timeout); |
195 | 195 | int input_string(const char *str); |
196 | 196 | |
197 | + inline operator string() { | |
198 | + return get_string(); | |
199 | + } | |
200 | + | |
197 | 201 | // Cursor management |
198 | 202 | virtual int set_cursor_position(int row, int col) = 0; |
199 | 203 | virtual int set_cursor_addr(int addr) = 0; | ... | ... |
src/java/getset.cc
... | ... | @@ -35,6 +35,24 @@ |
35 | 35 | using namespace std; |
36 | 36 | using namespace PW3270_NAMESPACE; |
37 | 37 | |
38 | +JNIEXPORT jstring JNICALL Java_pw3270_terminal_toString(JNIEnv *env, jobject obj) { | |
39 | + | |
40 | + string str; | |
41 | + | |
42 | + try { | |
43 | + | |
44 | + str = java::getHandle(env,obj)->get_string(); | |
45 | + | |
46 | + } catch(std::exception &e) { | |
47 | + | |
48 | + env->ThrowNew(env->FindClass("java/lang/Exception"), e.what()); | |
49 | + | |
50 | + } | |
51 | + | |
52 | + return env->NewStringUTF(str.c_str()); | |
53 | + | |
54 | +} | |
55 | + | |
38 | 56 | JNIEXPORT jstring JNICALL Java_pw3270_terminal_get_1string(JNIEnv *env, jobject obj, jint baddr, jint len) { |
39 | 57 | |
40 | 58 | string str; | ... | ... |
src/java/terminal.java
... | ... | @@ -434,6 +434,12 @@ public class terminal |
434 | 434 | public native void log(String msg); |
435 | 435 | |
436 | 436 | /** |
437 | + * Get Screen contents. | |
438 | + * | |
439 | + */ | |
440 | + public native String toString(); | |
441 | + | |
442 | + /** | |
437 | 443 | * Get connection SSL state |
438 | 444 | * |
439 | 445 | * @return State of SSL connection (0 = Unsafe, 1 = Valid CA, 2 = Invalid CA or self-signed, 3 = Negotiating, 4 = Undefined) | ... | ... |