Commit b417442ed15d0eba5b3555b0ed633ddf8075b673
1 parent
e7274ac6
Exists in
master
and in
5 other branches
Atualizando módulo cliente com as últimas mudanças na parte de IPC
Showing
4 changed files
with
49 additions
and
4 deletions
Show diff stats
pw3270.cbp
| @@ -284,6 +284,7 @@ | @@ -284,6 +284,7 @@ | ||
| 284 | <Unit filename="src/libpw3270cpp/module.cc" /> | 284 | <Unit filename="src/libpw3270cpp/module.cc" /> |
| 285 | <Unit filename="src/libpw3270cpp/private.h" /> | 285 | <Unit filename="src/libpw3270cpp/private.h" /> |
| 286 | <Unit filename="src/libpw3270cpp/remote.cc" /> | 286 | <Unit filename="src/libpw3270cpp/remote.cc" /> |
| 287 | + <Unit filename="src/libpw3270cpp/service.cc" /> | ||
| 287 | <Unit filename="src/libpw3270cpp/session.cc" /> | 288 | <Unit filename="src/libpw3270cpp/session.cc" /> |
| 288 | <Unit filename="src/libpw3270cpp/testprogram.cc" /> | 289 | <Unit filename="src/libpw3270cpp/testprogram.cc" /> |
| 289 | <Unit filename="src/loffice/Makefile.in" /> | 290 | <Unit filename="src/loffice/Makefile.in" /> |
src/libpw3270cpp/remote.cc
| @@ -817,6 +817,7 @@ | @@ -817,6 +817,7 @@ | ||
| 817 | return (LIB3270_SSL_STATE) query_intval(HLLAPI_PACKET_GET_SSL_STATE); | 817 | return (LIB3270_SSL_STATE) query_intval(HLLAPI_PACKET_GET_SSL_STATE); |
| 818 | } | 818 | } |
| 819 | 819 | ||
| 820 | +/* | ||
| 820 | int connect(void) | 821 | int connect(void) |
| 821 | { | 822 | { |
| 822 | int rc; | 823 | int rc; |
| @@ -846,6 +847,47 @@ | @@ -846,6 +847,47 @@ | ||
| 846 | return rc; | 847 | return rc; |
| 847 | 848 | ||
| 848 | } | 849 | } |
| 850 | +*/ | ||
| 851 | + | ||
| 852 | + virtual int connect() | ||
| 853 | + { | ||
| 854 | + return connect("",0); | ||
| 855 | + } | ||
| 856 | + | ||
| 857 | + virtual int connect(const char *url, time_t wait) | ||
| 858 | + { | ||
| 859 | + debug("%s(%s,%u)",__FUNCTION__,url,(unsigned int) wait); | ||
| 860 | + | ||
| 861 | +#if defined(WIN32) | ||
| 862 | + | ||
| 863 | + #error Reimplementar | ||
| 864 | + | ||
| 865 | +#elif defined(HAVE_DBUS) | ||
| 866 | + | ||
| 867 | + int rc = query_intval("connect", DBUS_TYPE_STRING, &url, DBUS_TYPE_INVALID); | ||
| 868 | + | ||
| 869 | + debug("connect(%s) rc=%d (%s)",url,rc,strerror(rc)); | ||
| 870 | + | ||
| 871 | + if(!rc && wait) { | ||
| 872 | + time_t end = time(0) + wait; | ||
| 873 | + while(!is_connected()) { | ||
| 874 | + if(time(0) > end) { | ||
| 875 | + debug("%s: Timeout",__FUNCTION__); | ||
| 876 | + return ETIMEDOUT; | ||
| 877 | + } | ||
| 878 | + usleep(500); | ||
| 879 | + } | ||
| 880 | + } | ||
| 881 | + | ||
| 882 | +#else | ||
| 883 | + rc = EINVAL; | ||
| 884 | + | ||
| 885 | +#endif | ||
| 886 | + debug("connect(%s) rc=%d (%s)",url,rc,strerror(rc)); | ||
| 887 | + | ||
| 888 | + return rc; | ||
| 889 | + | ||
| 890 | + } | ||
| 849 | 891 | ||
| 850 | int set_url(const char *uri) | 892 | int set_url(const char *uri) |
| 851 | { | 893 | { |
src/libpw3270cpp/testprogram.cc
| @@ -42,9 +42,9 @@ | @@ -42,9 +42,9 @@ | ||
| 42 | try | 42 | try |
| 43 | { | 43 | { |
| 44 | string s; | 44 | string s; |
| 45 | - session *session = session::start("service://?"); | 45 | + // session *session = session::start("service://?"); |
| 46 | // session *session = session::start(""); | 46 | // session *session = session::start(""); |
| 47 | - // session *session = session::start("new"); | 47 | + session *session = session::start("pw3270:A"); |
| 48 | 48 | ||
| 49 | string name = session->get_session_name(); | 49 | string name = session->get_session_name(); |
| 50 | 50 | ||
| @@ -68,7 +68,7 @@ | @@ -68,7 +68,7 @@ | ||
| 68 | // s = session->get_host_charset(); | 68 | // s = session->get_host_charset(); |
| 69 | // cout << "\tHost charset: " << s.c_str() << endl; | 69 | // cout << "\tHost charset: " << s.c_str() << endl; |
| 70 | 70 | ||
| 71 | - cout << "Connect: " << session->connect("fandezhi.efglobe.com:23",60) << endl << endl; | 71 | + cout << "Connect: " << session->connect("tn3270://fandezhi.efglobe.com:23",60) << endl << endl; |
| 72 | 72 | ||
| 73 | cout << "\tWaitForReady: " << session->wait_for_ready(10) << endl; | 73 | cout << "\tWaitForReady: " << session->wait_for_ready(10) << endl; |
| 74 | 74 | ||
| @@ -80,6 +80,7 @@ | @@ -80,6 +80,7 @@ | ||
| 80 | 80 | ||
| 81 | delete session; | 81 | delete session; |
| 82 | 82 | ||
| 83 | + /* | ||
| 83 | session = session::start(name.c_str()); | 84 | session = session::start(name.c_str()); |
| 84 | cout << "Restored session: " << name << endl << endl; | 85 | cout << "Restored session: " << name << endl << endl; |
| 85 | cout << "\tIsConnected: " << session->is_connected() << endl; | 86 | cout << "\tIsConnected: " << session->is_connected() << endl; |
| @@ -88,6 +89,7 @@ | @@ -88,6 +89,7 @@ | ||
| 88 | session->disconnect(); | 89 | session->disconnect(); |
| 89 | session->close(); | 90 | session->close(); |
| 90 | delete session; | 91 | delete session; |
| 92 | + */ | ||
| 91 | 93 | ||
| 92 | } | 94 | } |
| 93 | catch(std::exception &e) { | 95 | catch(std::exception &e) { |
src/plugins/dbus3270/test.sh
| @@ -22,7 +22,7 @@ run_command() | @@ -22,7 +22,7 @@ run_command() | ||
| 22 | ;; | 22 | ;; |
| 23 | 23 | ||
| 24 | connect) | 24 | connect) |
| 25 | - dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.connect string:$2 | 25 | + dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.connect string:$2 int32:10 |
| 26 | ;; | 26 | ;; |
| 27 | 27 | ||
| 28 | disconnect) | 28 | disconnect) |