Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Safir::Dob::Typesystem Namespace Reference

This namespace contains the DOB Typesystem functionality and definitions. More...

Namespaces

 Internal
 This namespace contains stuff that is internal to the DOB typesystem.
 
 Members
 Functions for getting member information from types.
 
 Operations
 Operations on DOB types.
 
 Parameters
 Functions for getting parameter information from types.
 
 Si32
 32 bit SI-types.
 
 Si64
 64 bit SI-types.
 
 ToolSupport
 
 Utilities
 Utility functions for users of the DOB type system.
 

Classes

class  ArrayContainer
 STL container for arrays of DOB-containers. More...
 
class  BinaryContainer
 Container for Binary. More...
 
class  BlobOperations
 Operations on blobs. More...
 
class  ChannelId
 Class containing the identity of a channel. More...
 
class  ConfigurationErrorException
 Used when there is an error that implies that there is something wrong in the configuration. More...
 
class  ContainerBase
 Base class for all Containers. More...
 
class  ContainerProxy
 
class  ContainerProxy< BinaryContainer >
 
class  ContainerProxy< ObjectContainerImpl< Object > >
 
class  ContainerProxy< ObjectContainerImpl< U > >
 
class  ContainerProxy< StringContainer >
 
class  EntityId
 Class containing the identity of an entity. More...
 
class  EnumerationContainerBase
 Base class for containers of enumeration values. More...
 
class  Exception
 This is the base class of all (non-Fundamental) Exceptions. More...
 
class  FundamentalException
 This is the base class of all Fundamental Exceptions. More...
 
class  HandlerId
 Class containing the identity of a handler. More...
 
class  IllegalValueException
 A parameter in the call was invalid. More...
 
class  IncompatibleTypesException
 This exception is thrown if a class cannot be cast to the expected type. More...
 
class  InstanceId
 Class containing the identity of an instance. More...
 
class  LibraryExceptions
 Contains methods used when passing exceptions across language boundaries. More...
 
class  NullException
 Thrown when an application attempts to get the value of a member that is null. More...
 
class  Object
 The base class for all DOB objects. More...
 
class  ObjectContainerBase
 Base class for all object containers. More...
 
class  ObjectContainerImpl
 Template class for all containers of automatically generated DOB objects. More...
 
class  ObjectContainerImpl< Object >
 This is a specialization of the ObjectContainerImpl template for the case where the template argument is Dob::Typesystem::Object. More...
 
class  ObjectFactory
 This class is an object factory for all automatically generated DOB classes. More...
 
class  Properties
 Functions for getting property information from types and objects. More...
 
class  ReadOnlyException
 Used when someone tries to set a property that is mapped to something that cannot be changed. More...
 
class  Serialization
 Functions for serializing objects to binary, XML and JSON forms. More...
 
class  SoftwareViolationException
 Meant to be used when something goes very wrong. More...
 
class  StringContainer
 Container for strings (std::wstring). More...
 
class  ValueContainer
 Container for base types. More...
 

Typedefs

typedef DotsC_TypeId TypeId
 A unique type identifier. More...
 
typedef std::vector< TypeIdTypeIdVector
 A vector of TypeIds. More...
 
typedef DotsC_EnumerationValue EnumerationValue
 The ordinal value of an enumeration. More...
 
typedef DotsC_MemberType MemberType
 An enumeration of all possible types of an object member. More...
 
typedef std::vector< char > BinarySerialization
 A type to contain binary serializations of DOB objects. More...
 
typedef std::vector< char > Binary
 A type to contain binary data. More...
 
typedef boost::shared_ptr< ObjectObjectPtr
 A smart pointer to an Object. More...
 
typedef boost::shared_ptr
< const Object
ObjectConstPtr
 A smart pointer to a const Object. More...
 
typedef
Safir::Dob::Typesystem::ObjectContainerImpl
< Object
ObjectContainer
 Container for DOB Objects. More...
 
Container array typedefs
typedef ArrayContainer
< BooleanContainer
BooleanContainerArray
 An array of DOB-containers containing booleans. More...
 
typedef ArrayContainer
< Int32Container
Int32ContainerArray
 An array of DOB-containers containing 32 bit integers. More...
 
typedef ArrayContainer
< Int64Container
Int64ContainerArray
 An array of DOB-containers containing 64 bit integers. More...
 
typedef ArrayContainer
< Float32Container
Float32ContainerArray
 An array of DOB-containers containing 32 bit floats. More...
 
typedef ArrayContainer
< Float64Container
Float64ContainerArray
 An array of DOB-containers containing 64 bit floats. More...
 
typedef ArrayContainer
< TypeIdContainer
TypeIdContainerArray
 An array of DOB-containers containing TypeIds. More...
 
typedef ArrayContainer
< InstanceIdContainer
InstanceIdContainerArray
 An array of DOB-containers containing InstanceIds. More...
 
typedef ArrayContainer
< EntityIdContainer
EntityIdContainerArray
 An array of DOB-containers containing EntityIds. More...
 
typedef ArrayContainer
< ChannelIdContainer
ChannelIdContainerArray
 An array of DOB-containers containing ChannelIds. More...
 
typedef ArrayContainer
< HandlerIdContainer
HandlerIdContainerArray
 An array of DOB-containers containing HandlerIds. More...
 
typedef ArrayContainer
< StringContainer
StringContainerArray
 An array of DOB-containers containing strings. More...
 
typedef
Safir::Dob::Typesystem::ArrayContainer
< ObjectContainer
ObjectContainerArray
 An array of DOB-containers containing DOB-objects. More...
 
typedef
Safir::Dob::Typesystem::ArrayContainer
< BinaryContainer
BinaryContainerArray
 An array of DOB-containers containing Binaries. More...
 
Base Types

These are the types that all numeric types in the DOB are based on.

They are guaranteed to be of the correct size on all supported platforms.

typedef DotsC_Int32 Int32
 32 bit integer type. More...
 
typedef DotsC_Int64 Int64
 64 bit integer type. More...
 
typedef DotsC_Float32 Float32
 32 bit floating point type. More...
 
typedef DotsC_Float64 Float64
 64 bit floating point type. More...
 
Type indices.

Types for indices into types.

typedef DotsC_MemberIndex MemberIndex
 The index of a member in an object. More...
 
typedef DotsC_ArrayIndex ArrayIndex
 Index into an array. More...
 
typedef DotsC_ParameterIndex ParameterIndex
 The index of a parameter in an object. More...
 
Basic type container typedefs
typedef ValueContainer< bool > BooleanContainer
 A container containing boolean values. More...
 
typedef ValueContainer< Int32Int32Container
 A container containing 32 bit integer values. More...
 
typedef ValueContainer< Int64Int64Container
 A container containing 64 bit integer values. More...
 
typedef ValueContainer< Float32Float32Container
 A container containing 32 bit floating point values. More...
 
typedef ValueContainer< Float64Float64Container
 A container containing 64 bit floating point values. More...
 
typedef ValueContainer< TypeIdTypeIdContainer
 A container containing TypeId values. More...
 
typedef ValueContainer
< InstanceId
InstanceIdContainer
 A container containing InstanceId values. More...
 
typedef ValueContainer< EntityIdEntityIdContainer
 A container containing EntityId values. More...
 
typedef ValueContainer< ChannelIdChannelIdContainer
 A container containing ChannelId values. More...
 
typedef ValueContainer< HandlerIdHandlerIdContainer
 A container containing HandlerId values. More...
 

Functions

static std::wostream & operator<< (std::wostream &out, const ChannelId &channelId)
 
static bool IsChanged (const ContainerBase &container)
 Check if a container is changed. More...
 
static bool operator== (const ContainerProxy< ChannelIdContainer > &first, const ChannelId &second)
 
static bool operator!= (const ContainerProxy< ChannelIdContainer > &first, const ChannelId &second)
 
static bool operator== (const ContainerProxy< HandlerIdContainer > &first, const HandlerId &second)
 
static bool operator!= (const ContainerProxy< HandlerIdContainer > &first, const HandlerId &second)
 
static bool operator== (const ContainerProxy< InstanceIdContainer > &first, const InstanceId &second)
 
static bool operator!= (const ContainerProxy< InstanceIdContainer > &first, const InstanceId &second)
 
static bool operator== (const ContainerProxy< EntityIdContainer > &first, const EntityId &second)
 
static bool operator!= (const ContainerProxy< EntityIdContainer > &first, const EntityId &second)
 
static bool operator== (const std::wstring &first, const ContainerProxy< StringContainer > &second)
 
static bool operator!= (const std::wstring &first, const ContainerProxy< StringContainer > &second)
 
static bool operator== (const Binary &first, const ContainerProxy< BinaryContainer > &second)
 
static bool operator!= (const Binary &first, const ContainerProxy< BinaryContainer > &second)
 
static std::wostream & operator<< (std::wostream &out, const EntityId &entityId)
 
static std::wostream & operator<< (std::wostream &out, const HandlerId &handlerId)
 
static std::wostream & operator<< (std::wostream &out, const InstanceId &instanceId)
 

Detailed Description

This namespace contains the DOB Typesystem functionality and definitions.

Typedef Documentation

typedef DotsC_ArrayIndex Safir::Dob::Typesystem::ArrayIndex

Index into an array.

DOB-object arrays are indexed using this type. Note: Even though this is a signed 32 bit integer only the positive values are valid.

See also
Dob::Typesystem::Members
typedef std::vector<char> Safir::Dob::Typesystem::Binary

A type to contain binary data.

TODO: maybe Binary and BinarySerialization should be replaced by only one type.

A type to contain binary serializations of DOB objects.

Note: If you need to get hold of a "raw" C-pointer to the data * use &binary[0]. See Effective STL Item 16 for more info.

A container containing boolean values.

An array of DOB-containers containing booleans.

An array of DOB-containers containing ChannelIds.

An array of DOB-containers containing EntityIds.

typedef DotsC_EnumerationValue Safir::Dob::Typesystem::EnumerationValue

The ordinal value of an enumeration.

When you use the set or get the ordinal on an EnumerationContainer you will get values of this kind. Normally you will not need to use this, instead use the real enumeration values through GetVal() and SetVal(). Note: Even though this is a signed 32 bit integer only the positive values are valid.

See also
Dob::Typesystem::EnumerationContainerBase::GetOrdinal
Dob::Typesystem::EnumerationContainerBase::SetOrdinal
typedef DotsC_Float32 Safir::Dob::Typesystem::Float32

32 bit floating point type.

This type is guaranteed to be 32 bits on all platforms.

A container containing 32 bit floating point values.

An array of DOB-containers containing 32 bit floats.

typedef DotsC_Float64 Safir::Dob::Typesystem::Float64

64 bit floating point type.

This type is guaranteed to be 64 bits on all platforms.

A container containing 64 bit floating point values.

An array of DOB-containers containing 64 bit floats.

An array of DOB-containers containing HandlerIds.

An array of DOB-containers containing InstanceIds.

typedef DotsC_Int32 Safir::Dob::Typesystem::Int32

32 bit integer type.

This type is guaranteed to be 32 bits on all platforms.

A container containing 32 bit integer values.

An array of DOB-containers containing 32 bit integers.

typedef DotsC_Int64 Safir::Dob::Typesystem::Int64

64 bit integer type.

This type is guaranteed to be 64 bits on all platforms.

A container containing 64 bit integer values.

An array of DOB-containers containing 64 bit integers.

typedef DotsC_MemberIndex Safir::Dob::Typesystem::MemberIndex

The index of a member in an object.

Members in objects are ordered according to the order they appear in the dou-file. However, do not rely on this, but use the Member-operations to get hold of indices if you need them. Note: Even though this is a signed 32 bit integer only the positive values are valid.

See also
Dob::Typesystem::Members
typedef DotsC_MemberType Safir::Dob::Typesystem::MemberType

An enumeration of all possible types of an object member.

The values of this enumeration is defined in the file Safir/Dob/Typesystem/LanguageInterfaceDefs.h.

See also
Safir/Dob/Typesystem/LanguageInterfaceDefs.h
typedef boost::shared_ptr<const Object> Safir::Dob::Typesystem::ObjectConstPtr

A smart pointer to a const Object.

Container for DOB Objects.

This typedef defines an ObjectContainer that contains an Object... (This is also the reason that the object container template is called ObjectContainerImpl. The name ObjectContainer must be reserved for the container that contains the class Object... But there should be no need for you to worry about this...)

typedef boost::shared_ptr< Object > Safir::Dob::Typesystem::ObjectPtr

A smart pointer to an Object.

typedef DotsC_ParameterIndex Safir::Dob::Typesystem::ParameterIndex

The index of a parameter in an object.

Parameters in objects are ordered according to the order they appear in the dou-file. However, do not rely on this, but use the Parameter-operations to get hold of indices if you need them. Note: Even though this is a signed 32 bit integer only the positive values are valid.

See also
Dob::Typesystem::Parameters

An array of DOB-containers containing strings.

typedef DotsC_TypeId Safir::Dob::Typesystem::TypeId

A unique type identifier.

A 64 bit integer that uniquely identifies a Dob type. This is in fact 64 bits of an MD5 of the type name and its namespace.

A container containing TypeId values.

An array of DOB-containers containing TypeIds.

A vector of TypeIds.

Function Documentation

static bool Safir::Dob::Typesystem::IsChanged ( const ContainerBase &  container)
static

Check if a container is changed.

This meant for use with stuff in std::algorithms. All it does is call IsChanged on the container.

Parameters
container[in] - The container to check.
Returns
True if the container has changed.

References Safir::Dob::Typesystem::ContainerBase::IsChanged().

Referenced by Safir::Dob::Typesystem::ArrayContainer< ResponseErrorInfoContainer >::IsChanged().

Here is the call graph for this function:

Here is the caller graph for this function:

static bool Safir::Dob::Typesystem::operator!= ( const ContainerProxy< ChannelIdContainer > &  first,
const ChannelId &  second 
)
static
static bool Safir::Dob::Typesystem::operator!= ( const ContainerProxy< HandlerIdContainer > &  first,
const HandlerId &  second 
)
static
static bool Safir::Dob::Typesystem::operator!= ( const ContainerProxy< InstanceIdContainer > &  first,
const InstanceId &  second 
)
static
static bool Safir::Dob::Typesystem::operator!= ( const ContainerProxy< EntityIdContainer > &  first,
const EntityId &  second 
)
static
static bool Safir::Dob::Typesystem::operator!= ( const std::wstring &  first,
const ContainerProxy< StringContainer > &  second 
)
static
static bool Safir::Dob::Typesystem::operator!= ( const Binary &  first,
const ContainerProxy< BinaryContainer > &  second 
)
static
static std::wostream& Safir::Dob::Typesystem::operator<< ( std::wostream &  out,
const EntityId &  entityId 
)
static

References Safir::Dob::Typesystem::EntityId::ToString().

Here is the call graph for this function:

static std::wostream& Safir::Dob::Typesystem::operator<< ( std::wostream &  out,
const HandlerId &  handlerId 
)
static

References Safir::Dob::Typesystem::HandlerId::ToString().

Here is the call graph for this function:

static std::wostream& Safir::Dob::Typesystem::operator<< ( std::wostream &  out,
const ChannelId &  channelId 
)
static

References Safir::Dob::Typesystem::ChannelId::ToString().

Here is the call graph for this function:

static std::wostream& Safir::Dob::Typesystem::operator<< ( std::wostream &  out,
const InstanceId &  instanceId 
)
static

References Safir::Dob::Typesystem::InstanceId::ToString().

Here is the call graph for this function:

static bool Safir::Dob::Typesystem::operator== ( const ContainerProxy< ChannelIdContainer > &  first,
const ChannelId &  second 
)
static
static bool Safir::Dob::Typesystem::operator== ( const ContainerProxy< HandlerIdContainer > &  first,
const HandlerId &  second 
)
static
static bool Safir::Dob::Typesystem::operator== ( const ContainerProxy< InstanceIdContainer > &  first,
const InstanceId &  second 
)
static
static bool Safir::Dob::Typesystem::operator== ( const ContainerProxy< EntityIdContainer > &  first,
const EntityId &  second 
)
static
static bool Safir::Dob::Typesystem::operator== ( const std::wstring &  first,
const ContainerProxy< StringContainer > &  second 
)
static
static bool Safir::Dob::Typesystem::operator== ( const Binary &  first,
const ContainerProxy< BinaryContainer > &  second 
)
static