ObjectWriter.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  * @author Fabian Reister ( fabian dot reister at kit dot edu )
17  * @date 2021
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
24 #include <mutex>
25 #include <optional>
26 
28 
31 #include <RobotAPI/libraries/armem_objects/aron/ObjectInstance.aron.generated.h>
33 
35 {
36  class Writer
37  {
38  public:
39  Writer();
40  virtual ~Writer() = default;
41 
43  void connect(armem::client::MemoryNameSystem& memoryNameSystem);
44 
45  bool commitObject(const armem::arondto::ObjectInstance& inst,
46  const std::string& provider,
47  const armem::Time&);
48 
49 
50  private:
51  struct Properties
52  {
53  std::string memoryName = "Object";
54  std::string coreSegmentName = "Instance";
55  } properties;
56 
57  const std::string propertyPrefix = "mem.obj.instance.";
58 
59  armem::client::Writer memoryWriter;
60  };
61 
62 
63 } // namespace armarx::armem::obj::instance
Writer.h
armarx::armem::obj::instance::Writer::~Writer
virtual ~Writer()=default
armarx::armem::obj::instance::Writer::commitObject
bool commitObject(const armem::arondto::ObjectInstance &inst, const std::string &provider, const armem::Time &)
Definition: ObjectWriter.cpp:56
types.h
armarx::armem::obj::instance::Writer
Definition: ObjectWriter.h:36
armarx::armem::client::Writer
Helps a memory client sending data to a memory.
Definition: Writer.h:22
armarx::armem::obj::instance::Writer::registerPropertyDefinitions
void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr &def)
Definition: ObjectWriter.cpp:25
armarx::armem::obj::instance::Writer::Writer
Writer()
Definition: ObjectWriter.cpp:20
armarx::armem::obj::instance::Writer::connect
void connect(armem::client::MemoryNameSystem &memoryNameSystem)
Definition: ObjectWriter.cpp:39
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
PropertyDefinitionContainer.h
armarx::armem::laser_scans::constants::memoryName
const std::string memoryName
Definition: constants.h:28
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::armem::client::MemoryNameSystem
The memory name system (MNS) client.
Definition: MemoryNameSystem.h:69
MemoryNameSystem.h
armarx::armem::obj::instance
Definition: ObjectReader.cpp:22