IDL source Global indexinterface ServiceTypeRepository
readonly attribute IncarnationNumber incarnation;
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);
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);
ServiceTypeNameSeq list_types(in SpecifiedServiceTypes which_types);
void mask_type(in CosTrading::ServiceTypeName name) raises(CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, AlreadyMasked);
void remove_type(in CosTrading::ServiceTypeName name) raises(CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, HasSubTypes);
void unmask_type(in CosTrading::ServiceTypeName name) raises(CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, NotMasked);
typedef CosTrading::Istring Identifier;
struct IncarnationNumber { unsigned long high; unsigned long low; };
enum ListOption { all, since };
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 sequence<CosTrading::ServiceTypeName> ServiceTypeNameSeq;
union SpecifiedServiceTypes switch (ListOption) { case 1: IncarnationNumber incarnation; }
struct TypeStruct { Identifier if_name; PropStructSeq props; ServiceTypeNameSeq super_types; boolean masked; IncarnationNumber incarnation; };
exception AlreadyMasked { CosTrading::ServiceTypeName name; };
exception DuplicateServiceTypeName { CosTrading::ServiceTypeName name; };
exception HasSubTypes { CosTrading::ServiceTypeName the_type; CosTrading::ServiceTypeName sub_type; };
exception InterfaceTypeMismatch { CosTrading::ServiceTypeName base_service; Identifier base_if; CosTrading::ServiceTypeName derived_service; Identifier derived_if; };
exception NotMasked { CosTrading::ServiceTypeName name; };
exception ServiceTypeExists { CosTrading::ServiceTypeName name; };
exception ValueTypeRedefinition { CosTrading::ServiceTypeName type_1; PropStruct definition_1; CosTrading::ServiceTypeName type_2; PropStruct definition_2; };