From 7714f5db9f498fd1521677c89b620bdec005f836 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 12 Mar 2016 05:26:48 +0100 Subject: [PATCH] refs #619, utility functions simulator info --- src/blackmisc/simulation/simulatorinfo.cpp | 14 ++++++++++++++ src/blackmisc/simulation/simulatorinfo.h | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/src/blackmisc/simulation/simulatorinfo.cpp b/src/blackmisc/simulation/simulatorinfo.cpp index 54fb43ae7..fd81721bb 100644 --- a/src/blackmisc/simulation/simulatorinfo.cpp +++ b/src/blackmisc/simulation/simulatorinfo.cpp @@ -66,6 +66,11 @@ namespace BlackMisc return fsx() || fs9() || xplane() || p3d(); } + bool CSimulatorInfo::isSingleSimulator() const + { + return this->numberSimulators() == 1; + } + bool CSimulatorInfo::isNoSimulator() const { return m_simulator == 0; @@ -76,6 +81,15 @@ namespace BlackMisc return fsx() && fs9() && xplane() && p3d(); } + int CSimulatorInfo::numberSimulators() const + { + int c = fs9() ? 1 : 0; + if (fsx()) { c++; } + if (xplane()) { c++; } + if (p3d()) { c++; } + return c; + } + bool CSimulatorInfo::matchesAll(const CSimulatorInfo &otherInfo) const { return (this->m_simulator & otherInfo.m_simulator) == otherInfo.m_simulator; diff --git a/src/blackmisc/simulation/simulatorinfo.h b/src/blackmisc/simulation/simulatorinfo.h index e0dc630b1..ffaecc3c9 100644 --- a/src/blackmisc/simulation/simulatorinfo.h +++ b/src/blackmisc/simulation/simulatorinfo.h @@ -80,12 +80,18 @@ namespace BlackMisc //! Any simulator? bool isAnySimulator() const; + //! Single simulator selected + bool isSingleSimulator() const; + //! No simulator? bool isNoSimulator() const; //! Is all simulators? bool isAllSimulators() const; + //! Number simulators selected + int numberSimulators() const; + //! Matches all simulators bool matchesAll(const CSimulatorInfo &otherInfo) const;