diff options
Diffstat (limited to 'interface')
-rw-r--r-- | interface/vsomeip/application.hpp | 31 | ||||
-rw-r--r-- | interface/vsomeip/constants.hpp | 12 | ||||
-rw-r--r-- | interface/vsomeip/defines.hpp | 4 | ||||
-rw-r--r-- | interface/vsomeip/enumeration_types.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/error.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/export.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/handler.hpp | 3 | ||||
-rw-r--r-- | interface/vsomeip/internal/deserializable.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/internal/serializable.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/message.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/message_base.hpp | 4 | ||||
-rw-r--r-- | interface/vsomeip/payload.hpp | 2 | ||||
-rw-r--r-- | interface/vsomeip/primitive_types.hpp | 4 | ||||
-rw-r--r-- | interface/vsomeip/runtime.hpp | 6 | ||||
-rw-r--r-- | interface/vsomeip/vsomeip.hpp | 2 |
15 files changed, 56 insertions, 24 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 diff --git a/interface/vsomeip/constants.hpp b/interface/vsomeip/constants.hpp index 8062b12..da184b8 100644 --- a/interface/vsomeip/constants.hpp +++ b/interface/vsomeip/constants.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/. @@ -14,21 +14,25 @@ namespace vsomeip { const major_version_t DEFAULT_MAJOR = 0x00; -const minor_version_t DEFAULT_MINOR = 0x000000; +const minor_version_t DEFAULT_MINOR = 0x00000000; const ttl_t DEFAULT_TTL = 0xFFFFFF; // "until next reboot" const std::string DEFAULT_MULTICAST = "224.0.0.0"; const uint16_t DEFAULT_PORT = 30500; const uint16_t ILLEGAL_PORT = 0xFFFF; +const uint16_t NO_TRACE_FILTER_EXPRESSION = 0x0000; + const service_t ANY_SERVICE = 0xFFFF; const instance_t ANY_INSTANCE = 0xFFFF; const method_t ANY_METHOD = 0xFFFF; const major_version_t ANY_MAJOR = 0xFF; -const minor_version_t ANY_MINOR = 0xFFFFFF; +const minor_version_t ANY_MINOR = 0xFFFFFFFF; const eventgroup_t DEFAULT_EVENTGROUP = 0x0001; +const client_t ILLEGAL_CLIENT = 0x0000; + const byte_t MAGIC_COOKIE_CLIENT_MESSAGE = 0x00; const byte_t MAGIC_COOKIE_SERVICE_MESSAGE = 0x80; const length_t MAGIC_COOKIE_SIZE = 0x00000008; @@ -47,6 +51,8 @@ const byte_t CLIENT_COOKIE[] = { 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, const byte_t SERVICE_COOKIE[] = { 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0xDE, 0xAD, 0xBE, 0xEF, 0x01, 0x01, 0x02, 0x00 }; +const event_t ANY_EVENT = 0xFFFF; + } // namespace vsomeip #endif // VSOMEIP_CONSTANTS_HPP diff --git a/interface/vsomeip/defines.hpp b/interface/vsomeip/defines.hpp index d384d50..2323c19 100644 --- a/interface/vsomeip/defines.hpp +++ b/interface/vsomeip/defines.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/. @@ -10,7 +10,7 @@ #define VSOMEIP_MAX_LOCAL_MESSAGE_SIZE 32768 #define VSOMEIP_MAX_TCP_MESSAGE_SIZE 4095 -#define VSOMEIP_MAX_UDP_MESSAGE_SIZE 1446 +#define VSOMEIP_MAX_UDP_MESSAGE_SIZE 1416 #define VSOMEIP_PACKET_SIZE VSOMEIP_MAX_UDP_MESSAGE_SIZE diff --git a/interface/vsomeip/enumeration_types.hpp b/interface/vsomeip/enumeration_types.hpp index a71e677..b9b0a50 100644 --- a/interface/vsomeip/enumeration_types.hpp +++ b/interface/vsomeip/enumeration_types.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/. diff --git a/interface/vsomeip/error.hpp b/interface/vsomeip/error.hpp index b655174..da74482 100644 --- a/interface/vsomeip/error.hpp +++ b/interface/vsomeip/error.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/. diff --git a/interface/vsomeip/export.hpp b/interface/vsomeip/export.hpp index 7e8ddad..ab4af7f 100644 --- a/interface/vsomeip/export.hpp +++ b/interface/vsomeip/export.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/. diff --git a/interface/vsomeip/handler.hpp b/interface/vsomeip/handler.hpp index a703569..1363914 100644 --- a/interface/vsomeip/handler.hpp +++ b/interface/vsomeip/handler.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/. @@ -19,6 +19,7 @@ typedef std::function< void (state_type_e) > state_handler_t; typedef std::function< void (const std::shared_ptr< message > &) > message_handler_t; typedef std::function< void (service_t, instance_t, bool) > availability_handler_t; typedef std::function< bool (client_t, bool) > subscription_handler_t; +typedef std::function< void (const uint16_t) > error_handler_t; } // namespace vsomeip diff --git a/interface/vsomeip/internal/deserializable.hpp b/interface/vsomeip/internal/deserializable.hpp index fb11dfd..103c8cf 100644 --- a/interface/vsomeip/internal/deserializable.hpp +++ b/interface/vsomeip/internal/deserializable.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/.
diff --git a/interface/vsomeip/internal/serializable.hpp b/interface/vsomeip/internal/serializable.hpp index 4c22bf7..7f08944 100644 --- a/interface/vsomeip/internal/serializable.hpp +++ b/interface/vsomeip/internal/serializable.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/.
diff --git a/interface/vsomeip/message.hpp b/interface/vsomeip/message.hpp index 6b91712..a1c8d2c 100644 --- a/interface/vsomeip/message.hpp +++ b/interface/vsomeip/message.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/. diff --git a/interface/vsomeip/message_base.hpp b/interface/vsomeip/message_base.hpp index 225ec19..d077be0 100644 --- a/interface/vsomeip/message_base.hpp +++ b/interface/vsomeip/message_base.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/.
@@ -57,6 +57,8 @@ public: // No part of the SOME/IP protocol header
VSOMEIP_EXPORT virtual bool is_reliable() const = 0;
VSOMEIP_EXPORT virtual void set_reliable(bool _is_reliable) = 0;
+ VSOMEIP_EXPORT virtual bool is_initial() const = 0;
+ VSOMEIP_EXPORT virtual void set_initial(bool _is_initial) = 0;
};
} // namespace vsomeip
diff --git a/interface/vsomeip/payload.hpp b/interface/vsomeip/payload.hpp index 693d5ba..0186d30 100644 --- a/interface/vsomeip/payload.hpp +++ b/interface/vsomeip/payload.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/.
diff --git a/interface/vsomeip/primitive_types.hpp b/interface/vsomeip/primitive_types.hpp index 3cc2b9a..b75203e 100644 --- a/interface/vsomeip/primitive_types.hpp +++ b/interface/vsomeip/primitive_types.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/. @@ -39,6 +39,8 @@ typedef uint8_t byte_t; typedef std::array<byte_t, 4> ipv4_address_t; typedef std::array<byte_t, 16> ipv6_address_t; +typedef std::string trace_channel_t; + } // namespace vsomeip #endif // VSOMEIP_PRIMITIVE_TYPES_HPP diff --git a/interface/vsomeip/runtime.hpp b/interface/vsomeip/runtime.hpp index fb9c2ab..fbdbded 100644 --- a/interface/vsomeip/runtime.hpp +++ b/interface/vsomeip/runtime.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/. @@ -21,6 +21,10 @@ class payload; class VSOMEIP_EXPORT runtime { public: + + static std::string get_property(const std::string &_name); + static void set_property(const std::string &_name, const std::string &_value); + static std::shared_ptr<runtime> get(); virtual ~runtime() { diff --git a/interface/vsomeip/vsomeip.hpp b/interface/vsomeip/vsomeip.hpp index 3ee5819..e0aecd4 100644 --- a/interface/vsomeip/vsomeip.hpp +++ b/interface/vsomeip/vsomeip.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/. |