diff --git a/cryptlex/lexfloatclient/lexfloatclient.py b/cryptlex/lexfloatclient/lexfloatclient.py index 13f2e2c..7c7f0b7 100644 --- a/cryptlex/lexfloatclient/lexfloatclient.py +++ b/cryptlex/lexfloatclient/lexfloatclient.py @@ -266,6 +266,23 @@ def GetFloatingClientMeterAttributeUses(name): return uses.value else: raise LexFloatClientException(status) + + @staticmethod + def GetFloatingLicenseMode(): + """Gets the mode of the floating license (online or offline). + + Raises: + LexActivatorException + + Returns: + ActivationMode: mode of floating license. + """ + buffer_size = 256 + buffer = LexFloatClientNative.get_ctype_string_buffer(buffer_size) + status = LexFloatClientNative.GetFloatingLicenseMode(buffer,buffer_size) + if status != LexFloatStatusCodes.LF_OK: + raise LexFloatClientException(status) + return LexFloatClientNative.byte_to_string(buffer.value) @staticmethod def RequestFloatingLicense(): diff --git a/cryptlex/lexfloatclient/lexfloatclient_native.py b/cryptlex/lexfloatclient/lexfloatclient_native.py index e116d62..42d815d 100644 --- a/cryptlex/lexfloatclient/lexfloatclient_native.py +++ b/cryptlex/lexfloatclient/lexfloatclient_native.py @@ -139,6 +139,10 @@ def byte_to_string(input): GetHostProductVersionDisplayName.argtypes = [STRTYPE, c_uint32] GetHostProductVersionDisplayName.restype = c_int +GetFloatingLicenseMode = library.GetFloatingLicenseMode +GetFloatingLicenseMode.argtypes = [STRTYPE, c_uint32] +GetFloatingLicenseMode.restype = c_int + GetHostProductVersionFeatureFlag = library.GetHostProductVersionFeatureFlag GetHostProductVersionFeatureFlag.argtypes = [CSTRTYPE, POINTER(c_uint32), STRTYPE, c_uint32] GetHostProductVersionFeatureFlag.restype = c_int