swift
Loading...
Searching...
No Matches
distributorfilter.cpp
1// SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3
5
7
8using namespace swift::misc;
9using namespace swift::misc::simulation;
10
11namespace swift::gui::models
12{
13 CDistributorFilter::CDistributorFilter(const CSimulatorInfo &simulator) : m_simulator(simulator) { m_valid = true; }
14
16 {
17 if (!this->isValid())
18 {
19 return inDistributors;
20 }
21 if (this->ignoreSimulator())
22 {
23 return inDistributors;
24 }
25
26 CDistributorList outContainer;
27 for (const CDistributor &distributor : inDistributors)
28 {
29 if (!distributor.getSimulator().matchesAnyOrNone(m_simulator))
30 {
31 continue;
32 }
33 outContainer.push_back(distributor);
34 }
35 return outContainer;
36 }
37
38 bool CDistributorFilter::ignoreSimulator() const
39 {
40 return (m_simulator.isNoSimulator() || m_simulator.isAllSimulators());
41 }
42} // namespace swift::gui::models
swift::misc::simulation::CDistributorList filter(const swift::misc::simulation::CDistributorList &inDistributors) const
Used container data.
CDistributorFilter(const swift::misc::simulation::CSimulatorInfo &simulator)
Constructor.
void push_back(const T &value)
Appends an element at the end of the sequence.
Definition sequence.h:308
Value object encapsulating information of software distributor.
Definition distributor.h:33
Value object encapsulating a list of distributors.
Simple hardcoded info about the corresponding simulator.
bool isAllSimulators() const
Is all simulators?
bool isNoSimulator() const
No simulator?
Models to be used with views, mainly QTableView.
Free functions in swift::misc.