LCOV - code coverage report
Current view: top level - src/importexport/guitarpro/internal/gtp - gpdommodel.h Coverage Total Hit
Test: filtered_coverage.info Lines: 100.0 % 10 10
Test Date: 2026-11-05 04:07:02

            Line data    Source code
       1              : #ifndef MU_IMPORTEXPORT_GPDOMMODEL_H
       2              : #define MU_IMPORTEXPORT_GPDOMMODEL_H
       3              : 
       4              : #include <map>
       5              : #include <memory>
       6              : #include <set>
       7              : #include <unordered_map>
       8              : #include <unordered_set>
       9              : 
      10              : #include "gpbar.h"
      11              : #include "gpbeat.h"
      12              : #include "gpvoice.h"
      13              : #include "gpmasterbar.h"
      14              : #include "gpmastertracks.h"
      15              : #include "gpnote.h"
      16              : #include "gpscore.h"
      17              : #include "gptrack.h"
      18              : #include "inoteproperty.h"
      19              : 
      20              : namespace mu::iex::guitarpro {
      21              : class GPDomModel
      22              : {
      23              : public:
      24              : 
      25          221 :     GPDomModel() = default;
      26          442 :     virtual ~GPDomModel() = default;
      27              : 
      28              :     GPDomModel(const GPDomModel& gp) = delete;
      29              :     GPDomModel& operator=(const GPDomModel&) = delete;
      30              : 
      31          221 :     void addGPScore(std::unique_ptr<GPScore>&& score) { _score = std::move(score); }
      32              : 
      33          221 :     void addGPMasterTracks(std::unique_ptr<GPMasterTracks>&& mTr) { _masterTracks.swap(mTr); }
      34          221 :     void addGPTracks(std::map<int, std::unique_ptr<GPTrack> >&& tr) { _tracks.swap(tr); }
      35          221 :     void addGPMasterBars(std::vector<std::unique_ptr<GPMasterBar> >&& mB) { _masterBars.swap(mB); }
      36              : 
      37          221 :     const GPScore* score() const { return _score.get(); }
      38          221 :     const GPMasterTracks* masterTracks() const { return _masterTracks.get(); }
      39          472 :     const std::map<int, std::unique_ptr<GPTrack> >& tracks() const { return _tracks; }
      40          916 :     const std::vector<std::unique_ptr<GPMasterBar> >& masterBars() const { return _masterBars; }
      41              : 
      42              : private:
      43              : 
      44              :     std::unique_ptr<GPScore> _score;
      45              :     std::unique_ptr<GPMasterTracks> _masterTracks;
      46              :     std::map<int, std::unique_ptr<GPTrack> > _tracks;
      47              :     std::vector<std::unique_ptr<GPMasterBar> > _masterBars;
      48              : };
      49              : } // namespace mu::iex::guitarpro
      50              : #endif // MU_IMPORTEXPORT_GPDOMMODEL_H
        

Generated by: LCOV version 2.0-1