📄 costradingrepos.idl
字号:
/* -*- C++ -*- */
// ========================================================================
// CosTradingRepos.idl,v 1.2 1999/05/28 00:15:49 parsons Exp
//
// = FILENAME
// CosTradingRepos.idl
//
// = DESCRIPTION
// Trader Service v1.0 described in CORBAservices: Common Object
// Services Specification, chapter 16 OMG IDL for Trading Function
// Module, p 16-74
//
// ========================================================================
#ifndef TAO_TRADING_REPOS_IDL
#define TAO_TRADING_REPOS_IDL
#include <orb.idl>
#include "CosTrading.idl"
#pragma prefix "omg.org"
// OMG IDL for Service Type Repository Module, p 16-89
module CosTradingRepos
{
interface ServiceTypeRepository
{
// local types
typedef sequence<CosTrading::ServiceTypeName> ServiceTypeNameSeq;
enum PropertyMode {
PROP_NORMAL, PROP_READONLY,
PROP_MANDATORY, PROP_MANDATORY_READONLY
};
struct PropStruct
{
CosTrading::PropertyName name;
CORBA::TypeCode value_type;
PropertyMode mode;
};
typedef sequence<PropStruct> PropStructSeq;
typedef CosTrading::Istring Identifier; // IR::Identifier
struct IncarnationNumber
{
unsigned long high;
unsigned long low;
};
struct TypeStruct
{
Identifier if_name;
PropStructSeq props;
ServiceTypeNameSeq super_types;
boolean masked;
IncarnationNumber incarnation;
};
enum ListOption { all, since };
union SpecifiedServiceTypes switch ( ListOption ) {
case all: boolean all_;
case since: IncarnationNumber incarnation;
};
// local exceptions
exception ServiceTypeExists {
CosTrading::ServiceTypeName name;
};
exception InterfaceTypeMismatch {
CosTrading::ServiceTypeName base_service;
Identifier base_if;
CosTrading::ServiceTypeName derived_service;
Identifier derived_if;
};
exception HasSubTypes {
CosTrading::ServiceTypeName the_type;
CosTrading::ServiceTypeName sub_type;
};
exception AlreadyMasked {
CosTrading::ServiceTypeName name;
};
exception NotMasked {
CosTrading::ServiceTypeName name;
};
exception ValueTypeRedefinition {
CosTrading::ServiceTypeName type_1;
PropStruct definition_1;
CosTrading::ServiceTypeName type_2;
PropStruct definition_2;
};
exception DuplicateServiceTypeName {
CosTrading::ServiceTypeName name;
};
// attributes
readonly attribute IncarnationNumber incarnation;
// operation signatures
IncarnationNumber add_type (in CosTrading::ServiceTypeName name,
in Identifier if_name,
in PropStructSeq props,
in ServiceTypeNameSeq super_types)
raises (CosTrading::IllegalServiceType,
ServiceTypeExists,
InterfaceTypeMismatch,
CosTrading::IllegalPropertyName,
CosTrading::DuplicatePropertyName,
ValueTypeRedefinition,
CosTrading::UnknownServiceType,
DuplicateServiceTypeName);
void remove_type (in CosTrading::ServiceTypeName name)
raises (CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType,
HasSubTypes);
ServiceTypeNameSeq list_types (in SpecifiedServiceTypes which_types);
TypeStruct describe_type (in CosTrading::ServiceTypeName name)
raises (CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType);
TypeStruct fully_describe_type (in CosTrading::ServiceTypeName name)
raises (CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType);
void mask_type (in CosTrading::ServiceTypeName name)
raises (CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType,
AlreadyMasked);
void unmask_type (in CosTrading::ServiceTypeName name)
raises (CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType,
NotMasked);
};
}; /* end module CosTradingRepos */
module CosTradingSequences
{
typedef sequence<short> ShortSeq;
typedef sequence<unsigned short> UShortSeq;
typedef sequence<long> LongSeq;
typedef sequence<unsigned long> ULongSeq;
typedef sequence<boolean> BooleanSeq;
typedef sequence<float> FloatSeq;
typedef sequence<double> DoubleSeq;
typedef sequence<string> StringSeq;
};
#endif /* TAO_TRADING_REPOS_IDL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -