Skip to content

Commit

Permalink
feat: request-float-license
Browse files Browse the repository at this point in the history
  • Loading branch information
muneebkq committed Jul 16, 2024
1 parent 6f28501 commit 4d8aa69
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 29 deletions.
16 changes: 15 additions & 1 deletion cryptlex/lexfloatclient/lexfloatclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,14 +270,28 @@ def GetFloatingClientMeterAttributeUses(name):
@staticmethod
def RequestFloatingLicense():
"""Sends the request to lease the license from the LexFloatServer.
Raises:
LexFloatClientException
"""
status = LexFloatClientNative.RequestFloatingLicense()
if LexFloatStatusCodes.LF_OK != status:
raise LexFloatClientException(status)

@staticmethod
def RequestOfflineFloatingLicense(leaseDuration):
"""Sends the request to lease the license from the LexFloatServer for offline usage.
Args:
leaseDuration (int): seconds for which the lease should be obtained.
Raises:
LexFloatClientException
"""
status = LexFloatClientNative.RequestOfflineFloatingLicense(leaseDuration)
if LexFloatStatusCodes.LF_OK != status:
raise LexFloatClientException(status)

@staticmethod
def DropFloatingLicense():
"""Sends the request to the LexFloatServer to free the license.
Expand Down
4 changes: 4 additions & 0 deletions cryptlex/lexfloatclient/lexfloatclient_native.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,10 @@ def byte_to_string(input):
RequestFloatingLicense.argtypes = []
RequestFloatingLicense.restype = c_int

RequestOfflineFloatingLicense = library.RequestOfflineFloatingLicense
RequestOfflineFloatingLicense.argtypes = [c_uint32]
RequestOfflineFloatingLicense.restype = c_int

DropFloatingLicense = library.DropFloatingLicense
DropFloatingLicense.argtypes = []
DropFloatingLicense.restype = c_int
Expand Down
70 changes: 42 additions & 28 deletions cryptlex/lexfloatclient/lexfloatstatus_codes.py
Original file line number Diff line number Diff line change
@@ -1,59 +1,73 @@
class LexFloatStatusCodes:

LF_OK = 0

LF_FAIL = 1

LF_E_PRODUCT_ID = 40

LF_E_CALLBACK = 41

LF_E_HOST_URL = 42

LF_E_TIME = 43

LF_E_INET = 44

LF_E_NO_LICENSE = 45

LF_E_LICENSE_EXISTS = 46

LF_E_LICENSE_NOT_FOUND = 47

LF_E_LICENSE_EXPIRED_INET = 48

LF_E_LICENSE_LIMIT_REACHED = 49

LF_E_BUFFER_SIZE = 50

LF_E_METADATA_KEY_NOT_FOUND = 51

LF_E_METADATA_KEY_LENGTH = 52

LF_E_METADATA_VALUE_LENGTH = 53

LF_E_FLOATING_CLIENT_METADATA_LIMIT = 54

LF_E_METER_ATTRIBUTE_NOT_FOUND = 55

LF_E_METER_ATTRIBUTE_USES_LIMIT_REACHED = 56

LF_E_PRODUCT_VERSION_NOT_LINKED = 57

LF_E_FEATURE_FLAG_NOT_FOUND = 58


LF_E_SYSTEM_PERMISSION = 59

LF_E_IP = 60


LF_E_INVALID_PERMISSION_FLAG = 61

LF_E_OFFLINE_FLOATING_LICENSE_NOT_ALLOWED = 62

LF_E_MAX_OFFLINE_LEASE_DURATION_EXCEEDED = 63

LF_E_ALLOWED_OFFLINE_FLOATING_CLIENTS_LIMIT_REACHED = 64

LF_E_WMIC = 65

LF_E_MACHINE_FINGERPRINT = 66

LF_E_CLIENT = 70

LF_E_SERVER = 71

LF_E_SERVER_TIME_MODIFIED = 72

LF_E_SERVER_LICENSE_NOT_ACTIVATED = 73

LF_E_SERVER_LICENSE_EXPIRED = 74

LF_E_SERVER_LICENSE_SUSPENDED = 75

LF_E_SERVER_LICENSE_GRACE_PERIOD_OVER = 76

0 comments on commit 4d8aa69

Please sign in to comment.