diff options
author | Lluis Sanchez <lluis@novell.com> | 2010-05-20 18:29:56 +0400 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2010-05-20 18:29:56 +0400 |
commit | f1183df2745fd63a144c8905af762da7f59a4501 (patch) | |
tree | bb728e6128a60ab921376951dd8ab9d231fcd11f /Mono.Addins.CecilReflector | |
parent | afea25471e31dca856114f77409b1b4d82fe6a71 (diff) | |
parent | dbb5c3ab0c608d00c499ae69194180e81745c855 (diff) |
* Mono.Addins/Mono.Addins.Database/IAssemblyReflector.cs:
* Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs:
* Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs:
Added methods for getting resources from an assembly.
* Mono.Addins/Makefile.am:
* Mono.Addins/Mono.Addins.csproj: Updated.
* Mono.Addins/Mono.Addins/TreeNode.cs:
* Mono.Addins/Mono.Addins/AddinEngine.cs:
* Mono.Addins/Mono.Addins/RuntimeAddin.cs:
* Mono.Addins/Mono.Addins/AddinManager.cs:
* Mono.Addins/Mono.Addins/ExtensionTree.cs:
* Mono.Addins/Mono.Addins/ExtensionNode.cs:
* Mono.Addins/Mono.Addins/ConditionType.cs:
* Mono.Addins/Mono.Addins/AddinRegistry.cs:
* Mono.Addins/Mono.Addins/ExtensionContext.cs:
* Mono.Addins/Mono.Addins/AddinSessionService.cs:
* Mono.Addins/Mono.Addins.Database/AddinDatabase.cs:
* Mono.Addins/Mono.Addins.Description/Dependency.cs:
* Mono.Addins/Mono.Addins.Description/AddinDependency.cs:
* Mono.Addins/Mono.Addins.Description/NativeDependency.cs:
* Mono.Addins/Mono.Addins.Description/AssemblyDependency.cs: New
AddinEngine class, which can be used to support several engines in a
single domain.
* Mono.Addins/Mono.Addins/AddinAttribute.cs:
* Mono.Addins/Mono.Addins/AddinModuleAttribute.cs:
* Mono.Addins/Mono.Addins.Database/AddinScanner.cs:
* Mono.Addins/Mono.Addins/ImportAddinFileAttribute.cs:
* Mono.Addins/Mono.Addins/ImportAddinAssemblyAttribute.cs: Added
support for new add-in declaration attributes.
* Mono.Addins/Mono.Addins/AddinCategoryAttribute.cs: Removed.
* Mono.Addins/Mono.Addins/ExtensionPointAttribute.cs:
* Mono.Addins/Mono.Addins/TypeExtensionPointAttribute.cs: Use a better
name for the custom attribute type property.
svn path=/trunk/mono-addins/; revision=157628
Diffstat (limited to 'Mono.Addins.CecilReflector')
-rw-r--r-- | Mono.Addins.CecilReflector/ChangeLog | 5 | ||||
-rw-r--r-- | Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/Mono.Addins.CecilReflector/ChangeLog b/Mono.Addins.CecilReflector/ChangeLog index ca30347..8b40f71 100644 --- a/Mono.Addins.CecilReflector/ChangeLog +++ b/Mono.Addins.CecilReflector/ChangeLog @@ -1,3 +1,8 @@ +2010-05-20 Lluis Sanchez Gual <lluis@novell.com> + + * Mono.Addins.CecilReflector/Reflector.cs: Added methods for + getting resources from an assembly. + 2010-03-30 Lluis Sanchez Gual <lluis@novell.com> * Mono.Addins.CecilReflector.csproj: csc doesn't like iso-2. diff --git a/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs b/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs index 3cc0d7b..a569eb4 100644 --- a/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs +++ b/Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs @@ -259,6 +259,28 @@ namespace Mono.Addins.CecilReflector cachedAssemblies [file] = adef; return adef; } + + public string[] GetResourceNames (object asm) + { + AssemblyDefinition adef = (AssemblyDefinition) asm; + List<string> names = new List<string> (adef.MainModule.Resources.Count); + foreach (Resource res in adef.MainModule.Resources) { + if (res is EmbeddedResource) + names.Add (res.Name); + } + return names.ToArray (); + } + + public System.IO.Stream GetResourceStream (object asm, string resourceName) + { + AssemblyDefinition adef = (AssemblyDefinition) asm; + foreach (Resource res in adef.MainModule.Resources) { + EmbeddedResource r = res as EmbeddedResource; + if (r != null && r.Name == resourceName) + return new System.IO.MemoryStream (r.Data); + } + throw new InvalidOperationException ("Resource not found: " + resourceName); + } public object LoadAssemblyFromReference (object asmReference) { |