diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2024-04-16 10:13:27 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2024-04-16 15:04:02 +0000 |
commit | 9c974bf89d822397df948d86f5f85e4fbc0834c4 (patch) | |
tree | 54a265bfbcfbe099ae33dd0b73586cc6cc337623 | |
parent | 74d525040dd911c543f71c45d941d7242e4f1871 (diff) |
add daemonCanBeStarted() to make fallbacks possible
For a transition time it could be that the daemon is
not available - this is used to enable the old license
check way in Qt Desgin Studio.
Pick-to: 3.0
Change-Id: I1dfbb04fa2292ce37c4805f532b155f920f39167
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r-- | src/libs/qlicenseclient/licenseclient.cpp | 5 | ||||
-rw-r--r-- | src/libs/qlicenseclient/licenseclient.h | 2 | ||||
-rw-r--r-- | src/libs/qlicenseclient/licenseclient_p.cpp | 13 | ||||
-rw-r--r-- | src/libs/qlicenseclient/licenseclient_p.h | 3 |
4 files changed, 22 insertions, 1 deletions
diff --git a/src/libs/qlicenseclient/licenseclient.cpp b/src/libs/qlicenseclient/licenseclient.cpp index 6c7726f..52a4046 100644 --- a/src/libs/qlicenseclient/licenseclient.cpp +++ b/src/libs/qlicenseclient/licenseclient.cpp @@ -15,6 +15,11 @@ namespace QLicenseClient { by the client application to a running Qt License Daemon. */ +bool LicenseClient::daemonCanBeStarted() +{ + return LicenseClientPrivate::daemonCanBeStarted(); +} + /* Constructs a new license client */ diff --git a/src/libs/qlicenseclient/licenseclient.h b/src/libs/qlicenseclient/licenseclient.h index 80a6c13..a86277f 100644 --- a/src/libs/qlicenseclient/licenseclient.h +++ b/src/libs/qlicenseclient/licenseclient.h @@ -104,6 +104,8 @@ private: class LicenseClient { public: + static bool daemonCanBeStarted(); + enum class StatusOperation { DaemonVersion = 0, ServerVersion = 1, diff --git a/src/libs/qlicenseclient/licenseclient_p.cpp b/src/libs/qlicenseclient/licenseclient_p.cpp index f27e413..69cb697 100644 --- a/src/libs/qlicenseclient/licenseclient_p.cpp +++ b/src/libs/qlicenseclient/licenseclient_p.cpp @@ -56,6 +56,19 @@ static std::string portFilePath() } +bool LicenseClientPrivate::daemonCanBeStarted() +{ + uint16_t port = 0; + const std::string program = LicdSetup::getMatchingServiceInstallation(DAEMON_VERSION); + if (program.empty()) { + // maybe something is running without an installation (on a developer machine) + if (getDaemonPort(port)) + return true; + return false; + } + return true; +} + LicenseClientPrivate::LicenseClientPrivate(LicenseClient *qq) : q(qq) , m_reservationInfo(new LicenseReservationInfo) diff --git a/src/libs/qlicenseclient/licenseclient_p.h b/src/libs/qlicenseclient/licenseclient_p.h index 4097a76..0aa0794 100644 --- a/src/libs/qlicenseclient/licenseclient_p.h +++ b/src/libs/qlicenseclient/licenseclient_p.h @@ -21,6 +21,7 @@ namespace QLicenseClient { class LicenseClientPrivate { public: + static bool daemonCanBeStarted(); LicenseClientPrivate(LicenseClient *qq); ~LicenseClientPrivate(); @@ -38,7 +39,7 @@ public: StatusCode statusCode(int status) const; - bool getDaemonPort(uint16_t &port); + static bool getDaemonPort(uint16_t &port); bool removePortFile(); bool getJwt(std::string &jwt); |