ifr_extended.pidl
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· PIDL 代码 · 共 225 行
PIDL
225 行
//
// IFR_Extended.pidl,v 1.4 2003/04/22 20:50:03 bala Exp
//
// ================================================================
//
// = LIBRARY
// TAO_IFR_Client
//
// = FILENAME
// IFR_Extended.pidl
//
// = DESCRIPTION
// This file was used to generate the code in IFR_ExtendedC.{h,i,cpp}.
// The original file Interface.idl was split into four pieces, to
// keep the generated files to a manageable size and reduce build
// time. This IDL file contains all the interfaces and other data
// types related to fixed types and valuetypes.
//
// The command used to generate code from this IDL file is:
//
// tao_idl -Ge 1 -I.. \
// -Wb,export_macro=TAO_IFR_Client_Export \
// -Wb,export_include=ifr_client_export.h \
// -Wb,pre_include="ace/pre.h" \
// -Wb,post_include="ace/post.h" \
// IFR_ExtendedC.pidl
//
// Only the stub files are used in the TAO_IFR_Client library. The
// skeleton files can be deleted from this directory.
//
// No patching of the generated stub files is necessary.
//
// To generate the skeleton files for the IFR Service, the command is:
//
// tao_idl -o ../../orbsvcs/orbsvcs/IFRService -Ge 1 \
// -Wb,pre_include="ace/pre.h" \
// -Wb,post_include="ace/post.h" \
// IFR_ExtendedC.pidl
//
// The only modification necessary to the skelton files is to
// change
//
// #include "IFR_ExtendedC.h"
//
// to
//
// #include "tao/IFR_Client/IFR_ExtendedC.h"
//
// in IFR_ExtendedS.h. The stub files may be deleted from the IFRService
// directory.
//
// ================================================================
#ifndef _IFR_EXTENDED_IDL_
#define _IFR_EXTENDED_IDL_
#include "IFR_Basic.pidl"
module CORBA
{
typeprefix CORBA "omg.org";
// Already defined in corbafwd.h, included from orb.idl.
/*
typedef short ValueModifier;
const ValueModifier VM_NONE = 0;
const ValueModifier VM_CUSTOM = 1;
const ValueModifier VM_ABSTRACT = 2;
const ValueModifier VM_TRUNCATABLE = 3;
typedef short Visibility;
const Visibility PRIVATE_MEMBER = 0;
const Visibility PUBLIC_MEMBER = 1;
*/
interface FixedDef : IDLType
{
attribute unsigned short digits;
attribute short scale;
};
struct ValueMember
{
Identifier name;
RepositoryId id;
RepositoryId defined_in;
VersionSpec version;
TypeCode type;
IDLType type_def;
Visibility access;
};
typedef sequence <ValueMember> ValueMemberSeq;
interface ValueMemberDef : Contained
{
readonly attribute TypeCode type;
attribute IDLType type_def;
attribute Visibility access;
};
interface ValueDef : Container,
Contained,
IDLType
{
// read/write interface
attribute InterfaceDefSeq supported_interfaces;
attribute InitializerSeq initializers;
attribute ValueDef base_value;
attribute ValueDefSeq abstract_base_values;
// read interface
attribute boolean is_abstract;
attribute boolean is_custom;
attribute boolean is_truncatable;
boolean is_a (
in RepositoryId id
);
struct FullValueDescription
{
Identifier name;
RepositoryId id;
boolean is_abstract;
boolean is_custom;
RepositoryId defined_in;
VersionSpec version;
OpDescriptionSeq operations;
AttrDescriptionSeq attributes;
ValueMemberSeq members;
InitializerSeq initializers;
RepositoryIdSeq supported_interfaces;
RepositoryIdSeq abstract_base_values;
boolean is_truncatable;
RepositoryId base_value;
TypeCode type;
};
FullValueDescription describe_value ();
ValueMemberDef create_value_member (
in RepositoryId id,
in Identifier name,
in VersionSpec version,
in IDLType type,
in Visibility access
);
AttributeDef create_attribute (
in RepositoryId id,
in Identifier name,
in VersionSpec version,
in IDLType type,
in AttributeMode mode
);
OperationDef create_operation (
in RepositoryId id,
in Identifier name,
in VersionSpec version,
in IDLType result,
in OperationMode mode,
in ParDescriptionSeq params,
in ExceptionDefSeq exceptions,
in ContextIdSeq contexts
);
};
struct ValueDescription
{
Identifier name;
RepositoryId id;
boolean is_abstract;
boolean is_custom;
RepositoryId defined_in;
VersionSpec version;
RepositoryIdSeq supported_interfaces;
RepositoryIdSeq abstract_base_values;
boolean is_truncatable;
RepositoryId base_value;
};
interface ExtValueDef : ValueDef
{
// read/write interface
attribute ExtInitializerSeq ext_initializers;
// read interface
struct ExtFullValueDescription
{
Identifier name;
RepositoryId id;
boolean is_abstract;
boolean is_custom;
RepositoryId defined_in;
VersionSpec version;
OpDescriptionSeq operations;
ExtAttrDescriptionSeq attributes;
ValueMemberSeq members;
ExtInitializerSeq initializers;
RepositoryIdSeq supported_interfaces;
RepositoryIdSeq abstract_base_values;
boolean is_truncatable;
RepositoryId base_value;
TypeCode type;
};
ExtFullValueDescription describe_ext_value ();
// write interface
ExtAttributeDef create_ext_attribute (
in RepositoryId id,
in Identifier name,
in VersionSpec version,
in IDLType type,
in AttributeMode mode,
in ExceptionDefSeq get_exceptions,
in ExceptionDefSeq set_exceptions
);
};
interface ValueBoxDef : TypedefDef
{
attribute IDLType original_type_def;
};
};
#endif /* _IFR_EXTENDED_IDL_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?