summaryrefslogtreecommitdiff
path: root/implementation/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/runtime')
-rw-r--r--implementation/runtime/include/application_impl.hpp7
-rw-r--r--implementation/runtime/src/application_impl.cpp12
-rw-r--r--implementation/runtime/src/runtime_impl.cpp3
3 files changed, 15 insertions, 7 deletions
diff --git a/implementation/runtime/include/application_impl.hpp b/implementation/runtime/include/application_impl.hpp
index 76d316e..fea635e 100644
--- a/implementation/runtime/include/application_impl.hpp
+++ b/implementation/runtime/include/application_impl.hpp
@@ -52,7 +52,7 @@ public:
VSOMEIP_EXPORT void offer_event(service_t _service,
instance_t _instance, event_t _event,
- std::set<eventgroup_t> _eventgroups,
+ const std::set<eventgroup_t> &_eventgroups,
bool _is_field);
VSOMEIP_EXPORT void stop_offer_event(service_t _service,
instance_t _instance, event_t _event);
@@ -66,13 +66,14 @@ public:
VSOMEIP_EXPORT void request_event(service_t _service,
instance_t _instance, event_t _event,
- std::set<eventgroup_t> _eventgroups,
+ const std::set<eventgroup_t> &_eventgroups,
bool _is_field);
VSOMEIP_EXPORT void release_event(service_t _service,
instance_t _instance, event_t _event);
VSOMEIP_EXPORT void subscribe(service_t _service, instance_t _instance,
- eventgroup_t _eventgroup, major_version_t _major);
+ eventgroup_t _eventgroup, major_version_t _major,
+ subscription_type_e _subscription_type);
VSOMEIP_EXPORT void unsubscribe(service_t _service, instance_t _instance,
eventgroup_t _eventgroup);
diff --git a/implementation/runtime/src/application_impl.cpp b/implementation/runtime/src/application_impl.cpp
index f713e28..c9efed4 100644
--- a/implementation/runtime/src/application_impl.cpp
+++ b/implementation/runtime/src/application_impl.cpp
@@ -245,7 +245,9 @@ void application_impl::start() {
}
void application_impl::stop() {
+#ifndef WIN32 // Gives serious problems under Windows.
VSOMEIP_INFO << "Stopping vsomeip application \"" << name_ << "\"";
+#endif
std::lock_guard<std::mutex> its_lock(start_stop_mutex_);
is_dispatching_ = false;
dispatch_condition_.notify_all();
@@ -293,9 +295,11 @@ void application_impl::release_service(service_t _service,
}
void application_impl::subscribe(service_t _service, instance_t _instance,
- eventgroup_t _eventgroup, major_version_t _major) {
+ eventgroup_t _eventgroup, major_version_t _major,
+ subscription_type_e _subscription_type) {
if (routing_)
- routing_->subscribe(client_, _service, _instance, _eventgroup, _major);
+ routing_->subscribe(client_, _service, _instance, _eventgroup, _major,
+ _subscription_type);
}
void application_impl::unsubscribe(service_t _service, instance_t _instance,
@@ -441,7 +445,7 @@ void application_impl::unregister_message_handler(service_t _service,
}
void application_impl::offer_event(service_t _service, instance_t _instance,
- event_t _event, std::set<eventgroup_t> _eventgroups, bool _is_field) {
+ event_t _event, const std::set<eventgroup_t> &_eventgroups, bool _is_field) {
if (routing_)
routing_->register_event(client_, _service, _instance, _event,
_eventgroups, _is_field, true);
@@ -454,7 +458,7 @@ void application_impl::stop_offer_event(service_t _service, instance_t _instance
}
void application_impl::request_event(service_t _service, instance_t _instance,
- event_t _event, std::set<eventgroup_t> _eventgroups, bool _is_field) {
+ event_t _event, const std::set<eventgroup_t> &_eventgroups, bool _is_field) {
if (routing_)
routing_->register_event(client_, _service, _instance, _event,
_eventgroups, _is_field, false);
diff --git a/implementation/runtime/src/runtime_impl.cpp b/implementation/runtime/src/runtime_impl.cpp
index e50ceca..2131da5 100644
--- a/implementation/runtime/src/runtime_impl.cpp
+++ b/implementation/runtime/src/runtime_impl.cpp
@@ -34,6 +34,7 @@ std::shared_ptr<message> runtime_impl::create_message(bool _reliable) const {
its_message->set_protocol_version(VSOMEIP_PROTOCOL_VERSION);
its_message->set_return_code(return_code_e::E_OK);
its_message->set_reliable(_reliable);
+ its_message->set_interface_version(DEFAULT_MAJOR);
return (its_message);
}
@@ -44,6 +45,7 @@ std::shared_ptr<message> runtime_impl::create_request(bool _reliable) const {
its_request->set_message_type(message_type_e::MT_REQUEST);
its_request->set_return_code(return_code_e::E_OK);
its_request->set_reliable(_reliable);
+ its_request->set_interface_version(DEFAULT_MAJOR);
return (its_request);
}
@@ -71,6 +73,7 @@ std::shared_ptr<message> runtime_impl::create_notification(
its_notification->set_message_type(message_type_e::MT_NOTIFICATION);
its_notification->set_return_code(return_code_e::E_OK);
its_notification->set_reliable(_reliable);
+ its_notification->set_interface_version(DEFAULT_MAJOR);
return (its_notification);
}