//------------------------------------------------------------------------------
//
// 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;
}
}
}