mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 15:15:50 +08:00
60 lines
1.6 KiB
C++
60 lines
1.6 KiB
C++
// SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
|
|
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
|
|
|
|
//! \file
|
|
|
|
#ifndef SWIFT_MISC_NETWORK_LOGINMODE_H
|
|
#define SWIFT_MISC_NETWORK_LOGINMODE_H
|
|
|
|
#include "misc/swiftmiscexport.h"
|
|
#include "misc/valueobject.h"
|
|
|
|
SWIFT_DECLARE_VALUEOBJECT_MIXINS(swift::misc::network, CLoginMode)
|
|
|
|
namespace swift::misc::network
|
|
{
|
|
//! Value object encapsulating information about login mode
|
|
class SWIFT_MISC_EXPORT CLoginMode : public CValueObject<CLoginMode>
|
|
{
|
|
public:
|
|
//! Login modes
|
|
enum LoginMode
|
|
{
|
|
Pilot, //!< Normal login
|
|
Observer, //!< Login as observer
|
|
};
|
|
|
|
//! Default constructor.
|
|
CLoginMode() = default;
|
|
|
|
//! Constructor
|
|
CLoginMode(LoginMode mode) : m_loginMode(mode) {}
|
|
|
|
//! Is login as pilot?
|
|
bool isPilot() const { return m_loginMode == Pilot; }
|
|
|
|
//! Is login as observer?
|
|
bool isObserver() const { return m_loginMode == Observer; }
|
|
|
|
//! Get login mode
|
|
LoginMode getLoginMode() const { return m_loginMode; }
|
|
|
|
//! Set login mode
|
|
void setLoginMode(LoginMode mode) { m_loginMode = mode; }
|
|
|
|
//! \copydoc swift::misc::mixin::String::toQString
|
|
QString convertToQString(bool i18n = false) const;
|
|
|
|
private:
|
|
LoginMode m_loginMode = Pilot;
|
|
|
|
SWIFT_METACLASS(
|
|
CLoginMode,
|
|
SWIFT_METAMEMBER(loginMode));
|
|
};
|
|
} // namespace swift::misc::network
|
|
|
|
Q_DECLARE_METATYPE(swift::misc::network::CLoginMode)
|
|
|
|
#endif // guard
|