Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ISmartLockService functionality

AcquireLock

Code Block
METHOD PUBLIC LOGICAL AcquireLock (pcTableGUID, pcKeyValues, piLockDuration, plThrowOnAlreadyLocked)
METHOD PUBLIC LOGICAL AcquireLock (pcResourceIdentifier, piLockDuration, plThrowOnAlreadyLocked)

In the implementation, both methods are just facades for the protected method:

Code Block
METHOD PROTECTED LOGICAL AcquireLock (pcTableGUID, pcKeyValues, pcResourceIdentifier, piLockDuration, 
plThrowOnAlreadyLocked) 

...

Locks must either be created for a TableGUID AND KeyValues OR a ResourceIdentifier. When TableGUID and KeyValues are <> ? the ResourceIdentifier must be ? and when the RecourceIdentifier is <> ? then TableGUID AND KeyValues must be ?.

Release Lock

Code Block
METHOD PUBLIC LOGICAL ReleaseLock (pcTableGUID, pcKeyValues)
METHOD PUBLIC LOGICAL ReleaseLock (pcResourceIdentifier)

In the implementation, both methods are just facades for the protected method:

Code Block
METHOD PROTECTED LOGICAL ReleaseLock (pcTableGUID, pcKeyValues, pcResourceIdentifier) 

...