⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 set_properties.cc

📁 MICO2.3.13 corba 环境平台
💻 CC
字号:
#include <CORBA-SMALL.h>#include <coss/CosNaming.h>#include <coss/PropertyService.h>#include "bank.h"using namespace std;int main(int argc, char *argv []){  /*   * ORB initialization   */  CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "mico-local-orb");  /*   * Use the NameService to find the PropertyService Demon (propertyd);   */  CORBA::Object_var nobj =    orb->resolve_initial_references ("NameService");  assert (! CORBA::is_nil (nobj));    CosNaming::NamingContext_var nc = CosNaming::NamingContext::_narrow (nobj);  CosNaming::Name name;  name.length (1);  name[0].id = CORBA::string_dup ("PropertySetFactory");  name[0].kind = CORBA::string_dup ("");    CORBA::Object_var obj;#ifdef HAVE_EXCEPTIONS  try {    obj = nc->resolve (name);  } catch (...) {      cerr << "NameService raised exception!" << endl;      exit (1);  }#else  obj = nc->resolve (name);#endif  PropertyService::PropertySetFactory_var property_d =      PropertyService::PropertySetFactory::_narrow (obj);   /*   * Create PropertySet   */  PropertyService::PropertySet_var property_set =       property_d->create_propertyset ();  /*   * Define a single Property.   */  CORBA::Any a;  a <<= (const char *) "Bank of Cartoons";   property_set->define_property ("Company", a);  /*   * Define a set of Properties.    */  Bank::Account account1;  account1.first_name = (const char *) "Donald";  account1.name = (const char *) "Duck";  account1.balance = 150;  Bank::Account account2;  account2.first_name = (const char *) "Dagobert";  account2.name = (const char *) "Duck";  account2.balance = 25000;  PropertyService::Properties accounts (2);  accounts.length (2);  accounts[0].property_name = CORBA::string_dup ("Account 1");  accounts[0].property_value <<= account1;  accounts[1].property_name = CORBA::string_dup ("Account 2");  accounts[1].property_value <<= account2;   property_set->define_properties (accounts);  /*   * Register PropertySet   */  CosNaming::Name new_entry;  new_entry.length (1);  new_entry[0].id = CORBA::string_dup ("CartoonsPropertySet");  new_entry[0].kind = CORBA::string_dup ("");#ifdef HAVE_EXCEPTIONS  try {    nc->bind (new_entry, property_set);    } catch (...) {      cerr << "NameService raised exception!" << endl;      exit (1);  }#else  nc->bind (new_entry, property_set);  #endif  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -