LCOV - code coverage report
Current view: top level - libs/bsw/cpp2someip/src - SdSomeIpStack.cpp (source / functions) Coverage Total Hit
Test: coverage.info Lines: 30.4 % 56 17
Test Date: 2026-09-11 12:05:06 Functions: 9.1 % 11 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              : #include "someip/SdSomeIpStack.h"
      12              : 
      13              : #include "someip/EventTransceiver.h"
      14              : #include "someip/IServiceRegistry.h"
      15              : #include "someip/RpcHandler.h"
      16              : #include "someip/TcpClientChannelValidator.h"
      17              : 
      18              : namespace someip
      19              : {
      20              : using ref = detail::SdRefs;
      21              : 
      22            3 : SdSomeIpStack::SdSomeIpStack(
      23              :     async::ContextType& ethernetContext,
      24              :     Network& network,
      25              :     TcpClientChannelValidator& validator,
      26              :     SubscriptionManager& subscriptionManager,
      27              :     ServiceTracker& serviceTracker,
      28              :     QueryManager& queryManager,
      29              :     ServiceManager& serviceManager,
      30              :     SdServiceRegistry& serviceRegistry,
      31              :     SessionManager& sessionManager,
      32              :     RebootTracker& rebootTracker,
      33              :     TpTransceiver& tpTransceiver,
      34              :     BufferedEventSender& eventSender,
      35              :     RpcHandler& rpcHandler,
      36              :     EventTransceiver& eventTransceiver,
      37              :     RpcReceiver& rpcReceiver,
      38            3 :     ISdMessageParser::AdditionalSDCheck const additionalSDCheck)
      39              : : ref(
      40              :     network,
      41              :     validator,
      42              :     subscriptionManager,
      43              :     serviceTracker,
      44              :     queryManager,
      45              :     serviceManager,
      46              :     serviceRegistry,
      47              :     sessionManager,
      48              :     rebootTracker,
      49              :     tpTransceiver,
      50              :     eventSender,
      51              :     rpcHandler,
      52              :     eventTransceiver,
      53              :     rpcReceiver)
      54              : , SomeIpStack(
      55            3 :       ref::_network,
      56            3 :       ref::_rpcHandler,
      57            3 :       ref::_eventTransceiver,
      58            3 :       ref::_eventTransceiver,
      59            3 :       ref::_serviceRegistry)
      60            3 : , _serviceAnnouncer(
      61            3 :       ref::_network,
      62              :       ref::_serviceManager,
      63            3 :       ref::_serviceRegistry,
      64              :       ethernetContext,
      65              :       ref::_queryManager,
      66              :       ref::_sessionManager)
      67            6 : , _sdParser(
      68            3 :       ref::_serviceRegistry,
      69              :       _serviceAnnouncer,
      70              :       ref::_rebootTracker,
      71            3 :       ref::_network.getSubnetId(),
      72            3 :       ref::_network.getLocalIp(),
      73              :       additionalSDCheck)
      74            6 : , _sdReceiver(_sdParser)
      75              : {
      76            3 :     ref::_network.setSdListener(_sdReceiver);
      77            3 : }
      78              : 
      79              : // virtual
      80            0 : bool SdSomeIpStack::doInit()
      81              : {
      82            0 :     _queryManager.wire(&_serviceAnnouncer, &_rpcReceiver);
      83            0 :     _serviceManager.wire(&_serviceAnnouncer);
      84              : 
      85            0 :     ref::_serviceRegistry.init();
      86            0 :     _rpcReceiver.init();
      87            0 :     ref::_eventSender.init();
      88            0 :     _serviceAnnouncer.init();
      89            0 :     _sdParser.init();
      90              : 
      91            0 :     return true;
      92              : }
      93              : 
      94              : // virtual
      95            0 : bool SdSomeIpStack::doStart()
      96              : {
      97            0 :     if (!ref::_network.start())
      98              :     {
      99            0 :         return false;
     100              :     }
     101              : 
     102            0 :     ref::_queryManager.start();
     103            0 :     ref::_serviceManager.start();
     104            0 :     _serviceAnnouncer.start();
     105              : 
     106            0 :     return true;
     107              : }
     108              : 
     109              : // virtual
     110            0 : void SdSomeIpStack::doStop()
     111              : {
     112            0 :     ref::_serviceTracker.stop();
     113            0 :     ref::_queryManager.stop();
     114            0 :     ref::_serviceManager.stop();
     115            0 :     _serviceAnnouncer.stop();
     116            0 :     ref::_subscriptionManager.stop();
     117            0 :     ref::_tpTransceiver.stop();
     118            0 :     ref::_network.stop();
     119            0 : }
     120              : 
     121              : // virtual
     122            0 : void SdSomeIpStack::doShutdown()
     123              : {
     124            0 :     _serviceAnnouncer.shutdown();
     125            0 :     ref::_eventSender.shutdown();
     126            0 :     ref::_eventTransceiver.shutdown();
     127            0 :     ref::_rpcReceiver.shutdown();
     128            0 :     ref::_serviceRegistry.shutdown();
     129            0 : }
     130              : 
     131            0 : INetwork const& SdSomeIpStack::getNetwork() const { return ref::_network; }
     132              : 
     133            0 : INetwork& SdSomeIpStack::getNetwork() { return ref::_network; }
     134              : 
     135            0 : EventTransceiver const& SdSomeIpStack::getEventTransceiver() const
     136              : {
     137            0 :     return ref::_eventTransceiver;
     138              : }
     139              : 
     140            0 : EventTransceiver& SdSomeIpStack::getEventTransceiver() { return ref::_eventTransceiver; }
     141              : 
     142            0 : RpcHandler const& SdSomeIpStack::getRpcHandler() const { return ref::_rpcHandler; }
     143              : 
     144            0 : RpcHandler& SdSomeIpStack::getRpcHandler() { return ref::_rpcHandler; }
     145              : 
     146              : } // namespace someip
        

Generated by: LCOV version 2.0-1