LCOV - code coverage report
Current view: top level - artdaq/Application/detail - Commandable_sm.h (source / functions) Coverage Total Hit
Test: artdaq.info.cleaned Lines: 88.7 % 62 55
Test Date: 2025-09-04 00:45:34 Functions: 92.3 % 26 24

            Line data    Source code
       1              : //
       2              : // ex: set ro:
       3              : // DO NOT EDIT.
       4              : // generated by smc (http://smc.sourceforge.net/)
       5              : // from file : Commandable.sm
       6              : //
       7              : 
       8              : #ifndef COMMANDABLE_SM_H
       9              : #define COMMANDABLE_SM_H
      10              : 
      11              : #define SMC_USES_IOSTREAMS
      12              : 
      13              : #include <artdaq/Application/detail/statemap.h>
      14              : #include <canvas/Persistency/Provenance/RunID.h>
      15              : #include <fhiclcpp/ParameterSet.h>
      16              : 
      17              : namespace artdaq {
      18              : // Forward declarations.
      19              : class Main;
      20              : class Main_Booted;
      21              : class Main_Initialized;
      22              : class Main_Default;
      23              : class InitializedMap;
      24              : class InitializedMap_Ready;
      25              : class InitializedMap_InRun;
      26              : class InitializedMap_Default;
      27              : class InRunMap;
      28              : class InRunMap_Running;
      29              : class InRunMap_Paused;
      30              : class InRunMap_InRunError;
      31              : class InRunMap_Default;
      32              : class CommandableState;
      33              : class CommandableContext;
      34              : class Commandable;
      35              : 
      36              : class CommandableState : public statemap::State
      37              : {
      38              : public:
      39           21 :         CommandableState(const char* const name, const int stateId)
      40           21 :             : statemap::State(name, stateId){};
      41              : 
      42            7 :         virtual void Entry(CommandableContext&){};
      43            7 :         virtual void Exit(CommandableContext&){};
      44              : 
      45              :         virtual void in_run_failure(CommandableContext& context);
      46              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      47              :         virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
      48              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      49              :         virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
      50              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
      51              :         virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      52              :         virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
      53              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
      54              : 
      55              : protected:
      56              :         virtual void Default(CommandableContext& context);
      57              : };
      58              : 
      59              : class Main
      60              : {
      61              : public:
      62              :         static Main_Booted Booted;
      63              :         static Main_Initialized Initialized;
      64              : };
      65              : 
      66              : class Main_Default : public CommandableState
      67              : {
      68              : public:
      69            6 :         Main_Default(const char* const name, const int stateId)
      70            6 :             : CommandableState(name, stateId){};
      71              : 
      72              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      73              :         virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
      74              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
      75              :         virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
      76              :         virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
      77              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
      78              :         virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      79              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      80              : };
      81              : 
      82              : class Main_Booted : public Main_Default
      83              : {
      84              : public:
      85            3 :         Main_Booted(const char* const name, const int stateId)
      86            3 :             : Main_Default(name, stateId){};
      87              : 
      88              :         virtual void Entry(CommandableContext&);
      89              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      90              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
      91              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
      92              : };
      93              : 
      94              : class Main_Initialized : public Main_Default
      95              : {
      96              : public:
      97            3 :         Main_Initialized(const char* const name, const int stateId)
      98            3 :             : Main_Default(name, stateId){};
      99              : 
     100              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     101              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     102              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
     103              : };
     104              : 
     105              : class InitializedMap
     106              : {
     107              : public:
     108              :         static InitializedMap_Ready Ready;
     109              :         static InitializedMap_InRun InRun;
     110              : };
     111              : 
     112              : class InitializedMap_Default : public CommandableState
     113              : {
     114              : public:
     115            6 :         InitializedMap_Default(const char* const name, const int stateId)
     116            6 :             : CommandableState(name, stateId){};
     117              : 
     118              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     119              :         virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
     120              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     121              :         virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     122              :         virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     123              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
     124              :         virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     125              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     126              : };
     127              : 
     128              : class InitializedMap_Ready : public InitializedMap_Default
     129              : {
     130              : public:
     131            3 :         InitializedMap_Ready(const char* const name, const int stateId)
     132            3 :             : InitializedMap_Default(name, stateId){};
     133              : 
     134              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     135              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     136              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
     137              :         virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     138              :         virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
     139              : };
     140              : 
     141              : class InitializedMap_InRun : public InitializedMap_Default
     142              : {
     143              : public:
     144            3 :         InitializedMap_InRun(const char* const name, const int stateId)
     145            3 :             : InitializedMap_Default(name, stateId){};
     146              : 
     147              :         virtual void Exit(CommandableContext&);
     148              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     149              : };
     150              : 
     151              : class InRunMap
     152              : {
     153              : public:
     154              :         static InRunMap_Running Running;
     155              :         static InRunMap_Paused Paused;
     156              :         static InRunMap_InRunError InRunError;
     157              : };
     158              : 
     159              : class InRunMap_Default : public CommandableState
     160              : {
     161              : public:
     162            9 :         InRunMap_Default(const char* const name, const int stateId)
     163            9 :             : CommandableState(name, stateId){};
     164              : 
     165              :         virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     166              :         virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
     167              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     168              :         virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     169              :         virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     170              :         virtual void shutdown(CommandableContext& context, uint64_t timeout);
     171              :         virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     172              :         virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
     173              : };
     174              : 
     175              : class InRunMap_Running : public InRunMap_Default
     176              : {
     177              : public:
     178            3 :         InRunMap_Running(const char* const name, const int stateId)
     179            3 :             : InRunMap_Default(name, stateId){};
     180              : 
     181              :         virtual void in_run_failure(CommandableContext& context);
     182              :         virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     183              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     184              : };
     185              : 
     186              : class InRunMap_Paused : public InRunMap_Default
     187              : {
     188              : public:
     189            3 :         InRunMap_Paused(const char* const name, const int stateId)
     190            3 :             : InRunMap_Default(name, stateId){};
     191              : 
     192              :         virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     193              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     194              : };
     195              : 
     196              : class InRunMap_InRunError : public InRunMap_Default
     197              : {
     198              : public:
     199            3 :         InRunMap_InRunError(const char* const name, const int stateId)
     200            3 :             : InRunMap_Default(name, stateId){};
     201              : 
     202              :         virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     203              :         virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
     204              : };
     205              : 
     206              : class CommandableContext : public statemap::FSMContext
     207              : {
     208              : public:
     209            1 :         explicit CommandableContext(Commandable& owner)
     210            1 :             : FSMContext(Main::Booted), _owner(owner){};
     211              : 
     212              :         CommandableContext(Commandable& owner, const statemap::State& state)
     213              :             : FSMContext(state), _owner(owner){};
     214              : 
     215            0 :         virtual void enterStartState()
     216              :         {
     217            0 :                 getState().Entry(*this);
     218            0 :                 return;
     219              :         }
     220              : 
     221           10 :         inline Commandable& getOwner()
     222              :         {
     223           10 :                 return (_owner);
     224              :         };
     225              : 
     226           46 :         inline CommandableState& getState()
     227              :         {
     228           46 :                 if (_state == NULL)
     229              :                 {
     230            0 :                         throw statemap::StateUndefinedException();
     231              :                 }
     232              : 
     233           46 :                 return dynamic_cast<CommandableState&>(*_state);
     234              :         };
     235              : 
     236            0 :         inline void in_run_failure()
     237              :         {
     238            0 :                 getState().in_run_failure(*this);
     239            0 :         };
     240              : 
     241            1 :         inline void init(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp)
     242              :         {
     243            1 :                 getState().init(*this, pset, timeout, timestamp);
     244            1 :         };
     245              : 
     246            1 :         inline void pause(uint64_t timeout, uint64_t timestamp)
     247              :         {
     248            1 :                 getState().pause(*this, timeout, timestamp);
     249            1 :         };
     250              : 
     251            1 :         inline void reinit(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp)
     252              :         {
     253            1 :                 getState().reinit(*this, pset, timeout, timestamp);
     254            1 :         };
     255              : 
     256            1 :         inline void resume(uint64_t timeout, uint64_t timestamp)
     257              :         {
     258            1 :                 getState().resume(*this, timeout, timestamp);
     259            1 :         };
     260              : 
     261            2 :         inline void shutdown(uint64_t timeout)
     262              :         {
     263            2 :                 getState().shutdown(*this, timeout);
     264            2 :         };
     265              : 
     266            1 :         inline void soft_init(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp)
     267              :         {
     268            1 :                 getState().soft_init(*this, pset, timeout, timestamp);
     269            1 :         };
     270              : 
     271            1 :         inline void start(art::RunID id, uint64_t timeout, uint64_t timestamp)
     272              :         {
     273            1 :                 getState().start(*this, id, timeout, timestamp);
     274            1 :         };
     275              : 
     276            2 :         inline void stop(uint64_t timeout, uint64_t timestamp)
     277              :         {
     278            2 :                 getState().stop(*this, timeout, timestamp);
     279            2 :         };
     280              : 
     281              : private:
     282              :         Commandable& _owner;
     283              : };
     284              : }  // namespace artdaq
     285              : 
     286              : #endif  // COMMANDABLE_SM_H
     287              : 
     288              : //
     289              : // Local variables:
     290              : //  buffer-read-only: t
     291              : // End:
     292              : //
        

Generated by: LCOV version 2.0-1