Skip to content

Commit 0dbf1db

Browse files
authored
0.0.2
0.0.2
2 parents 2d98e7c + 7bafc8e commit 0dbf1db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+4027
-55
lines changed

CMakeLists.txt

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ include_directories(
8080
##############################
8181
## ARCHIVING & COMPRESSION
8282
##############################
83+
84+
##############################
85+
## CORE
86+
##############################
8387
add_library(mementar_compression_lib
8488
src/core/archiving_compressing/binaryManagement/BitFileGenerator.cpp
8589
src/core/archiving_compressing/binaryManagement/BitFileGetter.cpp
@@ -90,7 +94,7 @@ add_library(mementar_compression_lib
9094
src/core/archiving_compressing/archiving/Archive.cpp
9195
)
9296

93-
add_library(mementar_tree_lib
97+
add_library(mementar_core_lib
9498
src/core/EpisodicTree/CompressedLeaf.cpp
9599
src/core/EpisodicTree/CompressedLeafNode.cpp
96100
src/core/EpisodicTree/Context.cpp
@@ -99,19 +103,45 @@ add_library(mementar_tree_lib
99103
src/core/EpisodicTree/ArchivedLeaf.cpp
100104
src/core/EpisodicTree/ArchivedLeafNode.cpp
101105
)
102-
target_link_libraries(mementar_tree_lib
106+
target_link_libraries(mementar_core_lib
103107
mementar_compression_lib
104108
pthread
105109
)
106110

111+
##############################
112+
## EVENTS
113+
##############################
114+
115+
add_library(mementar_events_lib
116+
src/core/Events/Subscription.cpp
117+
src/core/Events/EventsManager.cpp
118+
)
119+
target_link_libraries(mementar_events_lib ${catkin_LIBRARIES})
120+
add_dependencies(mementar_events_lib ${catkin_EXPORTED_TARGETS} mementar_gencpp)
121+
122+
##############################
123+
## API
124+
##############################
125+
126+
add_library(mementar_lib
127+
src/API/TimelineManipulator.cpp
128+
src/API/TimelinesManipulator.cpp
129+
src/API/clients/ManagerClient.cpp
130+
src/API/clients/ClientBase.cpp
131+
src/API/EventsPublisher.cpp
132+
src/API/EventsSubscriber.cpp
133+
)
134+
target_link_libraries(mementar_lib ${catkin_LIBRARIES})
135+
add_dependencies(mementar_lib ${catkin_EXPORTED_TARGETS} mementar_gencpp)
136+
107137
##############################
108138
## INTERFACE
109139
##############################
110140

111141
add_library(mementar_interface
112142
src/RosInterface.cpp
113143
)
114-
target_link_libraries(mementar_interface mementar_tree_lib)
144+
target_link_libraries(mementar_interface mementar_core_lib mementar_events_lib)
115145
target_link_libraries(mementar_interface ${catkin_LIBRARIES})
116146
add_dependencies(mementar_interface ${catkin_EXPORTED_TARGETS} mementar_gencpp)
117147

@@ -126,23 +156,37 @@ target_link_libraries(mementar mementar_interface)
126156
target_link_libraries(mementar ${catkin_LIBRARIES})
127157
add_dependencies(mementar ${catkin_EXPORTED_TARGETS})
128158

159+
add_executable(mementar_multi src/nodes/mementar_multi.cpp)
160+
target_link_libraries(mementar_multi mementar_interface)
161+
target_link_libraries(mementar_multi ${catkin_LIBRARIES})
162+
add_dependencies(mementar_multi ${catkin_EXPORTED_TARGETS})
163+
164+
##############################
165+
## Test executables
166+
##############################
167+
168+
169+
add_executable(event_sub_pub src/test/event_sub_pub.cpp)
170+
target_link_libraries(event_sub_pub ${catkin_LIBRARIES})
171+
target_link_libraries(event_sub_pub mementar_lib)
172+
129173
##############################
130174
## Install
131175
##############################
132176

133-
#install(TARGETS
134-
# mementar_lib
135-
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
136-
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
137-
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
138-
# PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
139-
#)
177+
install(TARGETS
178+
mementar_lib
179+
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
180+
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
181+
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
182+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
183+
)
140184

141-
#install(DIRECTORY include/${PROJECT_NAME}/
142-
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
143-
# FILES_MATCHING PATTERN "*.h"
144-
# PATTERN ".svn" EXCLUDE
145-
#)
185+
install(DIRECTORY include/${PROJECT_NAME}/
186+
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
187+
FILES_MATCHING PATTERN "*.h"
188+
PATTERN ".svn" EXCLUDE
189+
)
146190

147191
##############################
148192
## Tests

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ LAAS-CNRS, Toulouse, 2018 – 2019.
88
```
99

1010
[Release-Url]: https://github.com/sarthou/mementar/releases
11-
[Release-image]: http://img.shields.io/badge/release-v0.0.1-1eb0fc.svg
11+
[Release-image]: http://img.shields.io/badge/release-v0.0.2-1eb0fc.svg

docs/ClientBase.html

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
<html lang="en_US">
2+
3+
<head>
4+
<title>ClientBase Class | Mementar 0.0.2</title>
5+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
6+
<link href="style/mementar_api.css" rel="stylesheet" type="text/css">
7+
<link href="img/logo/favicon.ico" rel="shortcut icon">
8+
<link href="img/logo/favicon-32x32.png" rel="icon" type="image/png">
9+
<link href="img/logo/favicon-16x16.png" rel="icon" type="image/png">
10+
</head>
11+
12+
<body>
13+
<div class="header" id="header">
14+
<header class="fixed" id="navbar">
15+
<div class="container">
16+
<div class="navbar-header">
17+
<div id="header-buttons">
18+
<ul id="header-ul" data-event="hover_intent" data-effect="fade" data-effect-speed="500">
19+
<li class="header-item"><a class="header-link" href="https://github.com/sarthou/mementar/wiki" tabindex="0">Wiki</a></li>
20+
<li class="header-item"><a class="header-link" href="https://github.com/sarthou/mementar" tabindex="0"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/Octicons-mark-github.svg/1200px-Octicons-mark-github.svg.png" alt="github" width="40px" height="40px"/></a></li>
21+
</ul>
22+
</div>
23+
<a class="navbar-icon" href="index.html">
24+
<img src="img/logo/mementar.png " alt="mementar" width="65px" height="65px"/>
25+
</a>
26+
</div>
27+
</div>
28+
</header>
29+
</div>
30+
31+
<div class="main">
32+
33+
<div class="navigationbar">
34+
<ul class="sub-navigation">
35+
<li><a href="https://github.com/sarthou/mementar/tree/master/src/API">C++ API sources</a></li>
36+
<li><a href="https://github.com/sarthou/mementar/tree/master/include/mementar/API">C++ API headers</a></li>
37+
<li><a href="https://gitlab.com/sarthou/mementar/pipelines">Pipelines</a></li>
38+
</ul>
39+
<h1>Mementar API Documentation</h1>
40+
</div>
41+
42+
<div class="content">
43+
<div class="sidebar" style="transition: all 0.2s ease-out 0s; top: -588px;">
44+
<div class="contents class-content">
45+
<div id="contents-toggle" class=""></div>
46+
<h3>Contents</h3>
47+
<ul style="display: block;">
48+
<li class="level1"><a href="#public-functions">Public Functions</a></li>
49+
<li class="level1"><a href="#reimplemented-public-functions">Reimplemented Public Functions</a></li>
50+
<li class="level1"><a href="#protected-functions">Protected Functions</a></li>
51+
<li class="level1"><a href="#details">Detailed Description</a></li>
52+
</ul>
53+
</div>
54+
55+
<div class="contents">
56+
<div id="contents-toggle" class=""></div>
57+
<h3>Getting Start</h3>
58+
<ul style="display: block;">
59+
<li class="level1"><a href="Download.html">Download</a></li>
60+
<li class="level1"><a href="InstallMementar.html">Install Mementar</a></li>
61+
<li class="level1"><a href="SetUp.html">Set Up Your Environnement</a></li>
62+
<li class="level1"><a href="Tutorials.html">Tutorials</a></li>
63+
</ul>
64+
</div>
65+
66+
<div class="contents">
67+
<div id="contents-toggle" class=""></div>
68+
<h3><a href="CppAPI.html">All C++ Classes</a></h3>
69+
<ul style="display: block;">
70+
<li class="level1"><a href="ClientBase.html"><b>ClientBase</b></a></li>
71+
<li class="level1"><a href="Event.html">Event</a></li>
72+
<li class="level1"><a href="EventsPublisher.html">EventsPublisher</a></li>
73+
<li class="level1"><a href="EventsSubscriber.html">EventsSubscriber</a></li>
74+
<li class="level1"><a href="ManagerClient.html">ManagerClient</a></li>
75+
<li class="level1"><a href="TimelineManipulator.html">TimelineManipulator</a></li>
76+
<li class="level1"><a href="TimelinesManipulator.html">TimelinesManipulator</a></li>
77+
</ul>
78+
</div>
79+
80+
</div>
81+
82+
<div class="context">
83+
<h1 class="title">ClientBase Class</h1>
84+
<p>The ClientBase class provides a common ROS service abstraction. <a href="#details">More...</a></p>
85+
<div class="table">
86+
<table class="alignedsummary">
87+
<tbody>
88+
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &quot;mementar/API/clients/ClientBase.h&quot;</span></td></tr>
89+
<tr><td class="memItemLeft rightAlign topAlign"> Inherited By:</td><td class="memItemRight bottomAlign"> <a href="ManagerClient.html">ManagerClient</a></td></tr>
90+
</tbody>
91+
</table>
92+
</div>
93+
94+
<a name="public-functions"></a>
95+
<h2 id="public-functions">Public Functions</h2>
96+
<div class="table">
97+
<table class="alignedsummary">
98+
<tbody>
99+
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="ClientBase.html#ClientBase">ClientBase</a></b>(ros::NodeHandle* <i>n</i>, std::string <i>name</i>)</td></tr>
100+
<tr><td class="memItemLeft rightAlign topAlign"> size_t </td><td class="memItemRight bottomAlign"><b><a href="ClientBase.html#nb">nb</a></b>()</td></tr>
101+
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="ClientBase.html#resetNb">resetNb</a></b>()</td></tr>
102+
</tbody>
103+
</table>
104+
</div>
105+
106+
<a name="protected-functions"></a>
107+
<h2 id="protected-functions">Protected Functions</h2>
108+
<div class="table">
109+
<table class="alignedsummary">
110+
<tbody>
111+
<tr><td class="memItemLeft rightAlign topAlign"> std::vector&lt;std::string&gt; </td><td class="memItemRight bottomAlign"><b><a href="ClientBase.html#call">call</a></b>(mementar::MementarService&amp; <i>srv</i>)</td></tr>
112+
<tr><td class="memItemLeft rightAlign topAlign"> std::string </td><td class="memItemRight bottomAlign"><b><a href="ClientBase.html#callStr">callStr</a></b>(mementar::MementarService&amp; <i>srv</i>)</td></tr>
113+
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="ClientBase.html#callNR">callNR</a></b>(mementar::MementarService&amp; <i>srv</i>)</td></tr>
114+
</tbody>
115+
</table
116+
117+
<a name="details"></a>
118+
<div class="descr">
119+
<h2 id="details">Detailed Description</h2>
120+
<p>The ClientBase class provides an abstraction for any ROS services.</p>
121+
<p>This class ensure a persistent connection with the service based on. The persistent connection ensure a minimal response time. A reconnection logic is implemented in the event that the persistent connection fails. </p>
122+
</div>
123+
124+
<div class="func">
125+
<h2>Public Functions Documentation</h2>
126+
127+
<h3 class="fn" id="ClientBase"><a name="ClientBase"></a>mementar::ClientBase::<span class="name">ClientBase</span>(<span class="type">ros::NodeHandle</span>*<i> n</i>, const <span class="type">std::string</span>&amp; <i>name</i>)</h3>
128+
<p>Constructs a ROS client linked to the service <i>name</i> with a pointer to a NodeHandle <i>n</i>.</p>
129+
130+
<h3 class="fn" id="nb"><a name="nb"></a><span class="type">size_t</span> mementar::ClientBase::<span class="name">nb</span>()</h3>
131+
<p>Gives the total number of service calls from all ClientBase instances since the last reset.</p>
132+
133+
<h3 class="fn" id="resetNb"><a name="resetNb"></a><span class="type">void</span> mementar::ClientBase::<span class="name">resetNb</span>()</h3>
134+
<p>Reset Call Counter for all instances of ClientBase.</p>
135+
136+
<h2>Protected Function Documentation</h2>
137+
138+
<h3 class="fn" id="call"><a name="call"></a>inline <span class="type">std::vector&lt;std::string&gt;</span> mementar::ClientBase::<span class="name">call</span>(<span class="type">mementar::MementarService</span>&amp; <i>srv</i>)</h3>
139+
<p>Call the service setup in the constructor of ClientBase with the request <i>srv</i></p>
140+
<p>If the service call fails, the first element of the returned vector is &quot;ERR:SERVICE_FAIL&quot;.</p>
141+
142+
<h3 class="fn" id="callStr"><a name="callStr"></a>inline <span class="type">std::string</span> mementar::ClientBase::<span class="name">callStr</span>(<span class="type">mementar::MementarService</span>&amp; <i>srv</i>)</h3>
143+
<p>Call the service setup in the constructor of ClientBase with the request <i>srv</i></p>
144+
<p>If the service call fails, the returned value is &quot;ERR:SERVICE_FAIL&quot;.</p>
145+
146+
<h3 class="fn" id="callNR"><a name="callNR"></a>inline <span class="type">bool</span> mementar::ClientBase::<span class="name">callNR</span>(<span class="type">mementar::MementarService</span>&amp; <i>srv</i>)</h3>
147+
<p>Call the service setup in the constructor of ClientBase with the request <i>srv</i></p>
148+
<p>Return false if the service call fails.</p>
149+
150+
</div>
151+
</div>
152+
</div>
153+
154+
</div>
155+
</body>
156+
157+
<footer>
158+
<div align="center">
159+
<p>
160+
Brought to you by:
161+
<a class="laas_logo" href="https://www.laas.fr/public/">
162+
<img src="img/LogoLAAS-2016_BW.png " alt="LAAS-CNRS" height="60px"/>
163+
</a>
164+
</p>
165+
</div>
166+
</footer>
167+
168+
</html>

0 commit comments

Comments
 (0)