Commit f6f4107149097fb2e8d294f80e34a9bee482cf84

Authored by perry.werneck@gmail.com
1 parent e2a66e58

Atualizando interface libreoffice

@@ -251,19 +251,27 @@ @@ -251,19 +251,27 @@
251 <Unit filename="src/lib3270/winversc.h" /> 251 <Unit filename="src/lib3270/winversc.h" />
252 <Unit filename="src/lib3270/xioc.h" /> 252 <Unit filename="src/lib3270/xioc.h" />
253 <Unit filename="src/lib3270/xl.h" /> 253 <Unit filename="src/lib3270/xl.h" />
  254 + <Unit filename="src/loffice/Makefile.in" />
  255 + <Unit filename="src/loffice/connect.cc" />
  256 + <Unit filename="src/loffice/description.txt" />
  257 + <Unit filename="src/loffice/description.xml" />
  258 + <Unit filename="src/loffice/description.xml.in" />
  259 + <Unit filename="src/loffice/get.cc" />
  260 + <Unit filename="src/loffice/globals.hpp" />
  261 + <Unit filename="src/loffice/info.cc" />
  262 + <Unit filename="src/loffice/init.cc" />
  263 + <Unit filename="src/loffice/manifest.xml" />
  264 + <Unit filename="src/loffice/manifest.xml.in" />
  265 + <Unit filename="src/loffice/pw3270.idl" />
  266 + <Unit filename="src/loffice/service.cc" />
  267 + <Unit filename="src/loffice/set.cc" />
  268 + <Unit filename="src/loffice/testprogram.cc" />
254 <Unit filename="src/oxt/Makefile.in" /> 269 <Unit filename="src/oxt/Makefile.in" />
255 - <Unit filename="src/oxt/actions.cxx" />  
256 - <Unit filename="src/oxt/connection.cxx" />  
257 <Unit filename="src/oxt/description.txt" /> 270 <Unit filename="src/oxt/description.txt" />
258 <Unit filename="src/oxt/description.xml.in" /> 271 <Unit filename="src/oxt/description.xml.in" />
259 - <Unit filename="src/oxt/get.cxx" />  
260 <Unit filename="src/oxt/globals.hpp" /> 272 <Unit filename="src/oxt/globals.hpp" />
261 - <Unit filename="src/oxt/local.cxx" />  
262 - <Unit filename="src/oxt/main.cxx" />  
263 <Unit filename="src/oxt/manifest.xml.in" /> 273 <Unit filename="src/oxt/manifest.xml.in" />
264 <Unit filename="src/oxt/pw3270.idl" /> 274 <Unit filename="src/oxt/pw3270.idl" />
265 - <Unit filename="src/oxt/set.cxx" />  
266 - <Unit filename="src/oxt/testprogram.cxx" />  
267 <Unit filename="src/php/Makefile.in" /> 275 <Unit filename="src/php/Makefile.in" />
268 <Unit filename="src/php/get.cc" /> 276 <Unit filename="src/php/get.cc" />
269 <Unit filename="src/php/init.cc" /> 277 <Unit filename="src/php/init.cc" />
src/include/pw3270/class.h
@@ -134,8 +134,8 @@ @@ -134,8 +134,8 @@
134 virtual string get_display_charset(void); 134 virtual string get_display_charset(void);
135 135
136 // Connection & Network 136 // Connection & Network
137 - int connect(const char *host, time_t wait = 0);  
138 - int set_host(const char *host); 137 + int connect(const char *host, time_t wait = 0);
  138 + int set_host(const char *host);
139 virtual int connect(void) = 0; 139 virtual int connect(void) = 0;
140 virtual int set_url(const char *hostname) = 0; 140 virtual int set_url(const char *hostname) = 0;
141 virtual int disconnect(void) = 0; 141 virtual int disconnect(void) = 0;
src/lib3270/connect.c
@@ -82,9 +82,11 @@ static void net_connected(H3270 *hSession, int fd, LIB3270_IO_FLAG flag, void *d @@ -82,9 +82,11 @@ static void net_connected(H3270 *hSession, int fd, LIB3270_IO_FLAG flag, void *d
82 int err; 82 int err;
83 socklen_t len = sizeof(err); 83 socklen_t len = sizeof(err);
84 84
85 - trace("%s write=%p",__FUNCTION__,hSession->ns_write_id);  
86 - lib3270_remove_poll(hSession->ns_write_id);  
87 - hSession->ns_write_id = NULL; 85 + if(hSession->ns_write_id) {
  86 + trace("%s write=%p",__FUNCTION__,hSession->ns_write_id);
  87 + lib3270_remove_poll(hSession->ns_write_id);
  88 + hSession->ns_write_id = NULL;
  89 + }
88 90
89 if(getsockopt(hSession->sock, SOL_SOCKET, SO_ERROR, (char *) &err, &len) < 0) 91 if(getsockopt(hSession->sock, SOL_SOCKET, SO_ERROR, (char *) &err, &len) < 0)
90 { 92 {
src/lib3270/iocalls.c
@@ -628,6 +628,7 @@ void x_except_on(H3270 *h) @@ -628,6 +628,7 @@ void x_except_on(H3270 *h)
628 { 628 {
629 int reading = (h->ns_read_id != NULL); 629 int reading = (h->ns_read_id != NULL);
630 630
  631 + debug("%s",__FUNCTION__);
631 if(h->ns_exception_id) 632 if(h->ns_exception_id)
632 return; 633 return;
633 634
@@ -638,6 +639,7 @@ void x_except_on(H3270 *h) @@ -638,6 +639,7 @@ void x_except_on(H3270 *h)
638 639
639 if(reading) 640 if(reading)
640 h->ns_read_id = lib3270_add_poll_fd(h,h->sock,LIB3270_IO_FLAG_READ,net_input,0); 641 h->ns_read_id = lib3270_add_poll_fd(h,h->sock,LIB3270_IO_FLAG_READ,net_input,0);
  642 + debug("%s",__FUNCTION__);
641 643
642 } 644 }
643 645
src/loffice/connect.cc
@@ -37,16 +37,46 @@ @@ -37,16 +37,46 @@
37 37
38 using namespace pw3270_impl; 38 using namespace pw3270_impl;
39 39
40 - ::sal_Int16 SAL_CALL session_impl::Connect() throw (::com::sun::star::uno::RuntimeException) 40 +/*
  41 +::sal_Int16 SAL_CALL session_impl::Reconnect() throw (::com::sun::star::uno::RuntimeException)
  42 + {
  43 + trace("%s: hSession=%p",__FUNCTION__,hSession);
  44 +
  45 + try
  46 + {
  47 + if(!hSession)
  48 + hSession = h3270::session::get_default();
  49 +
  50 + return hSession->connect();
  51 +
  52 + } catch(std::exception &e)
  53 + {
  54 + trace("%s failed: %s",__FUNCTION__,e.what());
  55 +
  56 + OUString msg = OUString(e.what(),strlen(e.what()),RTL_TEXTENCODING_UTF8,RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_IGNORE);
  57 +
  58 + throw css::uno::RuntimeException(msg,static_cast< cppu::OWeakObject * >(this));
  59 +
  60 + }
  61 +
  62 + return -1;
  63 +
  64 +
  65 + }
  66 +*/
  67 +
  68 + ::sal_Int16 SAL_CALL session_impl::Connect(const ::rtl::OUString& url, ::sal_Bool wait) throw (::com::sun::star::uno::RuntimeException)
41 { 69 {
42 trace("%s: hSession=%p",__FUNCTION__,hSession); 70 trace("%s: hSession=%p",__FUNCTION__,hSession);
43 71
  72 + OString vlr = rtl::OUStringToOString( url , RTL_TEXTENCODING_UNICODE );
  73 +
44 try 74 try
45 { 75 {
46 if(!hSession) 76 if(!hSession)
47 hSession = h3270::session::get_default(); 77 hSession = h3270::session::get_default();
48 78
49 - return hSession->connect(false); 79 + return hSession->connect(vlr.getStr(),wait);
50 80
51 } catch(std::exception &e) 81 } catch(std::exception &e)
52 { 82 {
src/loffice/globals.hpp
@@ -105,8 +105,7 @@ @@ -105,8 +105,7 @@
105 105
106 virtual ::sal_Int16 SAL_CALL setSessionName( const ::rtl::OUString& name ) throw (::com::sun::star::uno::RuntimeException); 106 virtual ::sal_Int16 SAL_CALL setSessionName( const ::rtl::OUString& name ) throw (::com::sun::star::uno::RuntimeException);
107 107
108 - virtual ::sal_Int16 SAL_CALL setHost( const ::rtl::OUString& url ) throw (::com::sun::star::uno::RuntimeException);  
109 - virtual ::sal_Int16 SAL_CALL Connect() throw (::com::sun::star::uno::RuntimeException); 108 + virtual ::sal_Int16 SAL_CALL Connect( const ::rtl::OUString& url, ::sal_Bool wait) throw (::com::sun::star::uno::RuntimeException);
110 virtual ::sal_Int16 SAL_CALL Disconnect() throw (::com::sun::star::uno::RuntimeException); 109 virtual ::sal_Int16 SAL_CALL Disconnect() throw (::com::sun::star::uno::RuntimeException);
111 110
112 // State 111 // State
src/loffice/pw3270.idl
@@ -47,8 +47,7 @@ module pw3270 @@ -47,8 +47,7 @@ module pw3270
47 string getRevision(); 47 string getRevision();
48 48
49 // Host definition 49 // Host definition
50 - short setHost([in] string url);  
51 - short Connect(); 50 + short Connect([in] string url, [in] boolean wait);
52 short Disconnect(); 51 short Disconnect();
53 short iterate([in] boolean wait); 52 short iterate([in] boolean wait);
54 53
src/loffice/set.cc
@@ -100,6 +100,7 @@ @@ -100,6 +100,7 @@
100 100
101 } 101 }
102 102
  103 +/*
103 ::sal_Int16 SAL_CALL session_impl::setHost( const ::rtl::OUString& url ) throw (::com::sun::star::uno::RuntimeException) 104 ::sal_Int16 SAL_CALL session_impl::setHost( const ::rtl::OUString& url ) throw (::com::sun::star::uno::RuntimeException)
104 { 105 {
105 if(!hSession) 106 if(!hSession)
@@ -122,6 +123,7 @@ @@ -122,6 +123,7 @@
122 123
123 return -1; 124 return -1;
124 } 125 }
  126 +*/
125 127
126 ::sal_Int16 SAL_CALL session_impl::setTextAt( ::sal_Int16 row, ::sal_Int16 col, const ::rtl::OUString& str ) throw (::com::sun::star::uno::RuntimeException) 128 ::sal_Int16 SAL_CALL session_impl::setTextAt( ::sal_Int16 row, ::sal_Int16 col, const ::rtl::OUString& str ) throw (::com::sun::star::uno::RuntimeException)
127 { 129 {