Commit ebfa69d78e47243b984a674d28e77919bd80c537
1 parent
858ac02b
Exists in
master
and in
5 other branches
Incluindo excessao quando a inicialização falhar
Showing
3 changed files
with
36 additions
and
0 deletions
Show diff stats
src/oxt/main.cxx
@@ -301,6 +301,8 @@ void pw3270::uno_impl::failed(const char *fmt, ...) throw( ::com::sun::star::uno | @@ -301,6 +301,8 @@ void pw3270::uno_impl::failed(const char *fmt, ...) throw( ::com::sun::star::uno | ||
301 | closelog(); | 301 | closelog(); |
302 | #endif // HAVE_SYSLOG | 302 | #endif // HAVE_SYSLOG |
303 | 303 | ||
304 | + trace("%s: %s",__FUNCTION__,msg); | ||
305 | + | ||
304 | ::rtl::OUString str = OUString(msg, strlen(msg), RTL_TEXTENCODING_UTF8, RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_IGNORE); | 306 | ::rtl::OUString str = OUString(msg, strlen(msg), RTL_TEXTENCODING_UTF8, RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_IGNORE); |
305 | 307 | ||
306 | free(msg); | 308 | free(msg); |
src/oxt/remote.cxx
@@ -224,8 +224,11 @@ pw3270::ipc3270_session::ipc3270_session(uno_impl *obj, const char *name) throw( | @@ -224,8 +224,11 @@ pw3270::ipc3270_session::ipc3270_session(uno_impl *obj, const char *name) throw( | ||
224 | 224 | ||
225 | conn = dbus_bus_get(DBUS_BUS_SESSION, &err); | 225 | conn = dbus_bus_get(DBUS_BUS_SESSION, &err); |
226 | 226 | ||
227 | + trace("conn=%p",conn); | ||
228 | + | ||
227 | if (dbus_error_is_set(&err)) | 229 | if (dbus_error_is_set(&err)) |
228 | { | 230 | { |
231 | + trace("DBUS Connection Error (%s)", err.message); | ||
229 | obj->failed("DBUS Connection Error (%s)", err.message); | 232 | obj->failed("DBUS Connection Error (%s)", err.message); |
230 | dbus_error_free(&err); | 233 | dbus_error_free(&err); |
231 | return; | 234 | return; |
@@ -253,7 +256,27 @@ pw3270::ipc3270_session::ipc3270_session(uno_impl *obj, const char *name) throw( | @@ -253,7 +256,27 @@ pw3270::ipc3270_session::ipc3270_session(uno_impl *obj, const char *name) throw( | ||
253 | conn = NULL; | 256 | conn = NULL; |
254 | return; | 257 | return; |
255 | } | 258 | } |
259 | + else | ||
260 | + { | ||
261 | + DBusMessage * reply; | ||
262 | + DBusMessage * msg = create_message("getRevision"); | ||
263 | + DBusError error; | ||
264 | + | ||
265 | + dbus_error_init(&error); | ||
266 | + reply = dbus_connection_send_with_reply_and_block(conn,msg,10000,&error); | ||
267 | + dbus_message_unref(msg); | ||
256 | 268 | ||
269 | + if(reply) | ||
270 | + { | ||
271 | + log("%s","PW3270 DBus object found"); | ||
272 | + dbus_message_unref(reply); | ||
273 | + } | ||
274 | + else | ||
275 | + { | ||
276 | + obj->failed("DBUS error: %s",error.message); | ||
277 | + dbus_error_free(&error); | ||
278 | + } | ||
279 | + } | ||
257 | #else | 280 | #else |
258 | 281 | ||
259 | #endif // HAVE_DBUS | 282 | #endif // HAVE_DBUS |
src/oxt/testprogram.cxx
@@ -107,8 +107,19 @@ int SAL_CALL main(int argc, char **argv) | @@ -107,8 +107,19 @@ int SAL_CALL main(int argc, char **argv) | ||
107 | char buffer[4096]; | 107 | char buffer[4096]; |
108 | OString str; | 108 | OString str; |
109 | 109 | ||
110 | + try | ||
111 | + { | ||
112 | + | ||
110 | srv->setSession(OUString::createFromAscii("pw3270:a")); | 113 | srv->setSession(OUString::createFromAscii("pw3270:a")); |
111 | 114 | ||
115 | + } | ||
116 | + catch( RuntimeException & e ) | ||
117 | + { | ||
118 | + OString o = OUStringToOString( e.Message, RTL_TEXTENCODING_ASCII_US ); | ||
119 | + fprintf( stderr, "%s\n", o.pData->buffer ); | ||
120 | + exit(-1); | ||
121 | + } | ||
122 | + | ||
112 | printf("Revision:\t%d\n",srv->getRevision()); | 123 | printf("Revision:\t%d\n",srv->getRevision()); |
113 | 124 | ||
114 | srv->dsTrace(true); | 125 | srv->dsTrace(true); |