scripts
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Emit;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
|
||||
namespace System.ComponentModel.Design
|
||||
{
|
||||
// Token: 0x0200004F RID: 79
|
||||
internal class RuntimeLicenseContext : LicenseContext
|
||||
{
|
||||
// Token: 0x06000330 RID: 816 RVA: 0x00009B74 File Offset: 0x00007D74
|
||||
private void LoadKeys()
|
||||
{
|
||||
if (this.keys != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
this.keys = new Hashtable();
|
||||
Assembly entryAssembly = Assembly.GetEntryAssembly();
|
||||
if (entryAssembly != null)
|
||||
{
|
||||
this.LoadAssemblyLicenses(this.keys, entryAssembly);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
|
||||
{
|
||||
this.LoadAssemblyLicenses(this.keys, assembly);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06000331 RID: 817 RVA: 0x00009BE8 File Offset: 0x00007DE8
|
||||
private void LoadAssemblyLicenses(Hashtable targetkeys, Assembly asm)
|
||||
{
|
||||
if (asm is AssemblyBuilder)
|
||||
{
|
||||
return;
|
||||
}
|
||||
string fileName = Path.GetFileName(asm.Location);
|
||||
string text = fileName + ".licenses";
|
||||
try
|
||||
{
|
||||
foreach (string text2 in asm.GetManifestResourceNames())
|
||||
{
|
||||
if (!(text2 != text))
|
||||
{
|
||||
using (Stream manifestResourceStream = asm.GetManifestResourceStream(text2))
|
||||
{
|
||||
BinaryFormatter binaryFormatter = new BinaryFormatter();
|
||||
object[] array = binaryFormatter.Deserialize(manifestResourceStream) as object[];
|
||||
if (string.Compare((string)array[0], fileName, true) == 0)
|
||||
{
|
||||
Hashtable hashtable = (Hashtable)array[1];
|
||||
foreach (object obj in hashtable)
|
||||
{
|
||||
DictionaryEntry dictionaryEntry = (DictionaryEntry)obj;
|
||||
targetkeys.Add(dictionaryEntry.Key, dictionaryEntry.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (InvalidCastException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06000332 RID: 818 RVA: 0x00009D50 File Offset: 0x00007F50
|
||||
public override string GetSavedLicenseKey(Type type, Assembly resourceAssembly)
|
||||
{
|
||||
if (type == null)
|
||||
{
|
||||
throw new ArgumentNullException("type");
|
||||
}
|
||||
if (resourceAssembly != null)
|
||||
{
|
||||
if (this.extraassemblies == null)
|
||||
{
|
||||
this.extraassemblies = new Hashtable();
|
||||
}
|
||||
Hashtable hashtable = this.extraassemblies[resourceAssembly.FullName] as Hashtable;
|
||||
if (hashtable == null)
|
||||
{
|
||||
hashtable = new Hashtable();
|
||||
this.LoadAssemblyLicenses(hashtable, resourceAssembly);
|
||||
this.extraassemblies[resourceAssembly.FullName] = hashtable;
|
||||
}
|
||||
return (string)hashtable[type.AssemblyQualifiedName];
|
||||
}
|
||||
this.LoadKeys();
|
||||
return (string)this.keys[type.AssemblyQualifiedName];
|
||||
}
|
||||
|
||||
// Token: 0x06000333 RID: 819 RVA: 0x00009DF8 File Offset: 0x00007FF8
|
||||
public override void SetSavedLicenseKey(Type type, string key)
|
||||
{
|
||||
if (type == null)
|
||||
{
|
||||
throw new ArgumentNullException("type");
|
||||
}
|
||||
this.LoadKeys();
|
||||
this.keys[type.AssemblyQualifiedName] = key;
|
||||
}
|
||||
|
||||
// Token: 0x040000D3 RID: 211
|
||||
private Hashtable extraassemblies;
|
||||
|
||||
// Token: 0x040000D4 RID: 212
|
||||
private Hashtable keys;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user