From 47d182ccc37816481871f4317985f6585d68ca5c Mon Sep 17 00:00:00 2001 From: PerryWerneck Date: Sun, 5 Mar 2017 15:02:44 -0300 Subject: [PATCH] Incluindo métodos para definir timeout de sessão no serviço. --- src/include/pw3270cpp.h | 3 +++ src/libpw3270cpp/service.cc | 10 ++++++++++ src/libpw3270cpp/session.cc | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 0 deletions(-) diff --git a/src/include/pw3270cpp.h b/src/include/pw3270cpp.h index 255ae2e..bd1cabd 100644 --- a/src/include/pw3270cpp.h +++ b/src/include/pw3270cpp.h @@ -147,6 +147,9 @@ virtual string get_session_name(void) const; virtual int close(void); + virtual void set_timeout(time_t timeout); + virtual void set_autoclose(time_t timeout); + // Log management void log(const char *fmt, ...); void logva(const char *fmt, va_list args); diff --git a/src/libpw3270cpp/service.cc b/src/libpw3270cpp/service.cc index 86fdd97..c21f7a7 100644 --- a/src/libpw3270cpp/service.cc +++ b/src/libpw3270cpp/service.cc @@ -331,6 +331,16 @@ return getInteger("destroySession", DBUS_TYPE_STRING, &this->id, DBUS_TYPE_INVALID); } + void set_timeout(time_t timeout) { + dbus_int32_t val = (dbus_int32_t) timeout; + getInteger("setTimeout", DBUS_TYPE_STRING, &this->id, DBUS_TYPE_INT32, &val, DBUS_TYPE_INVALID); + } + + void set_autoclose(time_t timeout) { + dbus_int32_t val = (dbus_int32_t) timeout; + getInteger("setAutoClose", DBUS_TYPE_STRING, &this->id, DBUS_TYPE_INT32, &val, DBUS_TYPE_INVALID); + } + virtual LIB3270_CSTATE get_cstate(void) { return (LIB3270_CSTATE) getInteger("getConnectionState", DBUS_TYPE_STRING, &this->id, DBUS_TYPE_INVALID); diff --git a/src/libpw3270cpp/session.cc b/src/libpw3270cpp/session.cc index 2bba6d8..c9b51ab 100644 --- a/src/libpw3270cpp/session.cc +++ b/src/libpw3270cpp/session.cc @@ -709,6 +709,25 @@ int session::close(void) { return 0; } + + /** + * @brief Define após quantos segundos uma sessão IDLE será cancelada. + * + * @param timeout Nº de segundos a esperar em sessão inativa. + * + */ + void session::set_timeout(time_t timeout) { + } + + /** + * @brief Define após quantos segundos uma sessão offline será cancelada. + * + * @param timeout Nº de segundos a esperar em sessão offline. + * + */ + void session::set_autoclose(time_t timeout) { + } + } -- libgit2 0.21.2