Commit a4d94745cd55c1b8828e5cac8befa00a716ef5e7
1 parent
b011c6dc
Exists in
master
and in
5 other branches
Corrigindo erro na restauração de sessão.
Showing
2 changed files
with
12 additions
and
3 deletions
Show diff stats
src/libpw3270cpp/service.cc
| ... | ... | @@ -287,11 +287,12 @@ |
| 287 | 287 | if(*session != '?') |
| 288 | 288 | { |
| 289 | 289 | // Já tem sessão definida, usa. |
| 290 | - this->name = session; | |
| 291 | - int rc = getInteger("chkId"); | |
| 290 | + int rc = getInteger("chkId",DBUS_TYPE_STRING, &session, DBUS_TYPE_INVALID); | |
| 292 | 291 | if(rc) { |
| 293 | 292 | throw exception("%s",strerror(rc)); |
| 294 | 293 | } |
| 294 | + this->name = "service://"; | |
| 295 | + this->name += session; | |
| 295 | 296 | } |
| 296 | 297 | else |
| 297 | 298 | { | ... | ... |
src/libpw3270cpp/testprogram.cc
| ... | ... | @@ -46,9 +46,11 @@ |
| 46 | 46 | // session *session = session::start(""); |
| 47 | 47 | // session *session = session::start("new"); |
| 48 | 48 | |
| 49 | + string name = session->get_session_name(); | |
| 50 | + | |
| 49 | 51 | cout << "pw3270 version: " << session->get_version() << endl; |
| 50 | 52 | cout << "pw3270 revision: " << session->get_revision() << endl; |
| 51 | - cout << "pw3270 session: " << session->get_session_name() << endl << endl; | |
| 53 | + cout << "pw3270 session: " << name << endl << endl; | |
| 52 | 54 | |
| 53 | 55 | session->set_timeout(60); |
| 54 | 56 | session->set_autoclose(60); |
| ... | ... | @@ -77,9 +79,15 @@ |
| 77 | 79 | cout << "Conteúdo:" << endl << session->get_contents() << endl; |
| 78 | 80 | |
| 79 | 81 | session->disconnect(); |
| 82 | + | |
| 83 | + delete session; | |
| 84 | + | |
| 85 | + session = session::start(name.c_str()); | |
| 86 | + cout << "Restored session: " << name << endl << endl; | |
| 80 | 87 | session->close(); |
| 81 | 88 | |
| 82 | 89 | delete session; |
| 90 | + | |
| 83 | 91 | } |
| 84 | 92 | catch(std::exception &e) { |
| 85 | 93 | ... | ... |