24#ifndef __DOTS_INTERNAL_TYPE_REPOSITORY_H__
25#define __DOTS_INTERNAL_TYPE_REPOSITORY_H__
30#include <Safir/Dob/Typesystem/LanguageInterfaceDefs.h>
31#include <Safir/Utilities/Internal/Id.h>
90 virtual DotsC_MemberIndex
GetMemberIndex(
const std::string& memberName)
const=0;
310 virtual std::pair<DotsC_Int64, const char*>
GetHashedKey(
int index)
const=0;
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition Backdoor.h:31
Definition TypeRepository.h:42
Description of a property type.
Definition TypeRepository.h:50
virtual ~PropertyDescription()=default
Destructor.
virtual const char * GetName() const =0
Get qualified name of the property type.
virtual const MemberDescription * GetMember(DotsC_MemberIndex index) const =0
Get a member description.
virtual DotsC_MemberIndex GetMemberIndex(const std::string &memberName) const =0
Get index of a named member.
virtual DotsC_TypeId GetTypeId() const =0
Get the typeId of this property.
virtual const char * Summary() const =0
Get a summary about this property.
virtual const char * FileName() const =0
Get dou file path as a string.
virtual int GetNumberOfMembers() const =0
Get the number of members contained by this property.
Description of an exception type.
Definition TypeRepository.h:104
virtual ~ExceptionDescription()=default
Destructor.
virtual DotsC_TypeId GetTypeId() const =0
Get the typeId of this exception.
virtual const char * FileName() const =0
Get dou file path as a string.
virtual const char * Summary() const =0
Get a summary about this exception.
virtual const char * GetName() const =0
Get qualified name of the exception type.
virtual const ExceptionDescription * GetBaseClass() const =0
Get the base class description of this exception.
Description of a parameter.
Definition TypeRepository.h:144
virtual std::pair< DotsC_Int64, const char * > GetHashedKey(int index) const =0
Get hashed key.
virtual DotsC_Int64 GetInt64Value(int index) const =0
Get int64 parameter value.
virtual DotsC_Float32 GetFloat32Value(int index) const =0
Get float32 parameter value.
virtual DotsC_MemberType GetMemberType() const =0
Get member type of this parameter value.
virtual std::pair< DotsC_Int64, const char * > GetHashedValue(int index) const =0
Get hashed parameter value.
virtual int GetIndexByUnifiedKey(DotsC_Int64 unifiedKey) const =0
GetIndexByUnifiedKey - Get corresponding index to a dictionary key.
virtual const char * Summary() const =0
Get a summary about this parameter.
virtual ~ParameterDescription()=default
Destructor.
virtual DotsC_TypeId GetTypeId() const =0
If this parameter has MemberType Enumeration or Object, the specific typeId of that type can be retri...
virtual const std::map< DotsC_Int64, int > & UnifiedKeyToIndexMap() const =0
UnifiedKeyToIndexMap - FOR INTERNAL USAGE ONLY.
virtual const char * GetName() const =0
Get the name of the parameter.
virtual DotsC_TypeId GetClassTypeId() const =0
Get the TypeId of the class that the parameter belongs to.
virtual DotsC_MemberType GetKeyType() const =0
Get key type of this parameter.
virtual DotsC_CollectionType GetCollectionType() const =0
Get the collection type of this parameter.
virtual int GetNumberOfValues() const =0
Get the number of values this parameter holds.
virtual const char * GetStringKey(int index) const =0
Get string key.
virtual DotsC_Float64 GetFloat64Value(int index) const =0
Get float64 parameter value.
virtual std::pair< const char *, DotsC_Int32 > GetBinaryValue(int index) const =0
Get binary parameter value.
virtual const char * GetStringValue(int index) const =0
Get string parameter value.
virtual DotsC_TypeId GetKeyTypeId() const =0
If this parameter has CollectionType Dictionary and KeyType Enumeration, the specific typeId of that ...
virtual DotsC_Int32 GetInt32Key(int index) const =0
Get int32 or enum key.
virtual bool GetBoolValue(int index) const =0
Get bool parameter value.
virtual DotsC_Int64 GetInt64Key(int index) const =0
Get int64 or typeId key.
virtual const char * GetQualifiedName() const =0
Get fully qualified parameter name.
virtual DotsC_Int32 GetInt32Value(int index) const =0
Get int32 parameter value.
virtual bool IsHidden() const =0
Check if this is a normal parameter defined explicitly in a dou-file or if it is a special hidden par...
virtual std::pair< const char *, DotsC_Int32 > GetObjectValue(int index) const =0
Get object parameter value.
Description of an enumeration type.
Definition TypeRepository.h:331
virtual int GetIndexOfValue(const std::string &valueName) const =0
Get index (ordinal) for a named enumeration value.
virtual const char * GetName() const =0
Get qualified name of the enumeration type.
virtual int GetNumberOfValues() const =0
Get number of enumeration values.
virtual ~EnumDescription()=default
Destructor.
virtual const char * Summary() const =0
Get a summary about this enumeration.
virtual DotsC_TypeId GetChecksum() const =0
Get checksum of this enum type.
virtual const char * GetValueName(DotsC_EnumerationValue val) const =0
Get name of a enumeration value.
virtual DotsC_TypeId GetTypeId() const =0
Get the typeId of this enumeration.
virtual const char * FileName() const =0
Get dou file path as a string.
Description of a member.
Definition TypeRepository.h:391
virtual DotsC_MemberType GetKeyType() const =0
Get key type of this member.
virtual DotsC_TypeId GetTypeId() const =0
If this member has MemberType Enumeration or Object, the specific typeId of that type can be retrieve...
virtual const char * Summary() const =0
Get a summary about this member.
virtual DotsC_MemberType GetMemberType() const =0
Get type of this member.
virtual ~MemberDescription()=default
Destructor.
virtual DotsC_CollectionType GetCollectionType() const =0
Get the collection type of this member.
virtual DotsC_TypeId GetKeyTypeId() const =0
If this member has CollectionType Dictionary and KeyType Enumeration, the specific typeId of that enu...
virtual const char * GetName() const =0
Get member name.
virtual int GetArraySize() const =0
Get the array size of this member.
virtual int GetMaxLength() const =0
If member type is String this method returns the maximum allowed string length.
Description of a property member mapping.
Definition TypeRepository.h:458
virtual DotsC_PropertyMappingKind GetMappingKind() const =0
Get type of property member mapping.
virtual ~MemberMappingDescription()=default
Destructor.
virtual int MemberReferenceDepth() const =0
If this property mapping is of type MappedToMember, use GetMappingKind() to check that,...
virtual std::pair< DotsC_MemberIndex, DotsC_Int32 > GetMemberReference(int depth) const =0
If this property mapping is of type MappedToMember, use GetMappingKind() to check that,...
virtual std::pair< const ParameterDescription *, int > GetParameter() const =0
If this property mapping is of type MappedToParameter, use GetMappingKind() to check that,...
Description of a property mapping.
Definition TypeRepository.h:498
virtual const ClassDescription * GetClass() const =0
Get the class this property mapping refers to.
virtual ~PropertyMappingDescription()=default
Destructor.
virtual const char * Summary() const =0
Get a summary about this property mapping.
virtual const PropertyDescription * GetProperty() const =0
Get the property this property mapping refers to.
virtual const MemberMappingDescription * GetMemberMapping(int propertyMemberIndex) const =0
Get member mapping for a specific property member.
virtual const char * FileName() const =0
Get dou file path as a string.
Description of a create routine.
Definition TypeRepository.h:539
virtual int GetNumberOfInParameters() const =0
Get the number of in parameters for this create routine.
virtual const char * Summary() const =0
Get a summary about this create routine.
virtual const char * GetName() const =0
Get create routine name.
virtual const MemberDescription * GetDefaultValueMember(int index) const =0
Get member description for a default value.
virtual int GetNumberOfDefaultValues() const =0
Get number of default values that this create routine will set.
virtual ~CreateRoutineDescription()=default
Destructor.
virtual std::pair< const ParameterDescription *, int > GetDefaultValue(int index) const =0
Get parameter description for a default value.
virtual const MemberDescription * GetInParameterMember(int index) const =0
Get member description for an in parameter.
Description of a class type.
Definition TypeRepository.h:594
virtual int GetNumberOfDescendants() const =0
Get the number of classes that inherits from this class.
virtual const char * GetName() const =0
Get qualified name of the class type.
virtual void GetPropertyIds(std::set< DotsC_TypeId > &propertyIds) const =0
Get a set of all properties in this class.
virtual DotsC_TypeId GetChecksum() const =0
Get checksum of this class.
virtual int GetNumberOfInheritedParameters() const =0
Get the number of inherited parameters.
virtual DotsC_MemberIndex GetMemberIndex(const std::string &memberName) const =0
Get index of a named member.
virtual const MemberDescription * GetMember(DotsC_MemberIndex index) const =0
Get a member description.
virtual int GetNumberOfOwnMembers() const =0
Get the number of members defined by this class.
virtual int GetNumberOfMembers() const =0
Get the total number of members contained by this class including inherited members.
virtual const char * FileName() const =0
Get dou file path as a string.
virtual const PropertyMappingDescription * GetPropertyMapping(DotsC_TypeId propertyTypeId, bool &isInherited) const =0
Get property mapping description for a specific property that describes how it is mapped for this cla...
virtual const ClassDescription * GetDescendant(int index) const =0
Get descendant class.
virtual const ParameterDescription * GetParameter(DotsC_ParameterIndex index) const =0
Get parameter description.
virtual DotsC_TypeId GetTypeId() const =0
Get the typeId of this class.
virtual int GetNumberOfOwnParameters() const =0
Get the number of parameters defined by this class.
virtual int GetNumberOfInheritedMembers() const =0
Get the number of inherited members.
virtual int GetNumberOfParameters() const =0
Get the total number of parameters contained by this class including inherited parameters.
virtual const char * Summary() const =0
Get a summary about this class.
virtual ~ClassDescription()=default
Destructor.
virtual const ClassDescription * GetBaseClass() const =0
Get the base class description of this class.
virtual int GetNumberOfCreateRoutines() const =0
Get the number of create routines in this class.
virtual const CreateRoutineDescription * GetCreateRoutine(int index) const =0
Get a create routine description.
The TypeRepository class is the baseclass of any TypeRepository implementation.
Definition TypeRepository.h:737
virtual const EnumDescription * GetEnum(DotsC_TypeId typeId) const =0
Get enumeration description by typeId.
virtual const ExceptionDescription * GetException(DotsC_TypeId typeId) const =0
Get exception description by typeId.
virtual ~TypeRepository()=default
Destructor.
virtual int GetNumberOfProperties() const =0
Get number of property types.
virtual void GetAllExceptionTypeIds(std::set< DotsC_TypeId > &typeIds) const =0
Get a set of all typeIds that represent exception types.
virtual void GetAllClassTypeIds(std::set< DotsC_TypeId > &typeIds) const =0
Get a set of all typeIds that represent class types.
virtual int GetNumberOfExceptions() const =0
Get number of exception types.
virtual const ClassDescription * GetClass(DotsC_TypeId typeId) const =0
Get class description by typeId.
virtual int GetNumberOfEnums() const =0
Get number of enumeration types.
virtual void GetAllEnumTypeIds(std::set< DotsC_TypeId > &typeIds) const =0
Get a set of all typeIds that represent enumeration types.
virtual void GetAllPropertyTypeIds(std::set< DotsC_TypeId > &typeIds) const =0
Get a set of all typeIds that represent property types.
virtual const PropertyDescription * GetProperty(DotsC_TypeId typeId) const =0
Get property description by typeId.
virtual int GetNumberOfClasses() const =0
Get number of class types.
TypeRepository RepositoryType
Definition TypeRepository.h:837
ClassDescription ClassDescriptionType
Definition TypeRepository.h:838
MemberDescription MemberDescriptionType
Definition TypeRepository.h:839
ParameterDescription ParameterDescriptionType
Definition TypeRepository.h:842
CreateRoutineDescription CreateRoutineDescriptionType
Definition TypeRepository.h:846
EnumDescription EnumDescriptionType
Definition TypeRepository.h:843
PropertyDescription PropertyDescriptionType
Definition TypeRepository.h:840
ExceptionDescription ExceptionDescriptionType
Definition TypeRepository.h:841
MemberMappingDescription MemberMappingDescriptionType
Definition TypeRepository.h:844
PropertyMappingDescription PropertyMappingDescriptionType
Definition TypeRepository.h:845