summaryrefslogtreecommitdiff
path: root/implementation/routing/include/routing_manager_stub_host.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/routing/include/routing_manager_stub_host.hpp')
-rw-r--r--implementation/routing/include/routing_manager_stub_host.hpp98
1 files changed, 98 insertions, 0 deletions
diff --git a/implementation/routing/include/routing_manager_stub_host.hpp b/implementation/routing/include/routing_manager_stub_host.hpp
new file mode 100644
index 0000000..a6d461e
--- /dev/null
+++ b/implementation/routing/include/routing_manager_stub_host.hpp
@@ -0,0 +1,98 @@
+// Copyright (C) 2014-2017 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/.
+
+#ifndef VSOMEIP_ROUTING_MANAGER_STUB_HOST
+#define VSOMEIP_ROUTING_MANAGER_STUB_HOST
+
+#include <boost/asio/io_service.hpp>
+#include <vsomeip/handler.hpp>
+
+#include "types.hpp"
+
+namespace vsomeip {
+
+class routing_manager_stub_host {
+public:
+ virtual ~routing_manager_stub_host() {
+ }
+
+ virtual bool offer_service(client_t _client, service_t _service,
+ instance_t _instance, major_version_t _major,
+ minor_version_t _minor) = 0;
+
+ virtual void stop_offer_service(client_t _client, service_t _service,
+ instance_t _instance, major_version_t _major, minor_version_t _minor) = 0;
+
+ virtual void request_service(client_t _client, service_t _service,
+ instance_t _instance, major_version_t _major,
+ minor_version_t _minor, bool _use_exclusive_proxy) = 0;
+
+ virtual void release_service(client_t _client, service_t _service,
+ instance_t _instance) = 0;
+
+ virtual void register_shadow_event(client_t _client, service_t _service,
+ instance_t _instance, event_t _event,
+ const std::set<eventgroup_t> &_eventgroups,
+ bool _is_field, bool _is_provided) = 0;
+
+ virtual void unregister_shadow_event(client_t _client, service_t _service,
+ instance_t _instance, event_t _event, bool _is_provided) = 0;
+
+ virtual void subscribe(client_t _client, service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup,
+ major_version_t _major, event_t _event,
+ subscription_type_e _subscription_type) = 0;
+
+ virtual void on_subscribe_nack(client_t _client, service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup, event_t _event,
+ pending_subscription_id_t _subscription_id) = 0;
+
+ virtual void on_subscribe_ack(client_t _client, service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup, event_t _event,
+ pending_subscription_id_t _subscription_id) = 0;
+
+ virtual void unsubscribe(client_t _client, service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup, event_t _event) = 0;
+
+ virtual void on_unsubscribe_ack(client_t _client, service_t _service,
+ instance_t _instance, eventgroup_t _eventgroup,
+ pending_subscription_id_t _unsubscription_id) = 0;
+
+ virtual bool on_message(service_t _service, instance_t _instance,
+ const byte_t *_data, length_t _size, bool _reliable, bool _is_valid_crc = true) = 0;
+
+ virtual void on_notification(client_t _client,
+ service_t _service, instance_t _instance,
+ const byte_t *_data, length_t _size, bool _notify_one = false) = 0;
+
+ virtual void on_stop_offer_service(client_t _client, service_t _service,
+ instance_t _instance, major_version_t _major,
+ minor_version_t _minor) = 0;
+
+ virtual void on_availability(service_t _service, instance_t _instance,
+ bool _is_available, major_version_t _major, minor_version_t _minor) = 0;
+
+ virtual std::shared_ptr<endpoint> find_local(client_t _client) = 0;
+
+ virtual std::shared_ptr<endpoint> find_or_create_local(
+ client_t _client) = 0;
+ virtual void remove_local(client_t _client) = 0;
+
+ virtual boost::asio::io_service & get_io() = 0;
+ virtual client_t get_client() const = 0;
+
+ virtual void on_identify_response(client_t _client, service_t _service, instance_t _instance,
+ bool _reliable) = 0;
+
+ virtual void on_pong(client_t _client) = 0;
+
+ virtual void handle_client_error(client_t _client) = 0;
+
+ virtual void set_routing_state(routing_state_e _routing_state) = 0;
+};
+
+} // namespace vsomeip
+
+#endif // VSOMEIP_ROUTING_MANAGER_STUB_HOST