30 #include <MemoryX/interface/components/CommonStorageInterface.h>
31 #include <MemoryX/interface/components/LongtermMemoryInterface.h>
32 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
44 defineOptionalProperty<std::string>(
45 "SnapshotListCollection",
46 LTM::SegmentNames::SNAPSHOTS,
47 "Mongo collection holding a list of snapshots with corresponding metadata");
48 defineOptionalProperty<std::string>(
49 "OacCollection", LTM::SegmentNames::OACS,
"Mongo collection holding all OACs");
50 defineOptionalProperty<std::string>(
51 "DmpCollection", LTM::SegmentNames::DMP,
"Mongo collection holding all DMPs");
52 defineOptionalProperty<std::string>(
"KbmCollection",
53 LTM::SegmentNames::KBM,
54 "Mongo collection holding all KBM instances");
55 defineOptionalProperty<std::string>(
"ProfilerDataCollection",
56 "ltm_" + LTM::SegmentNames::PROFILER,
57 "Mongo collection for storing Profiler data");
58 defineOptionalProperty<std::string>(
"ResourceProfileCollection",
59 "ltm_" + LTM::SegmentNames::RESOURCE_PROFILES,
60 "Mongo collection for storing ResourceProfile");
61 defineOptionalProperty<std::string>(
"PredictionDataCollection",
62 "ltm_" + LTM::SegmentNames::PREDICTION_DATA,
63 "Mongo collection for storing ResourceProfile");
64 defineOptionalProperty<std::string>(
65 "SelfLocalisationCollection",
66 "ltm_" + LTM::SegmentNames::SELF_LOCALISATION,
67 "Mongo collection for storing self localisation results");
68 defineOptionalProperty<std::string>(
70 "memdb.Longterm_Objects",
71 "Comma separated list of MongoDB collections (<db>.<collection>) which store known "
72 "object classes. First collection will be used for writing.");
85 virtual public LongtermMemoryInterface,
90 std::string getDefaultName()
const override;
91 void onInitLongtermMemory()
override;
92 void onConnectLongtermMemory()
override;
94 std::string getMemoryName(
const Ice::Current& = Ice::emptyCurrent)
const override;
97 WorkingMemorySnapshotListSegmentBasePrx
98 getWorkingMemorySnapshotListSegment(const ::Ice::Current& = Ice::emptyCurrent)
override;
100 PersistentObjectInstanceSegmentBasePrx
101 getCustomInstancesSegment(
const std::string& segmentName,
102 bool createIfMissing,
103 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
104 OacMemorySegmentBasePrx getOacSegment(const ::Ice::Current& = Ice::emptyCurrent)
override;
105 KBMSegmentBasePrx getKBMSegment(
const Ice::Current&)
override;
106 PersistentDMPDataSegmentBasePrx
107 getDMPSegment(const ::Ice::Current& = Ice::emptyCurrent)
override;
108 PersistentProfilerDataSegmentBasePrx
109 getProfilerDataSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
110 PersistentPredictionDataSegmentBasePrx
111 getPredictionDataSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
112 PersistentResourceProfileSegmentBasePrx
113 getResourceProfileSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
114 PersistentEntitySegmentBasePrx
115 getSelfLocalisationSegment(
const Ice::Current&
c = Ice::emptyCurrent)
override;
117 PersistentObjectClassSegmentBasePrx
118 getObjectClassesSegment(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
119 CommonStorageInterfacePrx
120 getCommonStorage(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
123 void loadWorkingMemorySnapshot(
const std::string& snapshotName,
124 const AbstractWorkingMemoryInterfacePrx& workingMemory,
125 const ::Ice::Current& = Ice::emptyCurrent)
override;
126 bool saveWorkingMemorySnapshot(
const std::string& snapshotName,
127 const AbstractWorkingMemoryInterfacePrx& workingMemory,
128 const ::Ice::Current& = Ice::emptyCurrent)
override;
129 bool removeWorkingMemorySnapshot(
const std::string& snapshotName,
130 const ::Ice::Current& = Ice::emptyCurrent)
override;
131 WorkingMemorySnapshotInterfacePrx
132 openWorkingMemorySnapshot(
const std::string& snapshotName,
133 const ::Ice::Current& = Ice::emptyCurrent)
override;
134 NameList getSnapshotNames(const ::Ice::Current& = Ice::emptyCurrent)
override;
146 AbstractMemorySegmentPrx addGenericSegment(
const std::string& segmentName,
147 const Ice::Current&)
override;
150 DatabaseInterfacePrx databaseInterfacePrx;
151 PriorKnowledgeInterfacePrx priorKnowledgePrx;
152 NameList classCollNames;