CAS.Lib.CodeProtect Namespace
CAS.Lib.CodeProtect.LicenseDsc Namespace
CAS.Lib.CodeProtect.LicenseDsc.Constraints Namespace
CAS.Lib.CodeProtect.Properties Namespace
OOI CodeProtect

CAS.Lib.CodeProtect.LicenseDsc.Constraints Namespace

Classes


  Class Description
Public class AndConstraint

This [AndConstraint] contains a collection of constraints that will be grouped together as a bitwise AND operation. It is responsible for validating the containing IConstraints and will be valid as long as all the constraints contained are valid. The purpose of this is to allow a user to force multiple constraints to pass before allowing the license to be valid.

Public class BetaConstraint

This [BetaConstraint] constrains the user to a given time period. It supports an end date that the license will expire. It also has the ability to show the user a link to download an update to the beta once it expires.

Public class DayTimeConstraint

The DayTimeConstraint constrains the user to only using this license during a period of time within a day. I.E. A user may use the license between midnight and 7am and 5pm and midnight - Non business hours.

Public class DemoConstraint

This [DemoConstraint] constrains the user to a given time period or duration. It supports start and end date that the license will expire. It also support a duration, to constrain the license to a number of days. The constraint contains a purchase URL, Conditions, and info URL so they may obtain a registered license, the conditions of the constraint and more information.

Public class DesigntimeConstraint

This [DesigntimeConstraint] constrains the user to only running the license in a design time environment. If it is not in a Design Time environment then this constraint will fail.

Public class DomainConstraint

This [DomainConstraint] constrains the user to running within a given set of Domains. This is primarily used for web based licensing to make sure that the license is only used for specific domains.

Public class FunctionConstraint

This [FunctionConstraint] constrains use of selected function. It has the ability to show the user a link to download an update to the beta once it expires.

Public class OrConstraint

This [OrConstraint] contains a collection of constraints that will be grouped together as a bitwise OR operation. It is responsible for validating the containing IConstraints and will be valid as long as one of the constraints contained is valid. The purpose of this is to allow multiple constraints to be added and create a run as long as one is valid scheme.

Public class ProcessorConstraint

This [ProcessorConstraint] constrains the user to only use the license with a given OS or Processor

Public class RuntimeConstraint

This [RuntimeConstraint] constrains the user to only running the license in a runtime environment. If it is not in a Runtime environment then this constraint will fail.

Public class Time

The Time object is a rough implementation of military time to be used as the time range. This will eventually change but for now it serves the purpose of defining a time range using 0 to 2400. This class also has the ability to convert the current DateTime.Now to a Time object value.

Public class TimeRange
This is a range of Time values to provide a start/end time.
Public class TimeRangeCollection
A collection that stores [TimeRange] objects.
Public class TimeRangeCollection..::..TimeRangeEnumerator
Enumerator that can iterate through a TimeRangeCollection.
Public class UsageConstraint

This [UsageConstraint] constrains the user to a usage limit. It supports a Maximum Usage, Hit and Days count. Once the maximum number is reached the license expires.

Public class VersionConstraint

This [VersionConstraint] constrains the user to only use the license with a given range of versions attached to an Assembly. For example if an assembly version is 0.95.0.0 and the version range is 0.94.0.0 to 0.96.0.0 then the license will pass. However if the assembly is then upgrade to version 1.0.0.0 then the license will expire.