AP&C API Reference
Namespaces | Classes | Enumerations | Functions
Apac.Licensing Namespace Reference

Classes

class  AcquisitionRequest
 The type used to request key(s) to unlock application features. More...
 
class  AcquisitionResponse
 The type returned as a response to a request to aquire a license lock. More...
 
class  AssemblyVerificationResults
 The construct used to store the results of verifying the validity of an assembly for use in licensing. More...
 
class  AuditResult
 The construct returned after a non-volatile audit is performed. More...
 
class  XmlDictionarySerializer
 A class to manage de/serialization of a generic dictionary. More...
 
struct  SerializableKeyValuePair
 A wrapper around KeyValuePair (because KVP properties are read-only and cannot be serialized using XML). More...
 
class  FeatureRequest
 A request for a specific number of leases for a licensed feature. More...
 
class  FeatureResponse
 
interface  IKeyManager
 The contract used by client applications to procure a key to unlock a licensed feature. More...
 
interface  ILicensable
 The interface used by components that are restricted by licensing policies. The intent is for consumers of those components to check the license state of the licensed component by direct inquiry. Licensed components would utilize LicensingClient to check their license status and report that status through their implementation of this interface. More...
 
class  Key
 This class represent a basic instance of a licensing key. It contains values that uniquely identify the license and the node to which it applies. These values are used to unlock functionality in applications written to be license-aware. More...
 
class  KeyManager
 The implementation of the contract for requesting license keys for unlocking application features. It is thread-safe, and allows a request for multiple features in one request. This object can be used directly, in-process, or it can be obtained from a central remoting server, if such is deployed in the enterprise. More...
 
class  KeySet
 Provides a set of keys with a searching facility to ease application code that needs to look up license keys. More...
 
class  LicensedFeature
 Describes a feature that can be licensed in the application. More...
 
class  LicensingClient
 Provides an embeddable proxy object to use in applications that want to leverage licensing. More...
 
class  LockRecord
 The data type used to track successful leases. More...
 
class  LockRecords
 An abstraction to provide features for tracking and searching lock records. More...
 
class  NotLicensedException
 An exception to indicate that a license check has failed, to be used if an exception is appropriate for the application logic. More...
 
class  ReleaseRequest
 The type used to release key(s) previously used to unlock application features. More...
 
class  ReleaseResponse
 The type returned as a response to a request to release a license lock. More...
 
class  Resources
 A strongly-typed resource class, for looking up localized strings, etc.
 
class  Program
 
class  Args
 

Enumerations

enum class  FeatureResponseState { None = 0 , Affirmed = 1 , Denied = 2 }
 The values showing the state of the response to a FeatureRequest. More...
 
enum class  LicenseType { Node , Floating }
 The types of license keys available. More...
 
enum class  LicensedFeatures {
  None = 0x00 , ExecutiveSupervisor = 0x01 , Top16 = 0x02 , Modbus = 0x04 ,
  OneWire = 0x08 , DlpIo20 = 0x10 , PassivHaus = 0x20 , Ecop = 0x40 ,
  UdpListener = 0x80
}
 The list of licensed features. More...
 
enum class  FeatureType { Volatile , Nonvolatile }
 The list of the types of features. More...
 

Functions

delegate bool KeySearchHandler (string contextId, string nodeId)
 
delegate bool FeatureSearchHandler (string contextId, string nodeId, LicensedFeatures feature, int licensedCount)
 
delegate void KeyVisitorHandler (Key key)
 
delegate void LockTimedOutHandler (LockRecord record)
 
delegate void LockRenewedHandler (LockRecord record)
 
delegate void LocksPersistenceRequiredHandler (EventArgs e)
 

Enumeration Type Documentation

◆ FeatureResponseState

The values showing the state of the response to a FeatureRequest.

Enumerator
None 

No response has been provided.

Affirmed 

A affirmative response has been provided.

Denied 

A negative response has been provided.

◆ FeatureType

The list of the types of features.

Enumerator
Volatile 

The feature is normal in the way it gets checked out and checked in.

Nonvolatile 

The feature gets checked out but only rarely gets checked in because the lease request is actually just a check against the lease count to see if another lease can be acquired without surpassing the count.

An example of this would be the IDAClient licensed feature where we track the number of scanning locations against the number of leases. The system doesn't manage these leases on startup/shutdown, but rather on location creation/deletion.

◆ LicensedFeatures

The list of licensed features.

Enumerator
None 

No features indicated.

ExecutiveSupervisor 

Unlocks the executive supervisor - this is the main key.

Top16 

Unlocks the top16dio module.

Modbus 

Unlocks the MODBUS serial module.

OneWire 

Unlocks the 1-Wire module.

DlpIo20 

Unlocks the DLP IO20 module.

PassivHaus 

Unlocks the PassivHaus analytics module.

Ecop 

Unlocks the ECOP data manager on the server side.

UdpListener 

Unlocks the controller that implements a UDP listener

◆ LicenseType

The types of license keys available.

Enumerator
Node 

Indicates a single-node license. It typically only applies to a single machine (node) and the Key.NumberOfLeases property will read zero (0) if this value is held by the key.

Our first implementation of this type of license is used to enable the IDA server pages and web service.

Floating 

Indicates a license that can apply to multiple machines.
It can be applied to only a single machine (node) but give the ability to quantify a number of other machines that can be unlock in some application-specific way.
The Key.NumberOfLeases property will read a positive number if this value is held by the key.

Our first implementation of this type of license is used to track the number of locations allowed in an IDA system.