📄 psdl_interface_visitor.cpp
字号:
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "static ::_TAO_" << this->interface_name_
<< "_Remote_Proxy_Broker remote_proxy_broker;"; ps_si->nl ();
*ps_si << "return &remote_proxy_broker;";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "_TAO_" << this->interface_name_
<< "_Remote_Proxy_Broker::_TAO_"
<< this->interface_name_ << "_Remote_Proxy_Broker (void)"; ps_si->nl ();
*ps_si << "{"; ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "_TAO_" << this->interface_name_
<< "_Remote_Proxy_Broker::~_TAO_"
<< this->interface_name_ << "_Remote_Proxy_Broker (void)"; ps_si->nl ();
*ps_si << "{"; ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "_TAO_" << this->interface_name_ << "_Proxy_Impl&"; ps_si->nl ();
*ps_si << "_TAO_" << this->interface_name_
<< "_Remote_Proxy_Broker::select_proxy (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "::" << this->interface_name_ << " *"; ps_si->nl ();
*ps_si << "ACE_ENV_ARG_DECL_NOT_USED"; ps_si->nl ();
*ps_si << ")";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "return this->remote_proxy_impl_;";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
ps_si->nl ();
*ps_si << "//"; ps_si->nl ();
*ps_si << "// End Remote & Base Proxy Broker Implementation"; ps_si->nl ();
*ps_si << "///////////////////////////////////////////////////////////////"; ps_si->nl ();
ps_si->nl ();
ps_si->nl ();
*ps_si << this->interface_name_ << "::"
<< this->interface_name_ << " (int collocated)"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "this->" << this->interface_name_
<< "_setup_collocation (collocated);";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << this->interface_name_ << "::~"
<< this->interface_name_ << " (void)"; ps_si->nl ();
*ps_si << "{}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "void"; ps_si->nl ();
*ps_si << this->interface_name_ << "::"
<< this->interface_name_
<< "_setup_collocation (int collocated)"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "if (collocated)";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "this->the_TAO_"
<< this->interface_name_ << "_Proxy_Broker_ =";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "::_TAO_" << this->interface_name_
<< "_Proxy_Broker_Factory_function_pointer (this);";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "else";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "this->the_TAO_"
<< this->interface_name_
<< "_Proxy_Broker_ =";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "::_TAO_" << this->interface_name_
<< "_Remote_Proxy_Broker::the_TAO_"
<< this->interface_name_
<< "_Remote_Proxy_Broker ();";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "void " << this->interface_name_
<< "::_tao_any_destructor (void *_tao_void_pointer)"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << this->interface_name_
<< " *tmp = ACE_static_cast ("
<< this->interface_name_ << "*, _tao_void_pointer);"; ps_si->nl ();
*ps_si << "CORBA::release (tmp);";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << this->interface_name_ << "_ptr "
<< this->interface_name_ << "::_narrow (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "CORBA::Object_ptr obj"; ps_si->nl ();
*ps_si << "ACE_ENV_ARG_DECL";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << ")";
ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "if (CORBA::is_nil (obj))";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "return " << this->interface_name_ << "::_nil ();";
ps_si->decr_indent (0);
ps_si->nl ();
ps_si->nl ();
*ps_si << "if (! obj->_is_local ())";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "CORBA::Boolean is_a = obj->_is_a (\"IDL:"
<< this->interface_name_ << ":1.0\" ACE_ENV_ARG_PARAMETER);";
ps_si->nl ();
*ps_si << "ACE_CHECK_RETURN (" << this->interface_name_ << "::_nil ());"; ps_si->nl ();
*ps_si << "if (is_a == 0)";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "return " << this->interface_name_ << "::_nil ();";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "return " << this->interface_name_
<< "::_unchecked_narrow (obj ACE_ENV_ARG_PARAMETER);";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << this->interface_name_ << "_ptr "; ps_si->nl ();
*ps_si << this->interface_name_ << "::_unchecked_narrow (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "CORBA::Object_ptr obj"; ps_si->nl ();
*ps_si << "ACE_ENV_ARG_DECL_NOT_USED"; ps_si->nl ();
*ps_si << ")";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "if (CORBA::is_nil (obj))";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "return " << this->interface_name_ << "::_nil ();";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "if (! obj->_is_local ())"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "TAO_Stub* stub = obj->_stubobj ();"; ps_si->nl ();
*ps_si << "if (stub)";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << " stub->_incr_refcnt ();";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << this->interface_name_ << "_ptr default_proxy = "
<< this->interface_name_ << "::_nil ();"; ps_si->nl ();
ps_si->nl ();
*ps_si << "if (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "!CORBA::is_nil (stub->servant_orb_var ().ptr ()) &&"; ps_si->nl ();
*ps_si << "stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects () &&"; ps_si->nl ();
*ps_si << "obj->_is_collocated () &&"; ps_si->nl ();
*ps_si << "_TAO_" << this->interface_name_
<< "_Proxy_Broker_Factory_function_pointer != 0"; ps_si->nl ();
*ps_si << ")";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << " {";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << " ACE_NEW_RETURN (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "default_proxy,"; ps_si->nl ();
*ps_si << "::" << this->interface_name_ << " (";
ps_si->incr_indent (0);
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "stub,"; ps_si->nl ();
*ps_si << "1,"; ps_si->nl ();
*ps_si << "obj->_servant ()"; ps_si->nl ();
*ps_si << "),";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << this->interface_name_ << "::_nil ()"; ps_si->nl ();
*ps_si << ");";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << " }";
ps_si->nl ();
ps_si->nl ();
*ps_si << "if (CORBA::is_nil (default_proxy))";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "ACE_NEW_RETURN (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "default_proxy,"; ps_si->nl ();
*ps_si << "::" << this->interface_name_ << " (";
ps_si->incr_indent (0);
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "stub,"; ps_si->nl ();
*ps_si << "0,"; ps_si->nl ();
*ps_si << "obj->_servant ()"; ps_si->nl ();
*ps_si << "),";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << this->interface_name_ << "::_nil ()"; ps_si->nl ();
*ps_si << ");";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << " }";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "return default_proxy;";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}"; ps_si->nl ();
*ps_si << "else";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "return";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "ACE_reinterpret_cast"; ps_si->nl ();
*ps_si << "(";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << this->interface_name_ << "_ptr,"; ps_si->nl ();
*ps_si << "obj->_tao_QueryInterface"; ps_si->nl ();
*ps_si << "(";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "ACE_reinterpret_cast"; ps_si->nl ();
*ps_si << "(";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "ptrdiff_t,"; ps_si->nl ();
*ps_si << "&" << this->interface_name_ << "::_tao_class_id";
ps_si->nl ();
*ps_si << ")";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << ")";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << " );";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << this->interface_name_ << "_ptr"; ps_si->nl ();
*ps_si << this->interface_name_ << "::_duplicate ("
<< this->interface_name_ << "_ptr obj)"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "if (!CORBA::is_nil (obj))";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "obj->_add_ref ();";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "return obj;";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "CORBA::Boolean " << this->interface_name_
<< "::_is_a (const CORBA::Char *value ACE_ENV_ARG_DECL)"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "if (";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "(!ACE_OS::strcmp ((char *)value, \"IDL:"
<< this->interface_name_ << ":1.0\")) ||"; ps_si->nl ();
*ps_si << "(!ACE_OS::strcmp ((char *)value,"
<< "\"IDL:omg.org/CORBA/Object:1.0\")))"; ps_si->nl ();
*ps_si << "return 1; // success using local knowledge";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "else";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "return this->Object::_is_a (value ACE_ENV_ARG_PARAMETER);";
ps_si->decr_indent (0);
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "}";
ps_si->nl ();
ps_si->nl ();
*ps_si << "void *" << this->interface_name_
<< "::_tao_QueryInterface (ptrdiff_t type)"; ps_si->nl ();
*ps_si << "{";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "void *retv = 0;"; ps_si->nl ();
*ps_si << "if (type == ACE_reinterpret_cast";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "(ptrdiff_t,"; ps_si->nl ();
*ps_si << "&" << this->interface_name_ << "::_tao_class_id))"; ps_si->nl ();
*ps_si << "retv = ACE_reinterpret_cast (void*, this);";
ps_si->decr_indent (0);
ps_si->nl ();
*ps_si << "else if (type == ACE_reinterpret_cast "
<< "(ptrdiff_t, &CORBA::Object::_tao_class_id))";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "retv = ACE_reinterpret_cast (void *,";
ps_si->incr_indent (0);
ps_si->nl ();
*ps_si << "ACE_static_cast (CORBA::Object_ptr, this));";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -