Click or drag to resize
UsageRestriction Class
An usage Restriction is typically used to define environment license restrictions.
Inheritance Hierarchy

Namespace:  Babel.Licensing
Assemblies:   Babel.Licensing (in Babel.Licensing.dll) Version:
  Babel.Licensing (in Babel.Licensing.dll) Version:
public class UsageRestriction : Restriction

The UsageRestriction type exposes the following members.

Public methodUsageRestriction
Initializes a new instance of the UsageRestriction class.
Public propertyCanRunInVirtualEnvironment
Whether the use of the license is permitted inside a virtual machine or emulator.
Public propertyExpireDate
Gets or sets the expire date after which the license is no longer valid.
(Inherited from Restriction.)
Public propertyId
Gets or sets the restriction identifier.
(Inherited from Restriction.)
Public propertyListeners
Gets the listeners.
(Inherited from Restriction.)
Public propertyName
Gets the restriction name.
(Overrides RestrictionName.)
Public propertyProcessList
Gets or sets the name of the process.
Public propertyUsage
Gets or sets the license usage.
Public methodAttach
Attaches the given listener.
(Inherited from Restriction.)
Public methodDetach
Detaches the given listener.
(Inherited from Restriction.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodNotify
Notifies registered listeners.
(Inherited from Restriction.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodValidate
Validates the current license usage restriction object.
(Overrides RestrictionValidate(ILicenseContext, Type, Object).)
// Creates an XML license valid only for a specified process 
// name that is not executing in a virtual machine

var signer = XmlDigitalSignature.CreateFromKeyFile("Keys.snk");

string licenseXML = new XmlLicense().RestrictedToProcess("MotionCapture")

//<Licenses xmlns:xsi="">
//  <License>
//    <Restrictions>
//      <Restriction xsi:type="Usage" Id="r4A08" canRunInVirtualEnvironment="false">
//        <ProcessList>MotionCapture</ProcessList>
//      </Restriction>
//    </Restrictions>
//  </License>
//  <Signature xmlns="">
//    <SignedInfo>
//      <CanonicalizationMethod Algorithm="" />
//      <SignatureMethod Algorithm="" />
//      <Reference URI="">
//        <Transforms>
//          <Transform Algorithm="" />
//        </Transforms>
//        <DigestMethod Algorithm="" />
//        <DigestValue>ozYWhEYlFubqhRqkIrHA1kwD9sk=</DigestValue>
//      </Reference>
//    </SignedInfo>
//    <SignatureValue>afpb...</SignatureValue>
//  </Signature>
See Also