summaryrefslogtreecommitdiff
path: root/implementation/routing/include/routing_manager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/routing/include/routing_manager.hpp')
-rw-r--r--implementation/routing/include/routing_manager.hpp61
1 files changed, 34 insertions, 27 deletions
diff --git a/implementation/routing/include/routing_manager.hpp b/implementation/routing/include/routing_manager.hpp
index 9ab09f4..fa0e675 100644
--- a/implementation/routing/include/routing_manager.hpp
+++ b/implementation/routing/include/routing_manager.hpp
@@ -3,8 +3,8 @@
// 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
-#define VSOMEIP_ROUTING_MANAGER
+#ifndef VSOMEIP_V3_ROUTING_MANAGER_
+#define VSOMEIP_V3_ROUTING_MANAGER_
#include <memory>
#include <set>
@@ -17,12 +17,13 @@
#include <vsomeip/handler.hpp>
#include "types.hpp"
-namespace vsomeip {
+namespace vsomeip_v3 {
class endpoint;
class endpoint_definition;
class event;
class payload;
+class security;
class routing_manager {
public:
@@ -31,6 +32,8 @@ public:
virtual boost::asio::io_service & get_io() = 0;
virtual client_t get_client() const = 0;
+ virtual void set_client(const client_t &_client) = 0;
+ virtual session_t get_session() = 0;
virtual void init() = 0;
virtual void start() = 0;
@@ -46,38 +49,41 @@ public:
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;
+ minor_version_t _minor) = 0;
virtual void release_service(client_t _client, service_t _service,
instance_t _instance) = 0;
- virtual void subscribe(client_t _client, service_t _service,
+ virtual void subscribe(client_t _client, uid_t _uid, gid_t _gid, service_t _service,
instance_t _instance, eventgroup_t _eventgroup,
- major_version_t _major, event_t _event,
- subscription_type_e _subscription_type) = 0;
+ major_version_t _major, event_t _event) = 0;
- virtual void unsubscribe(client_t _client, service_t _service,
+ virtual void unsubscribe(client_t _client, uid_t _uid, gid_t _gid, service_t _service,
instance_t _instance, eventgroup_t _eventgroup, event_t _event) = 0;
- virtual bool send(client_t _client, std::shared_ptr<message> _message,
- bool _flush) = 0;
+ virtual bool send(client_t _client, std::shared_ptr<message> _message) = 0;
virtual bool send(client_t _client, const byte_t *_data, uint32_t _size,
- instance_t _instance, bool _flush, bool _reliable,
+ instance_t _instance, bool _reliable,
client_t _bound_client = VSOMEIP_ROUTING_CLIENT,
- bool _is_valid_crc = true, bool _sent_from_remote = false) = 0;
+ credentials_t _credentials = {ANY_UID, ANY_GID},
+ uint8_t _status_check = 0, bool _sent_from_remote = false) = 0;
- virtual bool send_to(const std::shared_ptr<endpoint_definition> &_target,
- std::shared_ptr<message>, bool _flush) = 0;
+ virtual bool send_to(const client_t _client,
+ const std::shared_ptr<endpoint_definition> &_target,
+ std::shared_ptr<message>) = 0;
virtual bool send_to(const std::shared_ptr<endpoint_definition> &_target,
- const byte_t *_data, uint32_t _size, instance_t _instance,
- bool _flush) = 0;
-
- virtual void register_event(client_t _client, service_t _service,
- instance_t _instance, event_t _event,
- const std::set<eventgroup_t> &_eventgroups, bool _is_field,
+ const byte_t *_data, uint32_t _size, instance_t _instance) = 0;
+
+ virtual void register_event(client_t _client,
+ service_t _service, instance_t _instance,
+ event_t _notifier,
+ const std::set<eventgroup_t> &_eventgroups,
+ const event_type_e _type,
+ reliability_type_e _reliability,
std::chrono::milliseconds _cycle, bool _change_resets_cycle,
+ bool _update_on_change,
epsilon_change_func_t _epsilon_change_func,
bool _is_provided, bool _is_shadow = false,
bool _is_cache_placeholder = false) = 0;
@@ -93,20 +99,21 @@ public:
virtual void notify(service_t _service, instance_t _instance,
event_t _event, std::shared_ptr<payload> _payload,
- bool _force, bool _flush) = 0;
+ bool _force) = 0;
virtual void notify_one(service_t _service, instance_t _instance,
event_t _event, std::shared_ptr<payload> _payload,
- client_t _client, bool _force, bool _flush, bool _remote_subscriber) = 0;
-
- virtual void on_identify_response(client_t _client, service_t _service,
- instance_t _instance, bool _reliable) = 0;
+ client_t _client, bool _force
+#ifdef VSOMEIP_ENABLE_COMPAT
+ , bool _remote_subscriber
+#endif
+ ) = 0;
virtual void set_routing_state(routing_state_e _routing_state) = 0;
virtual void send_get_offered_services_info(client_t _client, offer_type_e _offer_type) = 0;
};
-} // namespace vsomeip
+} // namespace vsomeip_v3
-#endif
+#endif // VSOMEIP_V3_ROUTING_MANAGER_