Skip to content

Commit c78c923

Browse files
committed
vsomeip 3.1.14.1
1 parent 8371cdc commit c78c923

File tree

124 files changed

+2759
-1762
lines changed

Some content is hidden

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

124 files changed

+2759
-1762
lines changed

Android.bp

+9-11
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ cc_defaults {
3636
"-Wno-sign-compare",
3737
"-Wno-format",
3838
"-Wno-header-guard",
39-
"-Wno-overloaded-virtual"
39+
"-Wno-overloaded-virtual",
40+
"-Wno-implicit-fallthrough"
4041
]
4142
}
4243

@@ -58,15 +59,14 @@ cc_library_shared {
5859

5960
local_include_dirs: [
6061
"interface",
61-
"implementation/helper/1.66"
62+
"implementation/helper/1.70"
6263
],
6364

6465
export_include_dirs: [
6566
"interface"
6667
],
6768

6869
shared_libs: [
69-
"libboost_log",
7070
"libboost_system",
7171
"libboost_thread",
7272
"libboost_filesystem",
@@ -89,12 +89,12 @@ cc_library_shared {
8989

9090
local_include_dirs: [
9191
"interface",
92-
"implementation/helper/1.66"
92+
"implementation/helper/1.70"
9393
],
9494

9595
shared_libs: [
9696
"libvsomeip",
97-
"libboost_log",
97+
"libboost_system",
9898
"libboost_filesystem"
9999
]
100100
}
@@ -113,12 +113,11 @@ cc_library_shared {
113113

114114
local_include_dirs: [
115115
"interface",
116-
"implementation/helper/1.66"
116+
"implementation/helper/1.70"
117117
],
118118

119119
shared_libs: [
120-
"libvsomeip",
121-
"libboost_log"
120+
"libvsomeip"
122121
]
123122
}
124123

@@ -136,11 +135,10 @@ cc_library_shared {
136135

137136
local_include_dirs: [
138137
"interface",
139-
"implementation/helper/1.66"
138+
"implementation/helper/1.70"
140139
],
141140

142141
shared_libs: [
143-
"libvsomeip",
144-
"libboost_log"
142+
"libvsomeip"
145143
]
146144
}

CHANGES

+48
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,54 @@
11
Changes
22
=======
33

4+
v3.1.14.1
5+
- Merged extended support for static routing (versioning)
6+
(by Jean-Patrice Laude <[email protected]>)
7+
- Merged simplification of build process for hello_world example
8+
(by Nikolay Khilyuk <[email protected]>)
9+
- Updated Android.bp to use boost 1.70.0 or higher
10+
- Merged Android support for hello_world example
11+
(by Nikolay Khilyuk <[email protected]>)
12+
- Align response sample to documentation (do not specify application name)
13+
(by JayHou <[email protected]>)
14+
- Call dlerror before calling dlsym to clear previous error.
15+
(by Oleg Kharitonov <[email protected]>)
16+
- Get base path from environment variable for Android NDK.
17+
(by Nikolay Khilyuk <[email protected]>)
18+
- Fixed wrong library naming
19+
(by Nikolay Khilyuk <[email protected]>)
20+
21+
v3.1.14
22+
- Fixed race conditions (application registration, subscription)
23+
24+
v3.1.13
25+
- Abort operation when doing a full rejoin
26+
- Protect access when consuming a policy
27+
- Decrease wait time for composite send operations
28+
- Reimplemented logger without using boost::log
29+
30+
v3.1.12
31+
- Ensure composite send operations have finished before resetting an endpoint.
32+
Otherwise this may cause a crash within boost.asio.
33+
- Always use the assigned client identifier when sending messages from a proxy.
34+
- Add TTL to initial timestamp to avoid immediate expiration.
35+
36+
v3.1.11
37+
- Preparation for new IPsec plugin (3.1.1)
38+
39+
v3.1.10
40+
- Reset subscriptions on stop offer service
41+
- Protect access to security policy contents
42+
- Tolerate wrong/incomplete event registrations in compatibility mode
43+
- Avoid buffering of pending subscriptions
44+
45+
v3.1.9
46+
- Fix race condition when processing multicast messages
47+
48+
v3.1.8
49+
- Fix deadlock when sending messages
50+
- Fix race condition when processing SD messages
51+
452
v3.1.7
553
- Fix stop subscribes when a service is released
654
- Improve handling of time stamps when processing subscriptions

CMakeLists.txt

+18-12
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ set (VSOMEIP_COMPAT_NAME vsomeip)
1111

1212
set (VSOMEIP_MAJOR_VERSION 3)
1313
set (VSOMEIP_MINOR_VERSION 1)
14-
set (VSOMEIP_PATCH_VERSION 7)
14+
set (VSOMEIP_PATCH_VERSION 14)
1515
set (VSOMEIP_HOTFIX_VERSION 1)
1616

1717
set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP_PATCH_VERSION})
18-
set (PACKAGE_VERSION ${VSOMEIP_VERSION}) # Used in documentatin/doxygen.in
18+
set (PACKAGE_VERSION ${VSOMEIP_VERSION}) # Used in documentation/doxygen.in
1919
set (CMAKE_VERBOSE_MAKEFILE off)
2020

2121
if (NOT GTEST_ROOT)
@@ -96,11 +96,15 @@ if (ENABLE_SIGNAL_HANDLING)
9696
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVSOMEIP_ENABLE_SIGNAL_HANDLING")
9797
endif ()
9898

99-
# Thread sanitizer
99+
# Sanitizer
100100
if (ENABLE_THREAD_SANITIZER)
101101
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread")
102102
endif ()
103103

104+
if (ENABLE_LEAK_SANITIZER)
105+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=leak")
106+
endif ()
107+
104108
# Configuration overlays
105109
if (ENABLE_CONFIGURATION_OVERLAYS)
106110
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVSOMEIP_ENABLE_CONFIGURATION_OVERLAYS")
@@ -128,7 +132,7 @@ endif ()
128132
find_package(Threads REQUIRED)
129133

130134
# Boost
131-
find_package( Boost 1.55 COMPONENTS system thread log REQUIRED )
135+
find_package( Boost 1.55 COMPONENTS system thread filesystem REQUIRED )
132136
include_directories( ${Boost_INCLUDE_DIR} )
133137

134138
if(Boost_FOUND)
@@ -152,7 +156,7 @@ else()
152156
endif()
153157

154158
message( STATUS "Using boost version: ${VSOMEIP_BOOST_VERSION}" )
155-
if (${VSOMEIP_BOOST_VERSION} GREATER 107200)
159+
if (${VSOMEIP_BOOST_VERSION} GREATER 107300)
156160
message( ERROR "boost version ${VSOMEIP_BOOST_VERSION} is not (yet) supported. Latest supported version is 1.72.0" )
157161
elseif(${VSOMEIP_BOOST_VERSION} GREATER 106999)
158162
set(VSOMEIP_BOOST_HELPER implementation/helper/1.70)
@@ -209,14 +213,14 @@ if (MSVC)
209213
message("using MSVC Compiler")
210214
# add_definitions(-DVSOMEIP_DLL_COMPILATION) now it is controlled per target
211215
SET(BOOST_WINDOWS_VERSION "0x600" CACHE STRING "Set the same Version as the Version with which Boost was built, otherwise there will be errors. (normaly 0x600 is for Windows 7 and 0x501 is for Windows XP)")
212-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=${BOOST_WINDOWS_VERSION} -DWIN32 -DBOOST_LOG_DYN_LINK -DBOOST_ASIO_DISABLE_IOCP /EHsc")
213-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=${BOOST_WINDOWS_VERSION} -DWIN32 -DBOOST_LOG_DYN_LINK -DBOOST_ASIO_DISABLE_IOCP /EHsc")
216+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=${BOOST_WINDOWS_VERSION} -DWIN32 -DBOOST_ASIO_DISABLE_IOCP /EHsc")
217+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=${BOOST_WINDOWS_VERSION} -DWIN32 -DBOOST_ASIO_DISABLE_IOCP /EHsc")
214218
set(USE_RT "")
215219
set(Boost_LIBRARIES "")
216220
link_directories(${Boost_LIBRARY_DIR_DEBUG})
217221
ADD_DEFINITIONS( -DBOOST_ALL_DYN_LINK )
218222
else()
219-
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${OS} ${OS_CXX_FLAGS} -DBOOST_LOG_DYN_LINK -g ${OPTIMIZE} -std=c++11 ${NO_DEPRECATED} ${EXPORTSYMBOLS}")
223+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${OS} ${OS_CXX_FLAGS} -g ${OPTIMIZE} -std=c++11 ${NO_DEPRECATED} ${EXPORTSYMBOLS}")
220224
set(USE_RT "rt")
221225
endif()
222226

@@ -242,7 +246,7 @@ endif ()
242246
################################################################################
243247
file(GLOB ${VSOMEIP_NAME}_SRC
244248
"implementation/endpoints/src/*.cpp"
245-
"implementation/logging/src/*.cpp"
249+
"implementation/logger/src/*.cpp"
246250
"implementation/tracing/src/*.cpp"
247251
"implementation/message/src/*.cpp"
248252
"implementation/plugin/src/*.cpp"
@@ -252,7 +256,7 @@ file(GLOB ${VSOMEIP_NAME}_SRC
252256
"implementation/utility/src/*.cpp"
253257
)
254258
if (VSOMEIP_ENABLE_MULTIPLE_ROUTING_MANAGERS EQUAL 1)
255-
list(APPEND ${VSOMEIP_NAME}_SRC ${${VSOMEIP_NAME}-cfg_SRC})
259+
list(APPEND ${VSOMEIP_NAME}_SRC "implementation/configuration/src/configuration_impl.cpp")
256260
endif()
257261
list(SORT ${VSOMEIP_NAME}_SRC)
258262

@@ -553,7 +557,7 @@ else()
553557
-a version=${VSOMEIP_VERSION}
554558
-b html
555559
-o documentation/vsomeipUserGuide.html
556-
${PROJECT_BINARY_DIR}/../documentation/vsomeipUserGuide)
560+
${PROJECT_SOURCE_DIR}/documentation/vsomeipUserGuide)
557561
endif()
558562

559563
##############################################################################
@@ -576,7 +580,9 @@ add_subdirectory( tools )
576580
# build examples
577581
add_custom_target( examples )
578582
add_subdirectory( examples EXCLUDE_FROM_ALL )
579-
583+
add_custom_target( hello_world )
584+
add_subdirectory( examples/hello_world EXCLUDE_FROM_ALL )
585+
580586
##############################################################################
581587
# Test section
582588
##############################################################################

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
### vsomeip
22

33
##### Copyright
4-
Copyright (C) 2015-2017, Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
4+
Copyright (C) 2015-2020, Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
55

66
##### License
77

@@ -22,9 +22,9 @@ MiddlewarE over IP (SOME/IP)) protocol. The stack consists out of:
2222

2323
###### Dependencies
2424

25-
- A C++11 enabled compiler like gcc >= 4.8 is needed.
25+
- A C++11 enabled compiler like gcc >= 5.4 is needed.
2626
- vsomeip uses CMake as buildsystem.
27-
- vsomeip uses Boost >= 1.55:
27+
- vsomeip uses Boost v1.55.0 - v1.73.0
2828

2929
Ubuntu 14.04:
3030

@@ -115,4 +115,4 @@ PRODUCT_PACKAGES += \
115115
libvsomeip \
116116
libvsomeip_cfg \
117117
libvsomeip_sd
118-
```
118+
```

examples/hello_world/Android.bp

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
cc_defaults {
2+
name: "vsomeip_hello_world_defaults",
3+
vendor: true,
4+
5+
cppflags: [
6+
"-std=c++11",
7+
"-Wno-unused-parameter",
8+
],
9+
10+
shared_libs: [
11+
"libvsomeip",
12+
"libvsomeip_cfg",
13+
"libvsomeip_e2e",
14+
"libvsomeip_sd",
15+
],
16+
}
17+
18+
cc_binary {
19+
name: "vsomeip_hello_world_service",
20+
defaults: ["vsomeip_hello_world_defaults"],
21+
22+
srcs: [
23+
"hello_world_service.cpp",
24+
],
25+
}
26+
27+
cc_binary {
28+
name: "vsomeip_hello_world_client",
29+
defaults: ["vsomeip_hello_world_defaults"],
30+
31+
srcs: [
32+
"hello_world_client.cpp",
33+
],
34+
}
35+
36+
prebuilt_etc {
37+
name: "helloworld-local.json",
38+
sub_dir: "vsomeip",
39+
src: "helloworld-local.json",
40+
}

examples/hello_world/hello_world_client.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ hello_world_client *hw_cl_ptr(nullptr);
146146

147147
int main(int argc, char **argv)
148148
{
149+
(void)argc;
150+
(void)argv;
151+
149152
hello_world_client hw_cl;
150153
#ifndef VSOMEIP_ENABLE_SIGNAL_HANDLING
151154
hw_cl_ptr = &hw_cl;

examples/hello_world/hello_world_service.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@ hello_world_service *hw_srv_ptr(nullptr);
140140

141141
int main(int argc, char **argv)
142142
{
143+
(void)argc;
144+
(void)argv;
145+
143146
hello_world_service hw_srv;
144147
#ifndef VSOMEIP_ENABLE_SIGNAL_HANDLING
145148
hw_srv_ptr = &hw_srv;

examples/hello_world/readme

+11
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,21 @@
66
Build instructions for Hello World example
77
------------------------------------------
88

9+
1. Build whole project at first:
10+
________________________________
11+
cd <root directory of vSomeIP-Lib>$:
12+
913
mkdir build
1014
cd build
1115
cmake ..
1216
make
17+
sudo make install
18+
19+
2. Build hello_world target
20+
___________________________
21+
cmake --build . --target hello_world
22+
cd ./examples/hello_world/
23+
make
1324

1425
Running Hello World Example
1526
---------------------------

examples/hello_world/readme_android

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
To start service and client:
2+
3+
Shell1:
4+
VSOMEIP_CONFIGURATION=/etc/vsomeip/helloworld-local.json \
5+
VSOMEIP_APPLICATION_NAME=hello_world_service \
6+
vsomeip_hello_world_service
7+
8+
Shell2:
9+
VSOMEIP_CONFIGURATION=/etc/vsomeip/helloworld-local.json \
10+
VSOMEIP_APPLICATION_NAME=hello_world_client \
11+
vsomeip_hello_world_client

examples/response-sample.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
class service_sample {
2020
public:
2121
service_sample(bool _use_static_routing) :
22-
app_(vsomeip::runtime::get()->create_application("response-sample")),
22+
app_(vsomeip::runtime::get()->create_application()),
2323
is_registered_(false),
2424
use_static_routing_(_use_static_routing),
2525
blocked_(false),

examples/routingmanagerd/routingmanagerd.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
#ifdef USE_DLT
1919
#include <dlt/dlt.h>
20-
#include "../../implementation/logging/include/defines.hpp"
20+
2121
#endif
2222

2323
static std::shared_ptr<vsomeip::application> its_application;

0 commit comments

Comments
 (0)