ort_test_iorinterceptor.cpp
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C++ 代码 · 共 102 行
CPP
102 行
#include "ORT_test_IORInterceptor.h"
#include "ObjectReferenceFactory.h"
#include "tao/ORB_Constants.h"
ACE_RCSID (ORT,
ORT_test_IORInterceptor,
"ORT_test_IORInterceptor.cpp,v 1.9 2003/10/28 18:30:54 bala Exp")
ORT_test_IORInterceptor::ORT_test_IORInterceptor (void)
: establish_count_ (0),
components_establish_count_ (0)
{
}
char *
ORT_test_IORInterceptor::name (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
return CORBA::string_dup ("ORT_IORInterceptor");
}
void
ORT_test_IORInterceptor::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
ACE_ASSERT (this->establish_count_ > 0
&& this->components_establish_count_ > 0
&& this->establish_count_ == this->components_establish_count_);
}
void
ORT_test_IORInterceptor::establish_components (
PortableInterceptor::IORInfo_ptr /* info */
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
++this->establish_count_;
ACE_DEBUG ((LM_DEBUG,
"establish_components() has been invoked %d times\n",
this->establish_count_));
}
void
ORT_test_IORInterceptor::components_established (
PortableInterceptor::IORInfo_ptr info
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
{
++this->components_establish_count_;
ACE_DEBUG ((LM_DEBUG,
"components_established() has been invoked %d times\n",
this->establish_count_));
// Swap out the current ObjectReferenceFactory with our own.
// Save a copy of the current ObjectReferenceFactory.
PortableInterceptor::ObjectReferenceFactory_var old_orf =
info->current_factory (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
PortableInterceptor::ObjectReferenceFactory * tmp;
ACE_NEW_THROW_EX (tmp,
ObjectReferenceFactory (old_orf.in ()),
CORBA::NO_MEMORY (
CORBA::SystemException::_tao_minor_code (
TAO_DEFAULT_MINOR_CODE,
ENOMEM),
CORBA::COMPLETED_NO));
ACE_CHECK;
PortableInterceptor::ObjectReferenceFactory_var orf = tmp;
info->current_factory (orf.in ()
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
void
ORT_test_IORInterceptor::adapter_manager_state_changed (
PortableInterceptor::AdapterManagerId,
PortableInterceptor::AdapterState
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
ACE_DEBUG ((LM_DEBUG,
"The AdapterManager state has changed.\n"));
}
void
ORT_test_IORInterceptor:: adapter_state_changed (
const PortableInterceptor::ObjectReferenceTemplateSeq &,
PortableInterceptor::AdapterState
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?