|
Public Methods |
| TAO_Service_Type_Repository (ACE_Lock *lock=0) |
| ~TAO_Service_Type_Repository (void) |
virtual CosTradingRepos::ServiceTypeRepository::IncarnationNumber | incarnation (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) throw (CORBA::SystemException) |
virtual CosTradingRepos::ServiceTypeRepository::IncarnationNumber | add_type (const char *name, const char *if_name, const CosTradingRepos::ServiceTypeRepository::PropStructSeq &props, const CosTradingRepos::ServiceTypeRepository::ServiceTypeNameSeq &super_types ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTradingRepos::ServiceTypeRepository::ServiceTypeExists, CosTradingRepos::ServiceTypeRepository::InterfaceTypeMismatch, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTradingRepos::ServiceTypeRepository::ValueTypeRedefinition, CosTrading::UnknownServiceType, CosTradingRepos::ServiceTypeRepository::DuplicateServiceTypeName) |
virtual void | remove_type (const char *name ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTradingRepos::ServiceTypeRepository::HasSubTypes) |
virtual CosTradingRepos::ServiceTypeRepository::ServiceTypeNameSeq * | list_types (const CosTradingRepos::ServiceTypeRepository::SpecifiedServiceTypes &which_types ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException) |
virtual CosTradingRepos::ServiceTypeRepository::TypeStruct * | describe_type (const char *name ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType) |
virtual CosTradingRepos::ServiceTypeRepository::TypeStruct * | fully_describe_type (const char *name ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType) |
virtual void | mask_type (const char *name ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTradingRepos::ServiceTypeRepository::AlreadyMasked) |
virtual void | unmask_type (const char *name ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTradingRepos::ServiceTypeRepository::NotMasked) |
Private Types |
typedef ACE_Hash_Map_Manager_Ex<
TAO_String_Hash_Key, CosTradingRepos::ServiceTypeRepository::PropStruct *,
ACE_Hash< TAO_String_Hash_Key >,
ACE_Equal_To< TAO_String_Hash_Key >,
ACE_Null_Mutex > | Prop_Map |
typedef ACE_Hash_Map_Manager_Ex<
TAO_String_Hash_Key, Type_Info *,
ACE_Hash< TAO_String_Hash_Key >,
ACE_Equal_To< TAO_String_Hash_Key >,
ACE_Null_Mutex > | Service_Type_Map |
typedef ACE_Hash_Map_Iterator_Ex<
TAO_String_Hash_Key, Type_Info *,
ACE_Hash< TAO_String_Hash_Key >,
ACE_Equal_To< TAO_String_Hash_Key >,
ACE_Null_Mutex > | Service_Type_Map_Iterator |
Private Methods |
void | fully_describe_type_i (const CosTradingRepos::ServiceTypeRepository::TypeStruct &type_struct, CosTradingRepos::ServiceTypeRepository::PropStructSeq &props, CosTradingRepos::ServiceTypeRepository::ServiceTypeNameSeq &super_types) |
void | collect_inheritance_hierarchy (const CosTradingRepos::ServiceTypeRepository::TypeStruct &type_struct, TAO_String_Queue &target) |
void | validate_properties (Prop_Map &prop_map, const CosTradingRepos::ServiceTypeRepository::PropStructSeq &props ACE_ENV_ARG_DECL_NOT_USED) throw (CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName) |
void | validate_supertypes (Service_Type_Map &super_map, const CosTradingRepos::ServiceTypeRepository::ServiceTypeNameSeq &super_types ACE_ENV_ARG_DECL_NOT_USED) throw (CosTrading::IllegalServiceType, CosTrading::UnknownServiceType, CosTradingRepos::ServiceTypeRepository::DuplicateServiceTypeName) |
| Confirm that the each super type exists, and cram them into super_map.
|
void | validate_inheritance (Prop_Map &prop_map, const CosTradingRepos::ServiceTypeRepository::ServiceTypeNameSeq &super_types ACE_ENV_ARG_DECL_NOT_USED) throw (CosTradingRepos::ServiceTypeRepository::ValueTypeRedefinition) |
void | update_type_map (const char *name, const char *if_name, const CosTradingRepos::ServiceTypeRepository::PropStructSeq &props, const CosTradingRepos::ServiceTypeRepository::ServiceTypeNameSeq &super_types, Prop_Map &prop_map, Service_Type_Map &super_map) |
| TAO_Service_Type_Repository (const TAO_Service_Type_Repository &) |
TAO_Service_Type_Repository & | operator= (const TAO_Service_Type_Repository &) |
Private Attributes |
ACE_Lock * | lock_ |
| Lock with which to serialize access to the service type map.
|
Service_Type_Map | type_map_ |
CosTradingRepos::ServiceTypeRepository::IncarnationNumber | incarnation_ |