1 #ifndef RADLICENSEGATE_H
2 #define RADLICENSEGATE_H
16 #ifndef RADLIB_LICENSE_ACCEPTED
17 #error "RADLib requires defining RADLIB_LICENSE_ACCEPTED=1 after reviewing LICENSE.md."
20 #if RADLIB_LICENSE_ACCEPTED != 1
21 #error "RADLIB_LICENSE_ACCEPTED must be defined as 1."
24 #if !defined(RADLIB_LICENSE_TIER_COMMUNITY) && \
25 !defined(RADLIB_LICENSE_TIER_SMALL_BUSINESS) && \
26 !defined(RADLIB_LICENSE_TIER_COMMERCIAL) && \
27 !defined(RADLIB_LICENSE_TIER_PARTNER) && \
28 !defined(RADLIB_LICENSE_TIER_INTERNAL)
29 #error "Define one RADLib license tier macro: RADLIB_LICENSE_TIER_COMMUNITY, RADLIB_LICENSE_TIER_SMALL_BUSINESS, RADLIB_LICENSE_TIER_COMMERCIAL, RADLIB_LICENSE_TIER_PARTNER, or RADLIB_LICENSE_TIER_INTERNAL."
32 #if defined(RADLIB_LICENSE_TIER_COMMUNITY)
33 #define RADLIB_LICENSE_TIER_TEXT "community"
34 #elif defined(RADLIB_LICENSE_TIER_SMALL_BUSINESS)
35 #define RADLIB_LICENSE_TIER_TEXT "small-business"
36 #elif defined(RADLIB_LICENSE_TIER_COMMERCIAL)
37 #define RADLIB_LICENSE_TIER_TEXT "commercial"
38 #elif defined(RADLIB_LICENSE_TIER_PARTNER)
39 #define RADLIB_LICENSE_TIER_TEXT "partner"
40 #elif defined(RADLIB_LICENSE_TIER_INTERNAL)
41 #define RADLIB_LICENSE_TIER_TEXT "internal"
43 #define RADLIB_LICENSE_TIER_TEXT "unknown"
46 #if defined(RADLIB_EDITION_PAID)
47 #define RADLIB_EDITION_TEXT "paid-edition"
48 #elif defined(RADLIB_EDITION_INTERNAL)
49 #define RADLIB_EDITION_TEXT "internal-edition"
51 #define RADLIB_EDITION_COMMUNITY 1
52 #define RADLIB_EDITION_TEXT "community-edition"
55 #ifndef RADLIB_EDITION_REQUIRES_LICENSE_KEY
56 #if defined(RADLIB_EDITION_PAID)
57 #define RADLIB_EDITION_REQUIRES_LICENSE_KEY 1
59 #define RADLIB_EDITION_REQUIRES_LICENSE_KEY 0
88 #if defined(RADLIB_LICENSE_TIER_COMMUNITY)
98 #if defined(RADLIB_LICENSE_TIER_COMMERCIAL)
108 #if defined(RADLIB_EDITION_COMMUNITY)
118 #if defined(RADLIB_EDITION_PAID)
#define RADLIB_LICENSE_TIER_TEXT
Definition: RADLicenseGate.h:43
#define RADLIB_EDITION_REQUIRES_LICENSE_KEY
Definition: RADLicenseGate.h:59
#define RADLIB_EDITION_TEXT
Definition: RADLicenseGate.h:52
Definition: RADLicenseGate.h:63
constexpr const char * compileAuditStamp()
Returns a stable audit stamp suitable for logs and about dialogs.
Definition: RADLicenseGate.h:80
constexpr bool compileRequiresRuntimeLicenseKey()
Returns true when this compile target expects runtime paid-license verification.
Definition: RADLicenseGate.h:75
constexpr bool communityBuild()
Returns true when this translation unit was compiled as a community build.
Definition: RADLicenseGate.h:86
constexpr bool paidEdition()
Returns true when this translation unit was compiled against Paid Edition RADLib.
Definition: RADLicenseGate.h:116
constexpr const char * compileEdition()
Returns the RADLib product edition declared when this translation unit was compiled.
Definition: RADLicenseGate.h:70
constexpr bool commercialBuild()
Returns true when this translation unit was compiled as a commercial build.
Definition: RADLicenseGate.h:96
constexpr bool communityEdition()
Returns true when this translation unit was compiled against Community Edition RADLib.
Definition: RADLicenseGate.h:106
constexpr const char * compileTier()
Returns the license tier declared when this translation unit was compiled.
Definition: RADLicenseGate.h:65