本文整理汇总了C++中corba::ORB_ptr::create_list方法的典型用法代码示例。如果您正苦于以下问题:C++ ORB_ptr::create_list方法的具体用法?C++ ORB_ptr::create_list怎么用?C++ ORB_ptr::create_list使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corba::ORB_ptr
的用法示例。
在下文中一共展示了ORB_ptr::create_list方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
void
TAO_IFR_Client_Adapter_Impl::create_operation_list (
CORBA::ORB_ptr orb,
CORBA::OperationDef_ptr opDef,
CORBA::NVList_ptr &result)
{
// Create an empty NVList.
orb->create_list (0, result);
// Get the parameters (if any) from the OperationDef, and for each
// parameter add a corresponding entry to the result.
CORBA::ParDescriptionSeq_var params = opDef->params ();
CORBA::ULong paramCount = params->length ();
for (CORBA::ULong i = 0; i < paramCount; ++i)
{
CORBA::Any value;
TAO::Unknown_IDL_Type *unk = 0;
ACE_NEW (unk,
TAO::Unknown_IDL_Type (params[i].type.in ()));
value.replace (unk);
// Convert the parameter mode to an arg mode
CORBA::Flags flags = 0;
switch(params[i].mode)
{
case CORBA::PARAM_IN:
flags = CORBA::ARG_IN;
break;
case CORBA::PARAM_OUT:
flags = CORBA::ARG_OUT;
break;
case CORBA::PARAM_INOUT:
flags = CORBA::ARG_INOUT;
break;
default:
// Shouldn't happen
throw ::CORBA::INTERNAL();
}
// Add an argument to the NVList.
result->add_value (params[i].name.in (), value, flags);
}
}