echoeventconsumer_i.cpp
来自「corbar RTEC_Federated」· C++ 代码 · 共 50 行
CPP
50 行
// EchoEventConsumer_i.cpp// Implements a PushConsumer.#include "EchoEventConsumer_i.h"// Constructor duplicates the ORB reference.EchoEventConsumer_i::EchoEventConsumer_i(CORBA::ORB_ptr orb, int event_limit) : orb_(CORBA::ORB::_duplicate(orb)) , event_limit_(event_limit){ // Nothing to do.}// Implement the push() operation.void EchoEventConsumer_i::push(const RtecEventComm::EventSet& events) throw(CORBA::SystemException){ // Loop through the events, looking for shutdown events. for (u_int i = 0; i < events.length (); ++i) { //ACE_OS::printf("."); // Extract event data from the any. const char* eventData; ostrstream out; out << "Received event," << " type: " << events[i].header.type << " source: " << events[i].header.source; if (events[i].data.any_value >>= eventData) { out << " text: " << eventData; } out << ends; ACE_OS::printf("%s\n", out.str()); // printf is synchronized } if (--event_limit_ <= 0) { orb_->shutdown(0); }}// Implement the disconnect_push_consumer() operation.void EchoEventConsumer_i::disconnect_push_consumer() throw(CORBA::SystemException){ // Deactivate this object. CORBA::Object_var obj = orb_->resolve_initial_references("POACurrent"); PortableServer::Current_var current = PortableServer::Current::_narrow(obj.in()); PortableServer::POA_var poa = current->get_POA(); PortableServer::ObjectId_var objectId = current->get_object_id(); poa->deactivate_object(objectId.in());}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?