mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-15 00:24:19 +00:00
68 lines
2 KiB
C
68 lines
2 KiB
C
/*
|
|
==============================================================================
|
|
|
|
This file is part of the JUCE 6 technical preview.
|
|
Copyright (c) 2017 - ROLI Ltd.
|
|
|
|
You may use this code under the terms of the GPL v3
|
|
(see www.gnu.org/licenses).
|
|
|
|
For this technical preview, this file is not subject to commercial licensing.
|
|
|
|
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
|
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
|
DISCLAIMED.
|
|
|
|
==============================================================================
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
//==============================================================================
|
|
struct LicenseState
|
|
{
|
|
enum class Type
|
|
{
|
|
none,
|
|
gpl,
|
|
personal,
|
|
educational,
|
|
indie,
|
|
pro
|
|
};
|
|
|
|
LicenseState() = default;
|
|
|
|
LicenseState (Type t, String token, String user, Image avatarImage)
|
|
: type (t), authToken (token), username (user), avatar (avatarImage)
|
|
{
|
|
}
|
|
|
|
bool isValid() const noexcept { return isGPL() || (type != Type::none && authToken.isNotEmpty() && username.isNotEmpty()); }
|
|
|
|
bool isPaid() const noexcept { return type == Type::indie || type == Type::pro; }
|
|
bool isGPL() const noexcept { return type == Type::gpl; }
|
|
bool isPaidOrGPL() const noexcept { return isPaid() || isGPL(); }
|
|
|
|
String getLicenseTypeString() const
|
|
{
|
|
switch (type)
|
|
{
|
|
case Type::none: return "No license";
|
|
case Type::gpl: return "GPL";
|
|
case Type::personal: return "Personal";
|
|
case Type::educational: return "Educational";
|
|
case Type::indie: return "Indie";
|
|
case Type::pro: return "Pro";
|
|
default: break;
|
|
};
|
|
|
|
jassertfalse;
|
|
return {};
|
|
}
|
|
|
|
Type type = Type::none;
|
|
String authToken, username;
|
|
Image avatar;
|
|
};
|