//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.ComponentModel { using Microsoft.Win32; using System; using System.Diagnostics; using System.Reflection; using System.Runtime.Remoting; using System.Security.Permissions; /// /// Specifies when the licensed object can be used. /// [HostProtection(SharedState = true)] public class LicenseContext : IServiceProvider { /// /// When overridden in a derived class, gets a value that specifies when a license can be used. /// public virtual LicenseUsageMode UsageMode { get { return LicenseUsageMode.Runtime; } } /// /// When overridden in a derived class, gets a saved license /// key for the specified type, from the specified resource assembly. /// public virtual string GetSavedLicenseKey(Type type, Assembly resourceAssembly) { return null; } /// /// When overridden in a derived class, will return an object that implements the asked for service. /// public virtual object GetService(Type type) { return null; } /// /// When overridden in a derived class, sets a license key for the specified type. /// public virtual void SetSavedLicenseKey(Type type, string key) { // no-op; } } }