MemoryIDResolver.h
Go to the documentation of this file.
1 /**
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package VisionX::components::MemoryGrapher
17  * @author [Author Name] ( [Author Email] )
18  * @date 2021
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 #pragma once
24 
25 #include <map>
26 #include <optional>
27 
33 
34 #include "MemoryGraph.h"
35 
37 {
39  {
40  public:
42 
44 
45  private:
46  std::optional<armarx::armem::wm::Memory> resolveID(const armarx::armem::MemoryID& memoryID);
47 
48  static std::optional<std::pair<armarx::aron::data::DictPtr, armarx::aron::type::ObjectPtr>>
49  extractObjectAndType(const armarx::armem::wm::Memory& memory,
51 
52  static std::map<std::string, armarx::armem::MemoryID>
53  getMemoryIDs(const armarx::aron::data::DictPtr& obj,
54  const armarx::aron::type::ObjectPtr& type);
55 
57  };
58 } // namespace armarx::armem::id_graph
armarx::armem::id_graph
Definition: json_conversions.h:30
armarx::armem::id_graph::MemoryIDResolver::MemoryIDResolver
MemoryIDResolver(armarx::armem::client::MemoryNameSystem &mns)
Definition: MemoryIDResolver.cpp:45
query.h
MemoryID.h
semrel::RelationGraph
Definition: forward_declarations.h:28
armarx::memory
Brief description of class memory.
Definition: memory.h:39
armarx::armem::id_graph::MemoryIDResolver
Definition: MemoryIDResolver.h:38
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::wm::Memory
Client-side working memory.
Definition: memory_definitions.h:133
forward_declarations.h
forward_declarations.h
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::armem::index::memoryID
const MemoryID memoryID
Definition: memory_ids.cpp:29
armarx::armem::client::MemoryNameSystem
The memory name system (MNS) client.
Definition: MemoryNameSystem.h:69
armarx::armem::id_graph::MemoryIDResolver::resolveToGraph
MemoryGraph resolveToGraph(const armarx::armem::MemoryID &memoryID)
Definition: MemoryIDResolver.cpp:51
MemoryGraph.h
MemoryNameSystem.h
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36