Commit a4d94745cd55c1b8828e5cac8befa00a716ef5e7

Authored by Perry Werneck
1 parent b011c6dc

Corrigindo erro na restauração de sessão.

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  
... ...