4 * Created on: Jun 2, 2010
8 // A thread object used to server clients registered
9 // using the plpbus_orb::OrbServer::register() method.
12 #include "BusServer.hh"
13 #include "ServerEventThread.hh"
16 using namespace plpbus;
18 ServerEventThread::ServerEventThread(plpbus_orb::OrbClient_ptr client,
21 OrbServerImpl *server_obj) {
22 this->_orb_client = plpbus_orb::OrbClient::_duplicate(client);
24 this->_interval = period;
25 this->_server_obj = server_obj;
26 _orb_client->receive_event_message("event_listener_started");
29 void ServerEventThread::run(void* arg) {
31 while(_server_obj->is_shutdown_pending() == 0) {
32 omni_thread::sleep(_interval);
33 _orb_client->receive_event_message(_orb_msg);
37 log_error("server_thread failed, could not connect to client!\n");
39 log_debug("server_thread, closing\n");
40 if (_server_obj != NULL) {
41 _server_obj->server_thread_closed();