VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Protected Types | Protected Attributes
DtObjectIdentificationResolver Class Reference

This class will be used to manage UUID lookups. More...

Classes

struct  MappingContext

Public Types

typedef boost::unordered_map
< DtUUID,
DtUUIDMarkingTextProvider * > 
UUIDToMarkingTextMap
typedef boost::unordered_map
< DtString, DtUUID
EntityIdentifierToUUIDMap
typedef boost::unordered_map
< DtUUID, DtString
UUIDToEntityIdentifierMap
typedef boost::unordered_map
< DtString, DtUUID
MarkingTextToUUIDMap
typedef boost::unordered_map
< DtUUID, DtUUID
UUIDToUUIDMap
typedef boost::unordered_map
< DtString, DtString
MarkingTextToMarkingTextMap
typedef boost::unordered_set
< DtUUID * > 
UUIDsForUpgrade

Public Member Functions

 DtObjectIdentificationResolver ()
virtual ~DtObjectIdentificationResolver ()
virtual void clear ()
 Clears out all maps.
virtual void setResolveMarkingTextToUUIDMapping (bool)
 Set to true if want to add UUIDs to this manager to resolve by calling "resolveUUIDMapping" if the uuid constructed is not a VRF UUID.
virtual bool resolveMarkingTextToUUIDMapping () const
virtual void setResolveUUIDToUUIDMapping (bool)
virtual bool resolveUUIDToUUIDMapping () const
virtual void resolveUUIDMapping (bool clearWhenDone=false)
 If clear when done is true, clears out uuids to be mapped.
virtual void addUUIDForUpgrade (DtUUID *)
 Adds the UUID pointer for potential marking text resolution if the resolveMarkingTextToUUIDMapping flag is true and this UUID is not already a VRF UUID.
virtual void removeUUIDForUpgrade (DtUUID *)
virtual void objectUUIDChanged (const DtUUID &oldUUID, const DtUUID &newUUID)
 In order to be able to match UUID to marking texts this map must be filled in by the maintainer of that association (in this case the front-end or back-end)
virtual DtUUIDMarkingTextProvideraddMarkingTextToUUIDMapping (const DtUUIDMarkingTextProvider &, const DtUUID &)
 Adds/removed UUID to marking text mappings, always from context 0 (as that is where they are used)
virtual DtUUIDMarkingTextProvideruuidToMarkingTextProvider (const DtUUID &) const
virtual void removeUUIDToMarkingTextMapping (const DtUUID &)
virtual void addUUIDToUUIDMapping (const DtUUID &old, const DtUUID &newUUID)
 Adds a UUID to UUID map in order to remap when resolved.
virtual void addEntityIdentifierToUUIDMapping (const DtString &eid, const DtUUID &)
 Used for either non or VR-Forces published items. look up VRF UUID by entity identifier.
virtual void removeEntityIdentifierMapping (const DtString &eid)
virtual const DtUUIDentityIdentifierToUUIDMapping (const DtString &eid) const
virtual const DtStringuuidToEntityIdentifierMapping (const DtUUID &uuid) const
virtual bool hasUUID (const DtUUID &) const
virtual void addMarkingTextToMarkingTextMapping (const DtString &oldMarkingText, const DtString &newMarkingText)
 Used for marking text to marking text mapping when updating an older scenario.
virtual DtUUID mapMarkingTextToUUID (const DtString &) const
 Maps marking text to UUID. If marking text is not know an invalid UUID will be returned.
virtual DtString mapUUIDToMarkingText (const DtUUID &) const
 Maps UUID to marking text. If UUID is not mapped empty marking text is returned.
virtual void pushMappingContext ()
 Creates a new UUID mapping context. This will suplant the existing context.
virtual void popMappingContext (bool merge=false)
 This will pop the mapping context to the previous.
virtual DtString markingText (const DtUUID &, bool *found=0) const
 Returns the marking text that is associated with this UUID.
MarkingTextToUUIDMapmarkingTextToUUIDMapForImport (int context=-1)
const MarkingTextToUUIDMapmarkingTextToUUIDMapForImport (int context=-1) const
MarkingTextToUUIDMapliveMarkingTextToUUIDMap (int context=-1)
 It is up to the user to maintain this map.
const MarkingTextToUUIDMapliveMarkingTextToUUIDMap (int context=-1) const
virtual void markingTextUpdated (const DtString &oldText, const DtString &newText)
UUIDsForUpgradeuuidsForMarkingTextUpgrade (int context=-1)
const UUIDsForUpgradeuuidsForMarkingTextUpgrade (int context=-1) const
UUIDsForUpgradeuuidsForUUIDUpgrade (int context=-1)
const UUIDsForUpgradeuuidsForUUIDUpgrade (int context=-1) const
UUIDToMarkingTextMapuuidToMarkingTextMap (int context=-1)
const UUIDToMarkingTextMapuuidToMarkingTextMap (int context=-1) const
UUIDToUUIDMapuuidToUUIDMap (int context=-1)
const UUIDToUUIDMapuuidToUUIDMap (int context=-1) const
MarkingTextToMarkingTextMapmarkingTextToMarkingTextMap (int context=-1)
const MarkingTextToMarkingTextMapmarkingTextToMarkingTextMap (int context=-1) const
EntityIdentifierToUUIDMapentityIdentifierToUUIDMap (int context=-1)
const EntityIdentifierToUUIDMapentityIdentifierToUUIDMap (int context=-1) const
UUIDToEntityIdentifierMapuuidToEntityIdentifierMap (int context=-1)
const UUIDToEntityIdentifierMapuuidToEntityIdentifierMap (int context=-1) const
MarkingTextToUUIDMap markingTextToUUIDMap () const
 Resolves and returns a marking text to uuid map.
virtual void resolveToMarkingTextMapping ()
virtual void resolveToUUIDMapping (bool clearWhenDone=false)
 If clear when done is true, clears out uuids to be mapped.
virtual DtUUID upgradeUUID (const DtUUID &) const
 If the UUID can be upgraded, return the upgraded UUID.
virtual bool hasMarkingTextToUUIDMapForImport (const DtString &) const
 Valid only during import (context count > 1).

Protected Types

typedef std::vector
< MappingContext
MappingContexts

Protected Attributes

tbb::recursive_mutex myMutex
MappingContexts myMappingContexts
bool myDestructingFlag
bool myResolveMarkingTextToUUIDMapping
bool myResolveUUIDToUUIDMapping
bool myPushingContext
bool myPoppingContext

Detailed Description

This class will be used to manage UUID lookups.

It will contain a list of sub-lists that can be used to push/pop the workings of how to map UUIDs to marking texts (and vice/versa). This is a globally created item that is referenced via the DtUUID class. This class is only used for mapping old style (marking text) to new style UUIDs All functions in this class are thread safe.

Member Typedef Documentation

Constructor & Destructor Documentation

DtObjectIdentificationResolver::DtObjectIdentificationResolver ( )
virtual DtObjectIdentificationResolver::~DtObjectIdentificationResolver ( )
virtual

Member Function Documentation

virtual void DtObjectIdentificationResolver::clear ( )
virtual

Clears out all maps.

virtual void DtObjectIdentificationResolver::setResolveMarkingTextToUUIDMapping ( bool  )
virtual

Set to true if want to add UUIDs to this manager to resolve by calling "resolveUUIDMapping" if the uuid constructed is not a VRF UUID.

virtual bool DtObjectIdentificationResolver::resolveMarkingTextToUUIDMapping ( ) const
virtual
virtual void DtObjectIdentificationResolver::setResolveUUIDToUUIDMapping ( bool  )
virtual
virtual bool DtObjectIdentificationResolver::resolveUUIDToUUIDMapping ( ) const
virtual
virtual void DtObjectIdentificationResolver::resolveUUIDMapping ( bool  clearWhenDone = false)
virtual

If clear when done is true, clears out uuids to be mapped.

virtual void DtObjectIdentificationResolver::addUUIDForUpgrade ( DtUUID )
virtual

Adds the UUID pointer for potential marking text resolution if the resolveMarkingTextToUUIDMapping flag is true and this UUID is not already a VRF UUID.

virtual void DtObjectIdentificationResolver::removeUUIDForUpgrade ( DtUUID )
virtual
virtual void DtObjectIdentificationResolver::objectUUIDChanged ( const DtUUID oldUUID,
const DtUUID newUUID 
)
virtual

In order to be able to match UUID to marking texts this map must be filled in by the maintainer of that association (in this case the front-end or back-end)

virtual DtUUIDMarkingTextProvider* DtObjectIdentificationResolver::addMarkingTextToUUIDMapping ( const DtUUIDMarkingTextProvider ,
const DtUUID  
)
virtual

Adds/removed UUID to marking text mappings, always from context 0 (as that is where they are used)

virtual DtUUIDMarkingTextProvider* DtObjectIdentificationResolver::uuidToMarkingTextProvider ( const DtUUID ) const
virtual
virtual void DtObjectIdentificationResolver::removeUUIDToMarkingTextMapping ( const DtUUID )
virtual
virtual void DtObjectIdentificationResolver::addUUIDToUUIDMapping ( const DtUUID old,
const DtUUID newUUID 
)
virtual

Adds a UUID to UUID map in order to remap when resolved.

virtual void DtObjectIdentificationResolver::addEntityIdentifierToUUIDMapping ( const DtString eid,
const DtUUID  
)
virtual

Used for either non or VR-Forces published items. look up VRF UUID by entity identifier.

virtual void DtObjectIdentificationResolver::removeEntityIdentifierMapping ( const DtString eid)
virtual
virtual const DtUUID& DtObjectIdentificationResolver::entityIdentifierToUUIDMapping ( const DtString eid) const
virtual
virtual const DtString& DtObjectIdentificationResolver::uuidToEntityIdentifierMapping ( const DtUUID uuid) const
virtual
virtual bool DtObjectIdentificationResolver::hasUUID ( const DtUUID ) const
virtual
virtual void DtObjectIdentificationResolver::addMarkingTextToMarkingTextMapping ( const DtString oldMarkingText,
const DtString newMarkingText 
)
virtual

Used for marking text to marking text mapping when updating an older scenario.

virtual DtUUID DtObjectIdentificationResolver::mapMarkingTextToUUID ( const DtString ) const
virtual

Maps marking text to UUID. If marking text is not know an invalid UUID will be returned.

virtual DtString DtObjectIdentificationResolver::mapUUIDToMarkingText ( const DtUUID ) const
virtual

Maps UUID to marking text. If UUID is not mapped empty marking text is returned.

virtual void DtObjectIdentificationResolver::pushMappingContext ( )
virtual

Creates a new UUID mapping context. This will suplant the existing context.

virtual void DtObjectIdentificationResolver::popMappingContext ( bool  merge = false)
virtual

This will pop the mapping context to the previous.

Pass the "merge" flag to merge this popped content into the previous context

virtual DtString DtObjectIdentificationResolver::markingText ( const DtUUID ,
bool found = 0 
) const
virtual

Returns the marking text that is associated with this UUID.

If UUID is not mapped empty marking text is returned. If found is specified will be filled with true if there was a mapping found. If no mapping found will return the value of the uuids uuidString

MarkingTextToUUIDMap& DtObjectIdentificationResolver::markingTextToUUIDMapForImport ( int  context = -1)
const MarkingTextToUUIDMap& DtObjectIdentificationResolver::markingTextToUUIDMapForImport ( int  context = -1) const
MarkingTextToUUIDMap& DtObjectIdentificationResolver::liveMarkingTextToUUIDMap ( int  context = -1)

It is up to the user to maintain this map.

Entries will be added as marking text providers are added/removed, however if the text changes you need to call the markingTextToUUIDMapChange method

const MarkingTextToUUIDMap& DtObjectIdentificationResolver::liveMarkingTextToUUIDMap ( int  context = -1) const
virtual void DtObjectIdentificationResolver::markingTextUpdated ( const DtString oldText,
const DtString newText 
)
virtual
UUIDsForUpgrade& DtObjectIdentificationResolver::uuidsForMarkingTextUpgrade ( int  context = -1)
const UUIDsForUpgrade& DtObjectIdentificationResolver::uuidsForMarkingTextUpgrade ( int  context = -1) const
UUIDsForUpgrade& DtObjectIdentificationResolver::uuidsForUUIDUpgrade ( int  context = -1)
const UUIDsForUpgrade& DtObjectIdentificationResolver::uuidsForUUIDUpgrade ( int  context = -1) const
UUIDToMarkingTextMap& DtObjectIdentificationResolver::uuidToMarkingTextMap ( int  context = -1)
const UUIDToMarkingTextMap& DtObjectIdentificationResolver::uuidToMarkingTextMap ( int  context = -1) const
UUIDToUUIDMap& DtObjectIdentificationResolver::uuidToUUIDMap ( int  context = -1)
const UUIDToUUIDMap& DtObjectIdentificationResolver::uuidToUUIDMap ( int  context = -1) const
MarkingTextToMarkingTextMap& DtObjectIdentificationResolver::markingTextToMarkingTextMap ( int  context = -1)
const MarkingTextToMarkingTextMap& DtObjectIdentificationResolver::markingTextToMarkingTextMap ( int  context = -1) const
EntityIdentifierToUUIDMap& DtObjectIdentificationResolver::entityIdentifierToUUIDMap ( int  context = -1)
const EntityIdentifierToUUIDMap& DtObjectIdentificationResolver::entityIdentifierToUUIDMap ( int  context = -1) const
UUIDToEntityIdentifierMap& DtObjectIdentificationResolver::uuidToEntityIdentifierMap ( int  context = -1)
const UUIDToEntityIdentifierMap& DtObjectIdentificationResolver::uuidToEntityIdentifierMap ( int  context = -1) const
MarkingTextToUUIDMap DtObjectIdentificationResolver::markingTextToUUIDMap ( ) const

Resolves and returns a marking text to uuid map.

virtual void DtObjectIdentificationResolver::resolveToMarkingTextMapping ( )
virtual
virtual void DtObjectIdentificationResolver::resolveToUUIDMapping ( bool  clearWhenDone = false)
virtual

If clear when done is true, clears out uuids to be mapped.

virtual DtUUID DtObjectIdentificationResolver::upgradeUUID ( const DtUUID ) const
virtual

If the UUID can be upgraded, return the upgraded UUID.

virtual bool DtObjectIdentificationResolver::hasMarkingTextToUUIDMapForImport ( const DtString ) const
virtual

Valid only during import (context count > 1).

Sees if there is a marking text to UUID map for this item.

Member Data Documentation

tbb::recursive_mutex DtObjectIdentificationResolver::myMutex
mutableprotected
MappingContexts DtObjectIdentificationResolver::myMappingContexts
protected
bool DtObjectIdentificationResolver::myDestructingFlag
protected
bool DtObjectIdentificationResolver::myResolveMarkingTextToUUIDMapping
mutableprotected
bool DtObjectIdentificationResolver::myResolveUUIDToUUIDMapping
mutableprotected
bool DtObjectIdentificationResolver::myPushingContext
mutableprotected
bool DtObjectIdentificationResolver::myPoppingContext
mutableprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)