Commit 3dff46b8e9d4367acd4381709e267eb25d7bf99b

Authored by Perry Werneck
1 parent 9c22cccf

Implementando novo módulo de serviço.

src/include/pw3270cpp.h
@@ -144,6 +144,8 @@ @@ -144,6 +144,8 @@
144 static bool has_default(void); 144 static bool has_default(void);
145 static void set_plugin(session * (*factory)(const char *name)); 145 static void set_plugin(session * (*factory)(const char *name));
146 146
  147 + virtual string get_session_name(void) const;
  148 +
147 // Log management 149 // Log management
148 void log(const char *fmt, ...); 150 void log(const char *fmt, ...);
149 void logva(const char *fmt, va_list args); 151 void logva(const char *fmt, va_list args);
src/libpw3270cpp/service.cc
@@ -266,7 +266,11 @@ @@ -266,7 +266,11 @@
266 DBusError err; 266 DBusError err;
267 267
268 dbus_error_init(&err); 268 dbus_error_init(&err);
  269 +#ifdef DEBUG
269 conn = dbus_bus_get(DBUS_BUS_SESSION, &err); 270 conn = dbus_bus_get(DBUS_BUS_SESSION, &err);
  271 +#else
  272 + conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
  273 +#endif
270 274
271 if(dbus_error_is_set(&err)) 275 if(dbus_error_is_set(&err))
272 { 276 {
@@ -305,6 +309,13 @@ @@ -305,6 +309,13 @@
305 309
306 } 310 }
307 311
  312 + virtual string get_session_name(void) const
  313 + {
  314 + string rc = "service://";
  315 + rc += this->name;
  316 + return rc;
  317 + }
  318 +
308 virtual bool is_connected(void) 319 virtual bool is_connected(void)
309 { 320 {
310 return getInteger("isConnected", DBUS_TYPE_STRING, &this->id, DBUS_TYPE_INVALID); 321 return getInteger("isConnected", DBUS_TYPE_STRING, &this->id, DBUS_TYPE_INVALID);
src/libpw3270cpp/session.cc
@@ -692,7 +692,8 @@ @@ -692,7 +692,8 @@
692 int rows = get_height(); 692 int rows = get_height();
693 int cols = get_width(); 693 int cols = get_width();
694 694
695 - for(int r = 0; r < rows; r++) { 695 + for(int r = 0; r < rows; r++)
  696 + {
696 rc += get_string_at(r+1,0,cols).c_str(); 697 rc += get_string_at(r+1,0,cols).c_str();
697 rc += "\n"; 698 rc += "\n";
698 } 699 }
@@ -700,6 +701,10 @@ @@ -700,6 +701,10 @@
700 return rc; 701 return rc;
701 } 702 }
702 703
  704 + string session::get_session_name(void) const
  705 + {
  706 + return string();
  707 + }
703 708
704 } 709 }
705 710
src/libpw3270cpp/testprogram.cc
@@ -47,7 +47,8 @@ @@ -47,7 +47,8 @@
47 // session *session = session::start("new"); 47 // session *session = session::start("new");
48 48
49 cout << "pw3270 version: " << session->get_version() << endl; 49 cout << "pw3270 version: " << session->get_version() << endl;
50 - cout << "pw3270 revision: " << session->get_revision() << endl << endl; 50 + cout << "pw3270 revision: " << session->get_revision() << endl;
  51 + cout << "pw3270 session: " << session->get_session_name() << endl << endl;
51 52
52 if(session->is_connected()) 53 if(session->is_connected())
53 cout << "\tConnected to host" << endl; 54 cout << "\tConnected to host" << endl;