本文整理汇总了C++中corba::ORB_var::object_to_string方法的典型用法代码示例。如果您正苦于以下问题:C++ ORB_var::object_to_string方法的具体用法?C++ ORB_var::object_to_string怎么用?C++ ORB_var::object_to_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corba::ORB_var
的用法示例。
在下文中一共展示了ORB_var::object_to_string方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ACE_TMAIN
int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
try
{
long retryCount = 0;
const ACE_TCHAR *ior_arg = ACE_TEXT("manager.ior");
CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("r:o:"));
int c;
while ((c = get_opts ()) != -1)
{
switch (c)
{
case 'r':
retryCount = ACE_OS::atoi(get_opts.opt_arg());
break;
case 'o':
ior_arg = get_opts.opt_arg();
break;
case '?':
default:
cout << "Usage: " << argv[0] << " [-r retryCount]"
<< " [-o iorfile]" << endl;
break;
}
}
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj.in());
PortableServer::POAManager_var mgr = poa->the_POAManager();
Manager_i servant(retryCount);
PortableServer::ObjectId_var oid = poa->activate_object(&servant);
obj = poa->id_to_reference(oid.in());
{
CORBA::String_var ior = orb->object_to_string(obj.in());
ofstream iorFile(ACE_TEXT_ALWAYS_CHAR(ior_arg));
iorFile << ior.in() << endl;
}
cout << "IMR Test Manager activated (servers retry = " << retryCount << ")." << endl;
mgr->activate();
orb->run();
poa->destroy(1, 1);
orb->destroy();
return 0;
}
catch (const CORBA::Exception& ex)
{
cerr << "Manager: " << ex << endl;
}
return 1;
}
示例2: thread
int
ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
int result = 0;
try
{
ACE_DEBUG((LM_INFO,"(%P|%t) SERVER START\n"));
orb_ = CORBA::ORB_init (argc, argv);
CORBA::Object_var obj = orb_->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow (obj.in());
PortableServer::POAManager_var mgr = poa->the_POAManager ();
mgr->activate ();
ACE_DEBUG((LM_INFO,"(%P|%t) ORB initialized\n"));
Test_Idl_SharedIntf_i* intf_i = new Test_Idl_SharedIntf_i(orb_.in());
PortableServer::ServantBase_var base_var = intf_i;
PortableServer::ObjectId_var intfId_var =
poa->activate_object(base_var.in());
obj = poa->id_to_reference(intfId_var.in());
Test_Idl::SharedIntf_var intf_var = Test_Idl::SharedIntf::_narrow(obj.in());
CORBA::String_var intfString_var = orb_->object_to_string(intf_var.in());
// Output the IOR to the <ior_output_file>
FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
if (output_file == 0)
ACE_ERROR_RETURN ((LM_ERROR,
"Cannot open output file for writing IOR: %s\n",
ior_output_file),
1);
ACE_OS::fprintf (output_file, "%s", intfString_var.in ());
ACE_OS::fclose (output_file);
intf_i->set_upper (upper_ior);
// Running ORB in separate thread
Worker worker;
if (worker.activate () != 0)
ACE_ERROR_RETURN ((LM_ERROR,
"(%P|%t) %p\n", "Cannot activate server thread(s)"),
-1);
worker.thr_mgr()->wait ();
orb_->destroy();
}
catch (const CORBA::Exception& ex)
{
ex._tao_print_exception ("Error: Exception caught:");
}
ACE_OS::unlink (ior_output_file);
return result;
}
示例3: Messenger_i
int
ACE_TMAIN (int argc, ACE_TCHAR *argv [])
{
try
{
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
if (parse_args (argc, argv) != 0)
return 1;
// Find the Naming Service.
CORBA::Object_var rootObj = orb->resolve_initial_references("NameService");
CosNaming::NamingContext_var rootNC =
CosNaming::NamingContext::_narrow(rootObj.in());
// Get the Root POA.
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj.in());
// Activate POA manager
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
// Create our Messenger servant.
PortableServer::Servant_var<Messenger_i> messenger_servant =
new Messenger_i(orb.in());
// Register it with the RootPOA.
PortableServer::ObjectId_var oid =
poa->activate_object( messenger_servant.in() );
CORBA::Object_var messenger_obj = poa->id_to_reference( oid.in() );
// Bind it in the Naming Service.
CosNaming::Name name;
name.length (1);
name[0].id = CORBA::string_dup("MessengerService");
rootNC->rebind(name, messenger_obj.in());
CORBA::String_var str = orb->object_to_string (messenger_obj.in());
std::ofstream iorFile (ACE_TEXT_ALWAYS_CHAR(ior_output_file));
iorFile << str.in () << std::endl;
iorFile.close ();
std::cout << "IOR written to file " << ior_output_file << std::endl;
// Accept requests
orb->run();
orb->destroy();
}
catch(const CORBA::Exception& ex) {
std::cerr << ex << std::endl;
return 1;
}
return 0;
}
示例4: owner_transfer
int
main (int argc, char *argv[])
{
try {
CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "");
CORBA::Object_var poa_object = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var root_poa = PortableServer::POA::_narrow (poa_object.in ());
if (CORBA::is_nil (root_poa.in ()))
ACE_ERROR_RETURN ((LM_ERROR,
" (%N|%l) Panic: nil RootPOA\n"),
1);
PortableServer::POAManager_var poa_manager = root_poa->the_POAManager ();
Hello *hello_impl;
ACE_NEW_RETURN (hello_impl,
Hello (orb.in ()),
1);
PortableServer::ServantBase_var owner_transfer(hello_impl);
Test::Hello_var hello = hello_impl->_this ();
//
// Register the server object in the IOR table
//
// Turn the object reference into an IOR string
CORBA::String_var ior_string = orb->object_to_string(hello.in());
// Get a reference to the IOR Table and bind the hello object
CORBA::Object_var table_obj = orb->resolve_initial_references("IORTable");
IORTable::Table_var ior_table = IORTable::Table::_narrow(table_obj.in());
ior_table->bind(::Test::Hello::IOR_TABLE_KEY, ior_string.in());
poa_manager->activate ();
ACE_DEBUG ((LM_DEBUG, "(%N|%l) server - event loop beginning\n"));
orb->run ();
ACE_DEBUG ((LM_DEBUG, "(%N|%l) server - event loop finished\n"));
root_poa->destroy (1, 1);
orb->destroy ();
}
catch (const CORBA::Exception& ex) {
ex._tao_print_exception ("Exception caught:");
return 1;
}
return 0;
}
示例5: main
int main(int argc, char** argv)
{
try {
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "omniORB3");
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
HelloWorld_i* myhello = new HelloWorld_i();
PortableServer::ObjectId_var myhelloid = poa->activate_object(myhello);
obj = myhello->_this();
CORBA::String_var sior(orb->object_to_string(obj));
const char* myRef = argv[1];
ofstream out(myRef);
if(out.fail())
{
cerr << argv[0] << ": can't open `" << myRef << "': "
<< strerror(errno) << endl;
return EXIT_FAILURE;
}
out << sior << endl;
out.close();
myhello->_remove_ref();
PortableServer::POAManager_var pman = poa->the_POAManager();
pman->activate();
orb->run();
orb->destroy();
}
catch(CORBA::COMM_FAILURE& ex) {
cerr << "Caught system exception COMM_FAILURE -- unable to contact the "
<< "object." << endl;
}
catch(CORBA::SystemException&) {
cerr << "Caught CORBA::SystemException." << endl;
}
catch(CORBA::Exception&) {
cerr << "Caught CORBA::Exception." << endl;
}
catch(omniORB::fatalException& fe) {
cerr << "Caught omniORB::fatalException:" << endl;
cerr << " file: " << fe.file() << endl;
cerr << " line: " << fe.line() << endl;
cerr << " mesg: " << fe.errmsg() << endl;
}
catch(...) {
cerr << "Caught unknown exception." << endl;
}
return 0;
}
示例6:
CORBA::Boolean
Foo_Impl::match_references ()
{
CORBA::Object_var o = _this ();
CORBA::ORB_var orb = o->_get_orb ();
CORBA::String_var ior_from_upcall = orb->object_to_string (o.in());
CORBA::Boolean r1 = equal_func (this->ior_from_main_.in(), ior_from_upcall.in());
return r1;
}
示例7:
char *
Task::locate (const char *)
{
CORBA::Object_var fwdObj = orb_->string_to_object(anotherIOR);
CORBA::String_var fwdString = orb_->object_to_string(fwdObj.in ());
ACE_DEBUG ((LM_DEBUG,
"IN LOCATOR! Forwarding client to: %C\n",
fwdString.in ()));
return fwdString._retn();
}
示例8: ACE_TMAIN
int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
try {
// Initialize the ORB.
CORBA::ORB_var orb = CORBA::ORB_init( argc, argv );
//Get reference to the RootPOA.
CORBA::Object_var obj = orb->resolve_initial_references( "RootPOA" );
PortableServer::POA_var poa = PortableServer::POA::_narrow( obj.in() );
// Activate the POAManager.
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
if (parse_args (argc, argv) != 0)
return 1;
// Create a servant.
PortableServer::Servant_var<Messenger_i> messenger_servant = new Messenger_i;
// Register the servant with the RootPOA, obtain its object
// reference, stringify it, and write it to a file.
PortableServer::ObjectId_var oid =
poa->activate_object( messenger_servant.in() );
CORBA::Object_var messenger_obj = poa->id_to_reference( oid.in() );
CORBA::String_var str = orb->object_to_string( messenger_obj.in() );
std::ofstream iorFile(ACE_TEXT_ALWAYS_CHAR (ior_output_file));
iorFile << str.in() << std::endl;
iorFile.close();
std::cout << "IOR written to file " <<
ACE_TEXT_ALWAYS_CHAR (ior_output_file) << std::endl;
// 3. Create and activate threads for the thread pool.
ORB_Task task (orb.in());
int retval = task.activate (THR_NEW_LWP | THR_JOINABLE, nthreads);
if (retval != 0) {
std::cerr << "Failed to activate " << nthreads << " threads." << std::endl;
return 1;
}
// 4. Wait for threads to finish.
task.wait();
// Clean up.
orb->destroy();
}
catch(const CORBA::Exception& ex) {
std::cerr << "CORBA exception: " << ex << std::endl;
return 1;
}
return 0;
}
示例9: catch
int
ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
try {
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init (argc, argv);
// Get reference to Root POA.
CORBA::Object_var obj
= orb->resolve_initial_references ("RootPOA");
PortableServer::POA_var poa
= PortableServer::POA::_narrow (obj.in ());
// Activate POA manager
PortableServer::POAManager_var mgr
= poa->the_POAManager ();
mgr->activate ();
// Create a controller and set static m_ctrl member
// for thermostats and thermometers.
Controller_impl ctrl_servant;
Thermometer_impl::m_ctrl = &ctrl_servant;
// Write controller stringified reference to stdout
CCS::Controller_var ctrl = ctrl_servant._this ();
CORBA::String_var str = orb->object_to_string (ctrl.in ());
std::cout << str.in () << std::endl << std::endl;
// Create a few devices. (Thermometers have odd asset
// numbers, thermostats have even asset numbers.)
Thermometer_impl thermo1 (2029, "Deep Thought");
Thermometer_impl thermo2 (8053, "HAL");
Thermometer_impl thermo3 (1027, "ENIAC");
Thermostat_impl tmstat1 (3032, "Colossus", 68);
Thermostat_impl tmstat2 (4026, "ENIAC", 60);
Thermostat_impl tmstat3 (4088, "ENIAC", 50);
Thermostat_impl tmstat4 (8042, "HAL", 40);
// Accept requests
orb->run ();
}
catch (const CORBA::Exception & e) {
std::cerr << "Uncaught CORBA exception: "
<< e
<< std::endl;
return 1;
}
catch (...) {
assert (0); // Unexpected exception, dump core
}
return 0;
}
示例10: catch
int
ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
try
{
CORBA::ORB_var orb =
CORBA::ORB_init (argc, argv);
CORBA::Object_var poa_object =
orb->resolve_initial_references("RootPOA");
PortableServer::POA_var root_poa =
PortableServer::POA::_narrow (poa_object.in ());
if (CORBA::is_nil (root_poa.in ()))
ACE_ERROR_RETURN ((LM_ERROR,
" (%P|%t) Panic: nil RootPOA\n"),
1);
if (parse_args (argc, argv) != 0)
return 1;
Test::Hello_var hello = prepare_tests (orb.in (), root_poa.in ());
CORBA::String_var ior = orb->object_to_string (hello.in ());
// Output the IOR to the <ior_output_file>
FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
if (output_file == 0)
ACE_ERROR_RETURN ((LM_ERROR,
"Cannot open output file for writing IOR: %s\n",
ior_output_file),
1);
ACE_OS::fprintf (output_file, "%s", ior.in ());
ACE_OS::fclose (output_file);
orb->run ();
ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
root_poa->destroy (1, 1);
orb->destroy ();
}
catch (const CORBA::Exception& ex)
{
ex._tao_print_exception ("Exception caught:");
return 1;
}
return 0;
}
示例11: iorFile
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
try {
PortableInterceptor::ORBInitializer_var orb_initializer =
new ServerInitializer;
PortableInterceptor::register_orb_initializer (orb_initializer.in ());
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init( argc, argv );
if (parse_args (argc, argv) != 0)
return 1;
//Get reference to Root POA
CORBA::Object_var obj = orb->resolve_initial_references( "RootPOA" );
PortableServer::POA_var poa = PortableServer::POA::_narrow( obj.in() );
// Activate POA Manager
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
// Create an object
PortableServer::Servant_var<Messenger_i> messenger_servant = new Messenger_i;
// Register the servant with the RootPOA, obtain its object
// reference, stringify it, and write it to a file.
PortableServer::ObjectId_var oid =
poa->activate_object( messenger_servant.in() );
CORBA::Object_var messenger_obj = poa->id_to_reference( oid.in() );
CORBA::String_var str = orb->object_to_string( messenger_obj.in() );
std::ofstream iorFile( ACE_TEXT_ALWAYS_CHAR(ior_output_file) );
iorFile << str.in() << std::endl;
iorFile.close();
std::cout << "IOR written to file " << ACE_TEXT_ALWAYS_CHAR(ior_output_file) << std::endl;
// Accept requests
orb->run();
orb->destroy();
}
catch(const CORBA::Exception& ex)
{
std::cerr << "Exception in MessengerServer: " << ex << std::endl;
return 1;
}
return 0;
}
示例12: main
int main (int argc, char *argv[])
{
try
{
// Initialize orb
printf("orb init\n");
CORBA::ORB_var orb = CORBA::ORB_init (argc, (char**)argv);
// Get reference to Root POA.
printf("resolve_initial_references\n");
CORBA::Object_var obj = orb->resolve_initial_references ("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow (obj.in ());
// Activate POA manager
PortableServer::POAManager_var mgr = poa->the_POAManager ();
mgr->activate();
// Create an object
HelloWorld_impl HelloWorld_servant;
// Write its stringified reference to stdout
perf::jitter::HelloWorld_var myInterface = HelloWorld_servant._this ();
CORBA::String_var str = orb->object_to_string (myInterface.in ());
FILE* outFile = fopen("ior.txt", "w");
if (outFile == NULL)
{
printf("Error: Cannot open IOR file for writing\n");
}
else
{
if (fprintf(outFile, "%s\n", str.in ()) <= 0)
{
printf("Error: Could not write IOR string to file\n");
}
fclose(outFile);
printf("Listening for CORBA requests...\n");
orb->run();
}
}
catch (const CORBA::Exception &)
{
printf("Uncaught CORBA exception");
}
return 0;
}
示例13: ACE_TMAIN
//int testClient (char* orbName, char* ior)
int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
try
{
CORBA::ORB_var orb =
CORBA::ORB_init (argc,
argv,
"ORB_Test_Client");
if (parse_args (argc, argv) != 0)
return 1;
CORBA::Object_var object =
orb->string_to_object (ior);
Simple_Server_var server =
Simple_Server::_narrow (object.in ());
if (CORBA::is_nil (server.in ()))
{
ACE_ERROR_RETURN ((LM_ERROR,
"Object reference <%s> is nil.\n",
ior),
1);
}
CORBA::String_var string =
orb->object_to_string (server.in ());
ACE_DEBUG ((LM_DEBUG,
"Client: orb->object_to_string: <%C>\n",
string.in ()));
Client client (server.in (), niter);
client.svc ();
//ACE_DEBUG ((LM_DEBUG, "threads finished\n"));
orb->destroy ();
}
catch (const CORBA::Exception& ex)
{
ex._tao_print_exception ("Caught exception:");
return 1;
}
return 0;
}
示例14: messenger_servant
int
ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
try {
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init( argc, argv );
if (parse_args (argc, argv) != 0)
return 1;
//Get reference to Root POA
CORBA::Object_var obj = orb->resolve_initial_references( "RootPOA" );
PortableServer::POA_var poa = PortableServer::POA::_narrow( obj.in() );
// Activate POA Manager
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
// Create an object
Messenger_i messenger_servant (orb.in ());
// Register the servant with the RootPOA, obtain its object
// reference, stringify it, and write it to a file.
PortableServer::ObjectId_var oid =
poa->activate_object( &messenger_servant );
CORBA::Object_var messenger_obj = poa->id_to_reference( oid.in() );
CORBA::String_var str = orb->object_to_string( messenger_obj.in() );
FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
if (output_file == 0)
ACE_ERROR_RETURN ((LM_ERROR,
"Cannot open output file for writing IOR: %s\n",
ior_output_file),
1);
ACE_OS::fprintf (output_file, "%s", str.in ());
ACE_OS::fclose (output_file);
// Accept requests
orb->run();
orb->destroy();
}
catch( const CORBA::Exception & ex)
{
ex._tao_print_exception ("Caught CORBA exception: ");
return 1;
}
return 0;
}
示例15: catch
ACE_CString
TAO_Notify_PushConsumer::get_ior (void) const
{
ACE_CString result;
CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb();
try
{
CORBA::String_var ior = orb->object_to_string(this->push_consumer_.in());
result = static_cast<const char*> (ior.in ());
}
catch (const CORBA::Exception&)
{
result.fast_clear();
}
return result;
}