PersistentObjectInstanceSegment Class Reference

#include <MemoryX/libraries/memorytypes/segment/PersistentObjectInstanceSegment.h>

+ Inheritance diagram for PersistentObjectInstanceSegment:

Public Member Functions

std::string addObjectInstance (const std::string &instanceName, const std::string &className, const armarx::LinkedPoseBasePtr &objectPose, const ::memoryx::MotionModelInterfacePtr &motionModel, const ::Ice::Current &=Ice::emptyCurrent) override
 
ObjectInstanceBasePtr getObjectInstanceById (const ::std::string &id, const ::Ice::Current &=Ice::emptyCurrent) const override
 
ObjectInstanceBasePtr getObjectInstanceByName (const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) const override
 
ObjectInstanceList getObjectInstancesByClass (const ::std::string &className, const ::Ice::Current &c=Ice::emptyCurrent) const override
 
ObjectInstanceList getObjectInstancesByClassList (const NameList &classList, const ::Ice::Current &=Ice::emptyCurrent) const override
 
 PersistentObjectInstanceSegment (CollectionInterfacePrx entityCollection, Ice::CommunicatorPtr ic, bool useMongoIds=true)
 
void setNewMotionModel (const ::std::string &entityId, const ::memoryx::MotionModelInterfacePtr &newMotionModel, const ::Ice::Current &=Ice::emptyCurrent) override
 
void setObjectPose (const std::string &entityId, const armarx::LinkedPoseBasePtr &objectPose, const ::Ice::Current &=Ice::emptyCurrent) override
 
void setObjectPoseWithoutMotionModel (const std::string &entityId, const armarx::FramedPoseBasePtr &objectPose, const Ice::Current &) override
 
- Public Member Functions inherited from PersistentEntitySegment
std::string addEntity (const EntityBasePtr &entity, const ::Ice::Current &c=Ice::emptyCurrent) override
 addEntity add new entity and return the newly generated entity ID More...
 
EntityIdList addEntityList (const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override
 addEntityList adds all entities contained in \entityList to this segment and returns a list of created entity IDs More...
 
virtual EntityIdList addEntityListThreadUnsafe (const EntityBaseList &entityList)
 
virtual std::string addEntityThreadUnsafe (const EntityBasePtr &entity)
 
void addReadCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
 
void clear (const ::Ice::Current &=Ice::emptyCurrent) override
 clear removes all elements from the current memoryx::PersistentEntitySegment::writeCollection More...
 
void clearReadCollections (const ::Ice::Current &=Ice::emptyCurrent) override
 
EntityRefList findRefsByQuery (const std::string &query, const Ice::Current &c) override
 retrieves Entity Refs that match the query. More...
 
EntityBaseList getAllEntities (const ::Ice::Current &=Ice::emptyCurrent) const override
 getAllEntities returns a list of all entities managed by this memory segment More...
 
EntityIdList getAllEntityIds (const ::Ice::Current &=Ice::emptyCurrent) const override
 
virtual EntityIdList getAllEntityIdsThreadUnsafe () const
 
EntityBaseList getEntitiesByAttrValue (const ::std::string &attrName, const ::std::string &attrValue, const ::Ice::Current &=Ice::emptyCurrent) const override
 
EntityBaseList getEntitiesByAttrValueList (const ::std::string &attrName, const NameList &attrValueList, const ::Ice::Current &=Ice::emptyCurrent) const override
 
EntityBasePtr getEntityById (const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) const override
 
virtual EntityBasePtr getEntityByIdThreadUnsafe (const ::std::string &entityId) const
 
EntityBasePtr getEntityByName (const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) const override
 
virtual EntityBasePtr getEntityByNameThreadUnsafe (const ::std::string &name) const
 
EntityRefBasePtr getEntityRefById (const std::string &id, const Ice::Current &) const override
 
EntityRefBasePtr getEntityRefByName (const std::string &name, const Ice::Current &c) const override
 
::Ice::Identity getIceId (const ::Ice::Current &=Ice::emptyCurrent) const override
 
IdEntityMap getIdEntityMap (const ::Ice::Current &=Ice::emptyCurrent) const override
 
std::string getObjectTypeId (const ::Ice::Current &=Ice::emptyCurrent) const override
 
NameList getReadCollectionsNS (const ::Ice::Current &=Ice::emptyCurrent) const override
 
std::string getSegmentName (const ::Ice::Current &=Ice::emptyCurrent) const override
 
std::string getWriteCollectionNS (const ::Ice::Current &=Ice::emptyCurrent) const override
 
bool hasEntityById (const std::string &entityId, const Ice::Current &=Ice::emptyCurrent) const override
 
bool hasEntityByIdThreadUnsafe (const std::string &entityId) const
 
bool hasEntityByName (const std::string &entityName, const Ice::Current &=Ice::emptyCurrent) const override
 
bool hasEntityByNameThreadUnsafe (const std::string &entityName) const
 
 PersistentEntitySegment (CollectionInterfacePrx entityCollection, Ice::CommunicatorPtr ic, bool useMongoIds=true)
 
void print (const ::Ice::Current &=Ice::emptyCurrent) const override
 
void removeAllEntities (const ::Ice::Current &c=Ice::emptyCurrent) override
 removeAllEntities collects all entities managed by this memory segment and removes them from the segment More...
 
void removeEntity (const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) override
 removeEntity removes an entity with the ID entityId More...
 
virtual void removeEntityThreadUnsafe (const ::std::string &entityId)
 
void setEntityAttribute (const std::string &entityId, const EntityAttributeBasePtr &attribute, const Ice::Current &) override
 
void setEntityAttributes (const std::string &entityId, const EntityAttributeList &attributeMap, const Ice::Current &) override
 
void setParentMemory (const MemoryInterfacePtr &memory, const Ice::Current &) override
 
void setSingleRWCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
 
void setWriteCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
 
Ice::Int size (const ::Ice::Current &=Ice::emptyCurrent) const override
 size counts the number of memoryx::Entity instances contained available reachable throuhg memoryx::PersistentEntitySegment::readCollections. More...
 
void updateEntity (const ::std::string &entityId, const EntityBasePtr &update, const ::Ice::Current &=Ice::emptyCurrent) override
 
virtual void updateEntityThreadUnsafe (const ::std::string &entityId, const EntityBasePtr &update)
 
std::string upsertEntity (const std::string &entityId, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override
 
std::string upsertEntityByName (const std::string &entityName, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override
 
virtual std::string upsertEntityByNameThreadUnsafe (const std::string &entityName, const EntityBasePtr &entity)
 
EntityIdList upsertEntityList (const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override
 
virtual EntityIdList upsertEntityListThreadUnsafe (const EntityBaseList &entityList)
 
virtual std::string upsertEntityThreadUnsafe (const std::string &entityId, const EntityBasePtr &entity)
 
 ~PersistentEntitySegment () override
 
- Public Member Functions inherited from SegmentUtilImplementations
EntityBaseList getEntityWithChildrenById (const std::string &id, bool includeMetaEntities, const Ice::Current &c=Ice::emptyCurrent) const override
 
EntityBaseList getEntityWithChildrenByName (const std::string &, bool includeMetaEntities, const Ice::Current &c=Ice::emptyCurrent) const override
 
std::string getJSONEntityById (const std::string &id, const Ice::Current &) const override
 
ScopedSharedLockPtr getReadLock (const Ice::Current &c) const
 
ScopedUniqueLockPtr getWriteLock (const Ice::Current &c) const
 
bool keepLockAlive (const std::string &token, const Ice::Current &) override
 
SegmentLockBasePtr lockSegment (const Ice::Current &c) override
 
 SegmentUtilImplementations ()
 
bool unlockSegment (const SegmentLockBasePtr &lock, const Ice::Current &c) override
 
bool unlockSegmentWithToken (const std::string &token, const Ice::Current &c) override
 

Additional Inherited Members

- Public Types inherited from SegmentUtilImplementations
using ScopedSharedLock = std::unique_lock< std::shared_mutex >
 
using ScopedSharedLockPtr = std::unique_ptr< ScopedSharedLock >
 
using ScopedUniqueLock = std::unique_lock< std::shared_mutex >
 
using ScopedUniqueLockPtr = std::unique_ptr< ScopedSharedLock >
 
- Protected Member Functions inherited from PersistentEntitySegment
EntityBasePtr deserializeEntity (const DBStorableData &dbEntity) const
 
void setSegmentName (const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) override
 
- Protected Member Functions inherited from SegmentUtilImplementations
void keepAliveCheck ()
 
- Protected Attributes inherited from PersistentEntitySegment
MongoSerializerPtr dbSerializer
 
std::recursive_mutex dbSerializerMutex
 
MemoryInterfacePtr parentMemory
 
CollectionPrxList readCollections
 
std::string segmentName
 
bool useMongoIds
 
CollectionInterfacePrx writeCollection
 
- Protected Attributes inherited from SegmentUtilImplementations
armarx::PeriodicTask< SegmentUtilImplementations >::pointer_type keepAliveCheckTask
 
IceUtil::Time keepAliveTimestamp
 
std::mutex keepAliveTimestampMutex
 
std::string lockToken
 
std::mutex mutex
 
ScopedSharedLockPtr readLock
 
std::shared_mutex segmentMutex
 
EntityMemorySegmentInterfacePrx selfProxy
 
std::mutex tokenMutex
 
ScopedUniqueLockPtr writeLock
 

Detailed Description

Definition at line 39 of file PersistentObjectInstanceSegment.h.

Constructor & Destructor Documentation

◆ PersistentObjectInstanceSegment()

PersistentObjectInstanceSegment ( CollectionInterfacePrx  entityCollection,
Ice::CommunicatorPtr  ic,
bool  useMongoIds = true 
)
inline

Definition at line 44 of file PersistentObjectInstanceSegment.h.

Member Function Documentation

◆ addObjectInstance()

std::string addObjectInstance ( const std::string &  instanceName,
const std::string &  className,
const armarx::LinkedPoseBasePtr &  objectPose,
const ::memoryx::MotionModelInterfacePtr &  motionModel,
const ::Ice::Current &  = Ice::emptyCurrent 
)
inlineoverride

Definition at line 150 of file PersistentObjectInstanceSegment.h.

+ Here is the call graph for this function:

◆ getObjectInstanceById()

ObjectInstanceBasePtr getObjectInstanceById ( const ::std::string &  id,
const ::Ice::Current &  = Ice::emptyCurrent 
) const
inlineoverride

Definition at line 49 of file PersistentObjectInstanceSegment.h.

◆ getObjectInstanceByName()

ObjectInstanceBasePtr getObjectInstanceByName ( const ::std::string &  name,
const ::Ice::Current &  = Ice::emptyCurrent 
) const
inlineoverride

Definition at line 54 of file PersistentObjectInstanceSegment.h.

◆ getObjectInstancesByClass()

ObjectInstanceList getObjectInstancesByClass ( const ::std::string &  className,
const ::Ice::Current &  c = Ice::emptyCurrent 
) const
inlineoverride

Definition at line 59 of file PersistentObjectInstanceSegment.h.

◆ getObjectInstancesByClassList()

ObjectInstanceList getObjectInstancesByClassList ( const NameList &  classList,
const ::Ice::Current &  = Ice::emptyCurrent 
) const
inlineoverride

Definition at line 67 of file PersistentObjectInstanceSegment.h.

◆ setNewMotionModel()

void setNewMotionModel ( const ::std::string &  entityId,
const ::memoryx::MotionModelInterfacePtr &  newMotionModel,
const ::Ice::Current &  = Ice::emptyCurrent 
)
inlineoverride

Definition at line 85 of file PersistentObjectInstanceSegment.h.

◆ setObjectPose()

void setObjectPose ( const std::string &  entityId,
const armarx::LinkedPoseBasePtr &  objectPose,
const ::Ice::Current &  = Ice::emptyCurrent 
)
inlineoverride

Definition at line 116 of file PersistentObjectInstanceSegment.h.

◆ setObjectPoseWithoutMotionModel()

void setObjectPoseWithoutMotionModel ( const std::string &  entityId,
const armarx::FramedPoseBasePtr &  objectPose,
const Ice::Current &   
)
inlineoverride

Definition at line 132 of file PersistentObjectInstanceSegment.h.

+ Here is the call graph for this function:

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