summaryrefslogtreecommitdiff
path: root/interface/vsomeip/application.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'interface/vsomeip/application.hpp')
-rw-r--r--interface/vsomeip/application.hpp31
1 files changed, 24 insertions, 7 deletions
diff --git a/interface/vsomeip/application.hpp b/interface/vsomeip/application.hpp
index dc4784d..67b35b5 100644
--- a/interface/vsomeip/application.hpp
+++ b/interface/vsomeip/application.hpp
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2015 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
+// Copyright (C) 2014-2016 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
@@ -40,8 +40,9 @@ public:
major_version_t _major = DEFAULT_MAJOR, minor_version_t _minor =
DEFAULT_MINOR) = 0;
- virtual void stop_offer_service(service_t _service,
- instance_t _instance) = 0;
+ virtual void stop_offer_service(service_t _service, instance_t _instance,
+ major_version_t _major = DEFAULT_MAJOR, minor_version_t _minor =
+ DEFAULT_MINOR) = 0;
virtual void offer_event(service_t _service,
instance_t _instance, event_t _event,
@@ -65,12 +66,14 @@ public:
virtual void subscribe(service_t _service, instance_t _instance,
eventgroup_t _eventgroup, major_version_t _major = DEFAULT_MAJOR,
- subscription_type_e _subscription_type = subscription_type_e::SU_RELIABLE_AND_UNRELIABLE) = 0;
+ subscription_type_e _subscription_type = subscription_type_e::SU_RELIABLE_AND_UNRELIABLE,
+ event_t _event = ANY_EVENT) = 0;
virtual void unsubscribe(service_t _service, instance_t _instance,
eventgroup_t _eventgroup) = 0;
- virtual bool is_available(service_t _service, instance_t _instance) const = 0;
+ virtual bool is_available(service_t _service, instance_t _instance,
+ major_version_t _major = DEFAULT_MAJOR, minor_version_t _minor = DEFAULT_MINOR) const = 0;
// Send a message
virtual void send(std::shared_ptr<message> _message, bool _flush = true) = 0;
@@ -96,9 +99,11 @@ public:
// [Un]Register handler for availability reporting
virtual void register_availability_handler(service_t _service,
- instance_t _instance, availability_handler_t _handler) = 0;
+ instance_t _instance, availability_handler_t _handler,
+ major_version_t _major = DEFAULT_MAJOR, minor_version_t _minor = DEFAULT_MINOR) = 0;
virtual void unregister_availability_handler(service_t _service,
- instance_t _instance) = 0;
+ instance_t _instance,
+ major_version_t _major = DEFAULT_MAJOR, minor_version_t _minor = DEFAULT_MINOR) = 0;
// [Un]Register handler for subscriptions
virtual void register_subscription_handler(service_t _service,
@@ -106,6 +111,18 @@ public:
subscription_handler_t _handler) = 0;
virtual void unregister_subscription_handler(service_t _service,
instance_t _instance, eventgroup_t _eventgroup) = 0;
+
+ // [Un]Register handler for subscription errors
+ virtual void register_subscription_error_handler(service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup,
+ error_handler_t _handler) = 0;
+ virtual void unregister_subscription_error_handler(service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup) = 0;
+
+ virtual void clear_all_handler() = 0;
+
+ // Routing/SD hosted by this application!?
+ virtual bool is_routing() const = 0;
};
} // namespace vsomeip