Commit eb51279758c312fae0b8625c3eff6fc80c65a7f5
1 parent
5ce34780
Exists in
master
and in
5 other branches
Implementando mais métodos na interface openoffice
Showing
5 changed files
with
29 additions
and
14 deletions
Show diff stats
src/oxt/actions.cxx
... | ... | @@ -54,19 +54,19 @@ |
54 | 54 | return hSession->cmp_text_at((int) row, (int) col, rtl::OUStringToOString(text,hSession->get_encoding()).getStr()); |
55 | 55 | } |
56 | 56 | |
57 | -::sal_Bool SAL_CALL isReady( ) throw (::com::sun::star::uno::RuntimeException) | |
57 | +::sal_Bool SAL_CALL pw3270::uno_impl::isReady( ) throw (::com::sun::star::uno::RuntimeException) | |
58 | 58 | { |
59 | - if(!isConnected()) | |
60 | - return FALSE; | |
59 | + if(!hSession->in_tn3270e()) | |
60 | + return false; | |
61 | 61 | |
62 | - if(hSession->get_state() == ) | |
63 | - return TRUE; | |
62 | + if(hSession->get_state() == LIB3270_MESSAGE_NONE) | |
63 | + return true; | |
64 | 64 | |
65 | - return FALSE; | |
65 | + return false; | |
66 | 66 | } |
67 | 67 | |
68 | -::sal_Bool SAL_CALL isConnected( ) throw (::com::sun::star::uno::RuntimeException) | |
68 | +::sal_Bool SAL_CALL pw3270::uno_impl::isConnected( ) throw (::com::sun::star::uno::RuntimeException) | |
69 | 69 | { |
70 | - | |
70 | + return hSession->in_tn3270e() != 0; | |
71 | 71 | } |
72 | 72 | ... | ... |
src/oxt/globals.hpp
... | ... | @@ -65,12 +65,12 @@ |
65 | 65 | virtual int enter(void) = 0; |
66 | 66 | virtual int pfkey(int key) = 0; |
67 | 67 | virtual int pakey(int key) = 0; |
68 | - | |
68 | + virtual bool in_tn3270e() = 0; | |
69 | 69 | virtual void mem_free(void *) = 0; |
70 | 70 | |
71 | 71 | void sleep(int seconds = 1); |
72 | 72 | |
73 | - rtl_TextEncoding get_encoding(); | |
73 | + rtl_TextEncoding get_encoding(); | |
74 | 74 | |
75 | 75 | }; |
76 | 76 | |
... | ... | @@ -86,6 +86,7 @@ |
86 | 86 | virtual int connect(const char *uri); |
87 | 87 | virtual int disconnect(void); |
88 | 88 | virtual bool connected(void); |
89 | + virtual bool in_tn3270e(void); | |
89 | 90 | |
90 | 91 | virtual int enter(void); |
91 | 92 | virtual int pfkey(int key); |
... | ... | @@ -110,6 +111,7 @@ |
110 | 111 | /* lib3270 entry points */ |
111 | 112 | const char * (* _get_revision)(void); |
112 | 113 | LIB3270_MESSAGE (* _get_program_message)(H3270 *); |
114 | + int (* _in_tn3270e)(H3270 *); | |
113 | 115 | char * (* _get_text_at)(H3270 *,int,int,int); |
114 | 116 | int (* _set_text_at)(H3270 *,int,int,const unsigned char *); |
115 | 117 | int (* _cmp_text_at)(H3270 *,int,int,const char *); |
... | ... | @@ -147,6 +149,8 @@ |
147 | 149 | virtual ::sal_Int16 SAL_CALL pfkey( ::sal_Int16 keycode ) throw (::com::sun::star::uno::RuntimeException); |
148 | 150 | virtual ::sal_Int16 SAL_CALL pakey( ::sal_Int16 keycode ) throw (::com::sun::star::uno::RuntimeException); |
149 | 151 | virtual ::sal_Int16 SAL_CALL cmpTextAt( ::sal_Int16 row, ::sal_Int16 col, const ::rtl::OUString& text ) throw (::com::sun::star::uno::RuntimeException); |
152 | + virtual ::sal_Bool SAL_CALL isReady( ) throw (::com::sun::star::uno::RuntimeException); | |
153 | + virtual ::sal_Bool SAL_CALL isConnected( ) throw (::com::sun::star::uno::RuntimeException); | |
150 | 154 | |
151 | 155 | private: |
152 | 156 | ... | ... |
src/oxt/local.cxx
... | ... | @@ -57,12 +57,13 @@ |
57 | 57 | { (void **) & _enter, "lib3270_enter" }, |
58 | 58 | { (void **) & _pfkey, "lib3270_pfkey" }, |
59 | 59 | { (void **) & _pakey, "lib3270_pakey" }, |
60 | + { (void **) & _in_tn3270e, "lib3270_in_tn3270e" }, | |
60 | 61 | { (void **) & _get_program_message, "lib3270_get_program_message" }, |
61 | 62 | { (void **) & _mem_free, "lib3270_free" } |
62 | 63 | |
63 | 64 | }; |
64 | 65 | |
65 | - void * (*lib3270_new)(const char *); | |
66 | + H3270 * (*lib3270_new)(const char *); | |
66 | 67 | |
67 | 68 | hThread = NULL; |
68 | 69 | hSession = NULL; |
... | ... | @@ -76,7 +77,7 @@ |
76 | 77 | *call[f].entry = (void *) osl_getAsciiFunctionSymbol(hModule,call[f].name); |
77 | 78 | |
78 | 79 | /* Get lib3270 session handle */ |
79 | - lib3270_new = (void * (*)(const char *)) osl_getAsciiFunctionSymbol(hModule,"lib3270_session_new"); | |
80 | + lib3270_new = (H3270 * (*)(const char *)) osl_getAsciiFunctionSymbol(hModule,"lib3270_session_new"); | |
80 | 81 | hSession = lib3270_new(""); |
81 | 82 | |
82 | 83 | } |
... | ... | @@ -210,10 +211,10 @@ |
210 | 211 | return _pakey(hSession,key); |
211 | 212 | } |
212 | 213 | |
213 | - int pw3270::lib3270_session::get_state(void) | |
214 | + LIB3270_MESSAGE pw3270::lib3270_session::get_state(void) | |
214 | 215 | { |
215 | 216 | if(!hSession) |
216 | - return -1; | |
217 | + return LIB3270_MESSAGE_DISCONNECTED; | |
217 | 218 | return _get_program_message(hSession); |
218 | 219 | } |
219 | 220 | |
... | ... | @@ -242,3 +243,10 @@ |
242 | 243 | return EINVAL; |
243 | 244 | return _cmp_text_at(hSession,row,col,text); |
244 | 245 | } |
246 | + | |
247 | + bool pw3270::lib3270_session::in_tn3270e(void) | |
248 | + { | |
249 | + if(!hSession) | |
250 | + return false; | |
251 | + return _in_tn3270e(hSession) != 0; | |
252 | + } | ... | ... |
src/oxt/main.cxx
src/oxt/pw3270.idl
... | ... | @@ -77,6 +77,7 @@ module br |
77 | 77 | short getRevision(); |
78 | 78 | short sleep([in] short seconds); |
79 | 79 | boolean isReady(); |
80 | +// boolean hasTextAt([in] short row, [in] short col, [in] string text); | |
80 | 81 | // short waitForReady([in] short seconds); |
81 | 82 | // short waitForTextAt(in] short row, [in] short col, [in] string text, [in] short seconds); |
82 | 83 | boolean isConnected(); | ... | ... |