Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetSavedLicenseKey() [1/2]

override string System.ComponentModel.Design.RuntimeLicenseContext.GetSavedLicenseKey ( Type type,
Assembly resourceAssembly )
inline

Definition at line 14 of file RuntimeLicenseContext.cs.

15 {
16 if (_savedLicenseKeys == null || _savedLicenseKeys[type.AssemblyQualifiedName] == null)
17 {
18 if (_savedLicenseKeys == null)
19 {
21 }
22 if (resourceAssembly == null)
23 {
24 resourceAssembly = Assembly.GetEntryAssembly();
25 }
26 if (resourceAssembly == null)
27 {
28 Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
29 foreach (Assembly assembly in assemblies)
30 {
31 string location = assembly.Location;
32 if (!(location == string.Empty))
33 {
34 string name = new FileInfo(location).Name;
35 Stream stream = assembly.GetManifestResourceStream(name + ".licenses");
36 if (stream == null)
37 {
38 stream = CaseInsensitiveManifestResourceStreamLookup(assembly, name + ".licenses");
39 }
40 if (stream != null)
41 {
42 DesigntimeLicenseContextSerializer.Deserialize(stream, name.ToUpperInvariant(), this);
43 break;
44 }
45 }
46 }
47 }
48 else
49 {
50 string location2 = resourceAssembly.Location;
51 if (location2 != string.Empty)
52 {
53 string fileName = Path.GetFileName(location2);
54 string text = fileName + ".licenses";
55 Stream manifestResourceStream = resourceAssembly.GetManifestResourceStream(text);
56 if (manifestResourceStream == null)
57 {
58 string text2 = null;
59 CompareInfo compareInfo = CultureInfo.InvariantCulture.CompareInfo;
60 string name2 = resourceAssembly.GetName().Name;
61 string[] manifestResourceNames = resourceAssembly.GetManifestResourceNames();
62 foreach (string text3 in manifestResourceNames)
63 {
64 if (compareInfo.Compare(text3, text, CompareOptions.IgnoreCase) == 0 || compareInfo.Compare(text3, name2 + ".exe.licenses", CompareOptions.IgnoreCase) == 0 || compareInfo.Compare(text3, name2 + ".dll.licenses", CompareOptions.IgnoreCase) == 0)
65 {
66 text2 = text3;
67 break;
68 }
69 }
70 if (text2 != null)
71 {
72 manifestResourceStream = resourceAssembly.GetManifestResourceStream(text2);
73 }
74 }
75 if (manifestResourceStream != null)
76 {
77 DesigntimeLicenseContextSerializer.Deserialize(manifestResourceStream, fileName.ToUpperInvariant(), this);
78 }
79 }
80 }
81 }
82 return (string)_savedLicenseKeys[type.AssemblyQualifiedName];
83 }
Stream CaseInsensitiveManifestResourceStreamLookup(Assembly satellite, string name)
int Compare(string? string1, string? string2)
static CultureInfo InvariantCulture
static ? string GetFileName(string? path)
Definition Path.cs:200
virtual AssemblyName GetName()
Definition Assembly.cs:294
virtual ? Stream GetManifestResourceStream(string name)
Definition Assembly.cs:284
static ? Assembly GetEntryAssembly()
Definition Assembly.cs:486
virtual string[] GetManifestResourceNames()
Definition Assembly.cs:279
virtual string Location
Definition Assembly.cs:92

References System.ComponentModel.Design.RuntimeLicenseContext._savedLicenseKeys, System.ComponentModel.Design.RuntimeLicenseContext.CaseInsensitiveManifestResourceStreamLookup(), System.AppDomain.CurrentDomain, System.ComponentModel.Design.DesigntimeLicenseContextSerializer.Deserialize(), System.Reflection.Assembly.GetEntryAssembly(), System.IO.Path.GetFileName(), System.Reflection.Assembly.GetManifestResourceNames(), System.Reflection.Assembly.GetManifestResourceStream(), System.Reflection.Assembly.GetName(), System.Globalization.CultureInfo.InvariantCulture, System.Reflection.Assembly.Location, System.IO.FileSystemInfo.Name, System.Reflection.AssemblyName.Name, System.stream, System.text, and System.type.