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,11 +287,12 @@
287 if(*session != '?') 287 if(*session != '?')
288 { 288 {
289 // Já tem sessão definida, usa. 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 if(rc) { 291 if(rc) {
293 throw exception("%s",strerror(rc)); 292 throw exception("%s",strerror(rc));
294 } 293 }
  294 + this->name = "service://";
  295 + this->name += session;
295 } 296 }
296 else 297 else
297 { 298 {
src/libpw3270cpp/testprogram.cc
@@ -46,9 +46,11 @@ @@ -46,9 +46,11 @@
46 // session *session = session::start(""); 46 // session *session = session::start("");
47 // session *session = session::start("new"); 47 // session *session = session::start("new");
48 48
  49 + string name = session->get_session_name();
  50 +
49 cout << "pw3270 version: " << session->get_version() << endl; 51 cout << "pw3270 version: " << session->get_version() << endl;
50 cout << "pw3270 revision: " << session->get_revision() << endl; 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 session->set_timeout(60); 55 session->set_timeout(60);
54 session->set_autoclose(60); 56 session->set_autoclose(60);
@@ -77,9 +79,15 @@ @@ -77,9 +79,15 @@
77 cout << "Conteúdo:" << endl << session->get_contents() << endl; 79 cout << "Conteúdo:" << endl << session->get_contents() << endl;
78 80
79 session->disconnect(); 81 session->disconnect();
  82 +
  83 + delete session;
  84 +
  85 + session = session::start(name.c_str());
  86 + cout << "Restored session: " << name << endl << endl;
80 session->close(); 87 session->close();
81 88
82 delete session; 89 delete session;
  90 +
83 } 91 }
84 catch(std::exception &e) { 92 catch(std::exception &e) {
85 93