27 #include <MemoryX/interface/components/LongtermMemoryInterface.h>
28 #include <MemoryX/interface/components/CommonStorageInterface.h>
29 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
45 defineOptionalProperty<std::string>(
"SnapshotListCollection", LTM::SegmentNames::SNAPSHOTS,
"Mongo collection holding a list of snapshots with corresponding metadata");
46 defineOptionalProperty<std::string>(
"OacCollection", LTM::SegmentNames::OACS,
"Mongo collection holding all OACs");
47 defineOptionalProperty<std::string>(
"DmpCollection", LTM::SegmentNames::DMP,
"Mongo collection holding all DMPs");
48 defineOptionalProperty<std::string>(
"KbmCollection", LTM::SegmentNames::KBM,
"Mongo collection holding all KBM instances");
49 defineOptionalProperty<std::string>(
"ProfilerDataCollection",
"ltm_" + LTM::SegmentNames::PROFILER,
"Mongo collection for storing Profiler data");
50 defineOptionalProperty<std::string>(
"ResourceProfileCollection",
"ltm_" + LTM::SegmentNames::RESOURCE_PROFILES,
"Mongo collection for storing ResourceProfile");
51 defineOptionalProperty<std::string>(
"PredictionDataCollection",
"ltm_" + LTM::SegmentNames::PREDICTION_DATA,
"Mongo collection for storing ResourceProfile");
52 defineOptionalProperty<std::string>(
"SelfLocalisationCollection",
"ltm_" + LTM::SegmentNames::SELF_LOCALISATION,
"Mongo collection for storing self localisation results");
53 defineOptionalProperty<std::string>(
"ClassCollections",
"memdb.Longterm_Objects",
"Comma separated list of MongoDB collections (<db>.<collection>) which store known object classes. First collection will be used for writing.");
66 virtual public LongtermMemoryInterface,
71 std::string getDefaultName()
const override;
72 void onInitLongtermMemory()
override;
73 void onConnectLongtermMemory()
override;
75 std::string getMemoryName(
const Ice::Current& = Ice::emptyCurrent)
const override;
78 WorkingMemorySnapshotListSegmentBasePrx getWorkingMemorySnapshotListSegment(const ::Ice::Current& = Ice::emptyCurrent)
override;
80 PersistentObjectInstanceSegmentBasePrx getCustomInstancesSegment(
const std::string& segmentName,
bool createIfMissing, const ::Ice::Current&
c = Ice::emptyCurrent)
override;
81 OacMemorySegmentBasePrx getOacSegment(const ::Ice::Current& = Ice::emptyCurrent)
override;
82 KBMSegmentBasePrx getKBMSegment(
const Ice::Current&)
override;
83 PersistentDMPDataSegmentBasePrx getDMPSegment(const ::Ice::Current& = Ice::emptyCurrent)
override;
84 PersistentProfilerDataSegmentBasePrx getProfilerDataSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
85 PersistentPredictionDataSegmentBasePrx getPredictionDataSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
86 PersistentResourceProfileSegmentBasePrx getResourceProfileSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
87 PersistentEntitySegmentBasePrx getSelfLocalisationSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
89 PersistentObjectClassSegmentBasePrx getObjectClassesSegment(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
90 CommonStorageInterfacePrx getCommonStorage(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
93 void loadWorkingMemorySnapshot(
const std::string& snapshotName,
const AbstractWorkingMemoryInterfacePrx& workingMemory, const ::Ice::Current& = Ice::emptyCurrent)
override;
94 bool saveWorkingMemorySnapshot(
const std::string& snapshotName,
const AbstractWorkingMemoryInterfacePrx& workingMemory, const ::Ice::Current& = Ice::emptyCurrent)
override;
95 bool removeWorkingMemorySnapshot(
const std::string& snapshotName, const ::Ice::Current& = Ice::emptyCurrent)
override;
96 WorkingMemorySnapshotInterfacePrx openWorkingMemorySnapshot(
const std::string& snapshotName, const ::Ice::Current& = Ice::emptyCurrent)
override;
97 NameList getSnapshotNames(const ::Ice::Current& = Ice::emptyCurrent)
override;
106 AbstractMemorySegmentPrx addGenericSegment(
const std::string& segmentName,
const Ice::Current&)
override;
109 DatabaseInterfacePrx databaseInterfacePrx;
110 PriorKnowledgeInterfacePrx priorKnowledgePrx;
111 NameList classCollNames;