LCOV - code coverage report
Current view: top level - libs/bsw/cpp2someip/include/someip - ISomeIpStack.h (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 1 1
Test Date: 2026-09-11 12:05:06 Functions: 50.0 % 2 1

            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 <cstdint>
      14              : 
      15              : namespace someip
      16              : {
      17              : struct ServiceQuery;
      18              : class ProvidedService;
      19              : class IEventListener;
      20              : } // namespace someip
      21              : 
      22              : namespace someip
      23              : {
      24              : /*
      25              :  * Interface for the SOME/IP stack.
      26              :  *
      27              :  * Contains methods to initialize the SD and RPC ports,
      28              :  * to register consumed or provided services and eventgroups
      29              :  * and to register event-listener at the stack.
      30              :  */
      31              : class ISomeIpStack
      32              : {
      33              : public:
      34            7 :     virtual ~ISomeIpStack() = default;
      35              : 
      36              :     /* CONFIG */
      37              : 
      38              :     virtual bool initSdPort(uint16_t port)  = 0;
      39              :     virtual bool initUdpPort(uint16_t port) = 0;
      40              :     virtual bool initTcpPort(uint16_t port) = 0;
      41              : 
      42              :     /* CLIENT */
      43              : 
      44              :     /**
      45              :      * Register a service query with:
      46              :      *
      47              :      * - serviceId,
      48              :      * - majorVersion, minorVersion
      49              :      * - instanceId (or INSTANCE_ID_ANY)
      50              :      * - service-listener
      51              :      *
      52              :      * Register an eventgroup query with:
      53              :      *
      54              :      * - serviceId,
      55              :      * - majorVersion, minorVersion
      56              :      * - instanceId,
      57              :      * - eventgroupId
      58              :      * - TTL
      59              :      * - localPort
      60              :      * - protocol
      61              :      *
      62              :      * \return true on success.
      63              :      */
      64              :     virtual bool registerServiceQuery(ServiceQuery& query) = 0;
      65              : 
      66              :     /**
      67              :      * Unregister a service or eventgroup query.
      68              :      */
      69              :     virtual void unregisterServiceQuery(ServiceQuery& query) = 0;
      70              : 
      71              :     /**
      72              :      * Register an event-listener.
      73              :      */
      74              :     virtual void addEventListener(IEventListener& listener) = 0;
      75              : 
      76              :     /**
      77              :      * Unregister an event-listener.
      78              :      */
      79              :     virtual void removeEventListener(IEventListener& listener) = 0;
      80              : 
      81              :     /* SERVER */
      82              : 
      83              :     /**
      84              :      * Register a provided service with:
      85              :      *
      86              :      * - serviceId,
      87              :      * - majorVersion, minorVersion
      88              :      * - instanceId
      89              :      * - TTL
      90              :      * - localPort
      91              :      * - protocol
      92              :      * - service-handler
      93              :      *
      94              :      * Register a provided eventgroup with:
      95              :      *
      96              :      * - serviceId,
      97              :      * - majorVersion, minorVersion
      98              :      * - instanceId,
      99              :      * - eventgroupId
     100              :      * - TTL
     101              :      * - [multicastIp] if multicast
     102              :      * - localPort
     103              :      * - service-handler
     104              :      *
     105              :      * \return true on success.
     106              :      */
     107              :     virtual bool registerProvidedService(ProvidedService& service) = 0;
     108              : 
     109              :     /**
     110              :      * Unregister a provided service or eventgroup.
     111              :      */
     112              :     virtual void unregisterProvidedService(ProvidedService& service) = 0;
     113              : };
     114              : 
     115              : } // namespace someip
        

Generated by: LCOV version 2.0-1