MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / SyncClient_i

Method SyncClient_i

performance-tests/DCPS/Sync/SyncClient_i.cpp:8–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include <string>
7
8SyncClient_i::SyncClient_i (const std::string& sync_server
9 , CORBA::ORB_ptr orb, Role role)
10 : shutdown_ (false), notification_ (false)
11{
12 try
13 {
14 if (CORBA::is_nil (orb))
15 {
16 // create new ORB
17 int argc = 2;
18 char* argv[] = {const_cast<char*>("-ORBDebuglevel"), const_cast<char*>("0")};
19 orb_ = CORBA::ORB_init (argc, argv, "SyncClient");
20 if (CORBA::is_nil (orb_.in())) {
21 throw InitError ("SyncClient_i::ctr> Orb init failed.");
22 }
23 }
24 else {
25 orb_ = CORBA::ORB::_duplicate (orb);
26 }
27
28 CORBA::Object_var poaObj = orb_->resolve_initial_references ("RootPOA");
29 root_poa_ = PortableServer::POA::_narrow (poaObj.in ());
30
31 poa_manager_ = root_poa_->the_POAManager ();
32 poa_manager_->activate ();
33
34 PortableServer::ObjectId_var oid = root_poa_->activate_object (this);
35 CORBA::Object_var obj = root_poa_->id_to_reference (oid);
36 sync_client_ = Sync::Client::_narrow (obj.in());
37
38 // activate task
39 if (this->activate (THR_NEW_LWP | THR_JOINABLE |THR_INHERIT_SCHED
40 , 1) != 0) {
41 throw InitError ("SyncClient_i::ctr> Task activation failed.");
42 }
43
44 std::string sync_srvr;
45 if (sync_server.empty()) {
46 //sync_srvr = "corbaloc:iiop:localhost:12345/SyncServer";
47 sync_srvr = "file://sync.ior";
48 }
49
50 obj = orb_->string_to_object (sync_srvr.c_str());
51 sync_server_ = ::Sync::Server::_narrow (obj.in());
52
53 if (role == Pub) {
54 //ACE_DEBUG ((LM_DEBUG, "(%P|%t) SyncClient_i> Registering self.\n"));
55 sync_server_->register_me (Sync::Pub, sync_client_.in(), my_id_);
56 //ACE_DEBUG ((LM_DEBUG, "(%P|%t) SyncClient_i> Registered self.\n"));
57 }
58 else if (role == Sub) {
59 sync_server_->register_me (Sync::Sub, sync_client_.in(), my_id_);
60 }
61 }
62 catch ( CORBA::Exception& ex) {
63 throw InitError (ex._info().c_str());
64 }
65}

Callers

nothing calls this directly

Calls 6

activateMethod · 0.80
string_to_objectMethod · 0.80
register_meMethod · 0.80
_infoMethod · 0.80
inMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected