typecodefactory.pidl
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· PIDL 代码 · 共 187 行
PIDL
187 行
//
// TypeCodeFactory.pidl,v 1.5 2003/10/28 18:29:34 bala Exp
//
// ================================================================
//
// = LIBRARY
// TAO/tao/TypeCodeFactory
//
// = FILENAME
// TypeCodeFactory.pidl
//
// = DESCRIPTION
// This file was used to generate the code in TypeCodeFactoryC.{h,i,cpp}.
// It was originally part of Interface.idl, but since the TypeCodeFactory
// has been made into a separate library, and the TypeCodeFactory interface
// has been made local, it is simpler to generate the necessary stub
// code in TypeCodeFactoryC.* by splitting Interface.idl into two
// parts.
//
// 1. Patch this pidl file with
//
// patch < diffs/TypeCodeFactory.pidl.diff
//
// This will remove the CORBA module, rename most types foo
// declared in it as CORBA_foo, unalias the simple typedefs
// which don't have a CORBA_ analog in corbafwd.h.
//
// 2. Generate the code. The command used to generate code from this
// IDL file is:
//
// tao_idl -o orig -Ge 1 -GT -I../.. -ci "C.inl" \
// -Wb,export_macro=TAO_TypeCodeFactory_Export \
// -Wb,export_include=typecodefactory_export.h \
// -Wb,pre_include="ace/pre.h" \
// -Wb,post_include="ace/post.h" \
// TypeCodeFactory.pidl
//
// 3. Copy the generated files to the current directory.
//
// 4. Patch the generated files, using
//
// patch < diffs/TypeCodeFactoryC.h.diff
// patch < diffs/TypeCodeFactoryC.i.diff
// patch < diffs/TypeCodeFactoryC.cpp.diff
//
// If this fails for some reason, the files must be patched
// by hand, and the diff files regenerated with
//
// diff -wbu orig/TypeCodeFactoryC.h TypeCodeFactoryC.h > diffs/TypeCodeFactoryC.h.diff
// diff -wbu orig/TypeCodeFactoryC.i TypeCodeFactoryC.i > diffs/TypeCodeFactoryC.i.diff
// diff -wbu orig/TypeCodeFactoryC.cpp TypeCodeFactoryC.cpp > diffs/TypeCodeFactoryC.cpp.diff
//
// 5. Restore TypeCodeFactory.pidl.
//
// ================================================================
#ifndef _TYPECODEFACTORY_IDL_
#define _TYPECODEFACTORY_IDL_
#include "tao/IFR_Client/IFR_Extended.pidl"
#pragma prefix "omg.org"
module CORBA
{
// These are pulled in from #includes.
/*
typedef string Identifier;
typedef string RepositoryId;
typedef short ValueModifier;
*/
local interface TypeCodeFactory
{
TypeCode create_struct_tc (
in RepositoryId id,
in Identifier name,
in StructMemberSeq members
);
TypeCode create_union_tc (
in RepositoryId id,
in Identifier name,
in TypeCode discriminator_type,
in UnionMemberSeq members
);
TypeCode create_enum_tc (
in RepositoryId id,
in Identifier name,
in EnumMemberSeq members
);
TypeCode create_alias_tc (
in RepositoryId id,
in Identifier name,
in TypeCode original_type
);
TypeCode create_exception_tc (
in RepositoryId id,
in Identifier name,
in StructMemberSeq members
);
TypeCode create_interface_tc (
in RepositoryId id,
in Identifier name
);
TypeCode create_string_tc (
in unsigned long bound
);
TypeCode create_wstring_tc (
in unsigned long bound
);
TypeCode create_fixed_tc (
in unsigned short digits,
in unsigned short scale
);
TypeCode create_sequence_tc (
in unsigned long bound,
in TypeCode element_type
);
TypeCode create_array_tc (
in unsigned long length,
in TypeCode element_type
);
TypeCode create_value_tc (
in RepositoryId id,
in Identifier name,
in ValueModifier type_modifier,
in TypeCode concrete_base,
in ValueMemberSeq members
);
TypeCode create_value_box_tc (
in RepositoryId id,
in Identifier name,
in TypeCode boxed_type
);
TypeCode create_native_tc (
in RepositoryId id,
in Identifier name
);
TypeCode create_recursive_tc (
in RepositoryId id
);
TypeCode create_abstract_interface_tc (
in RepositoryId id,
in Identifier name
);
TypeCode create_local_interface_tc (
in RepositoryId id,
in Identifier name
);
TypeCode create_component_tc (
in RepositoryId id,
in Identifier name
);
TypeCode create_home_tc (
in RepositoryId id,
in Identifier name
);
TypeCode create_event_tc (
in RepositoryId id,
in Identifier name,
in ValueModifier type_modifier,
in TypeCode concrete_base,
in ValueMemberSeq members
);
};
};
#endif // _TYPECODEFACTORY_IDL_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?