Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@novell.com>2010-05-20 18:29:56 +0400
committerLluis Sanchez <lluis@novell.com>2010-05-20 18:29:56 +0400
commitf1183df2745fd63a144c8905af762da7f59a4501 (patch)
treebb728e6128a60ab921376951dd8ab9d231fcd11f /Mono.Addins.CecilReflector
parentafea25471e31dca856114f77409b1b4d82fe6a71 (diff)
parentdbb5c3ab0c608d00c499ae69194180e81745c855 (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/ChangeLog5
-rw-r--r--Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs22
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)
{