Line data Source code
1 : /********************************************************************************
2 : * Copyright (c) 2026 Accenture
3 : *
4 : * This program and the accompanying materials are made available under the
5 : * terms of the Apache License Version 2.0 which is available at
6 : * https://www.apache.org/licenses/LICENSE-2.0
7 : *
8 : * SPDX-License-Identifier: Apache-2.0
9 : ********************************************************************************/
10 :
11 : #pragma once
12 :
13 : #include "someip/SomeIpConstants.h"
14 : #include <ip/IPAddress.h>
15 :
16 : #include <cstdint>
17 :
18 : namespace someip
19 : {
20 : /**
21 : * Interface for generated event provider.
22 : */
23 : class IEventProvider
24 : {
25 : protected:
26 55 : IEventProvider() = default;
27 :
28 : public:
29 : IEventProvider(IEventProvider const&) = delete;
30 : IEventProvider& operator=(IEventProvider const&) = delete;
31 :
32 55 : virtual ~IEventProvider() = default;
33 :
34 : /**
35 : * Notify the initial events for given subscriber to an event-group
36 : * \note The default initial events are the field-notifier within this event-group.
37 : */
38 : virtual bool notifyInitialEvents(
39 : service_id::type serviceId,
40 : instance_id::type instanceId,
41 : major_version::type majorVersion,
42 : eventgroup_id::type eventGroup,
43 : ::ip::IPAddress const& ipAddress,
44 : port::type port,
45 : proto::type proto)
46 : = 0;
47 : };
48 :
49 : } // namespace someip
|