Author: lluis
Date: 2008-02-14 20:06:30 -0500 (Thu, 14 Feb 2008)
New Revision: 95715
Modified:
trunk/mono-addins/Mono.Addins/ChangeLog
trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ConditionTypeDescription.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeDescription.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeType.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/NodeTypeAttribute.cs
trunk/mono-addins/Mono.Addins/Mono.Addins/AddinLocalizer.cs
trunk/mono-addins/Mono.Addins/Mono.Addins/AddinRegistry.cs
Log:
* Mono.Addins/AddinRegistry.cs: Minor fixes.
* Mono.Addins/AddinLocalizer.cs: Ouch, format arguments of GetString
should have been objects, not strings.
* Mono.Addins.Description/NodeTypeAttribute.cs,
Mono.Addins.Description/ExtensionNodeType.cs,
Mono.Addins.Description/ExtensionPoint.cs,
Mono.Addins.Description/ConditionTypeDescription.cs,
Mono.Addins.Description/ExtensionNodeSet.cs: Implemented CopyFrom.
* Mono.Addins.Description/AddinDescription.cs: Set global domain to
manifests read from xml files.
* Mono.Addins.Description/ExtensionNodeDescription.cs: Remove
insertbefore and insertafter attributes when set to an empty
string.
* Mono.Addins.Database/AddinScanner.cs: Set a domain for files parsed
with ScanSingleFile.
* Mono.Addins.Database/DefaultAssemblyReflector.cs: Fix bug in
GetCustomAttribute.
Modified: trunk/mono-addins/Mono.Addins/ChangeLog
===================================================================
--- trunk/mono-addins/Mono.Addins/ChangeLog 2008-02-15 00:31:49 UTC (rev
95714)
+++ trunk/mono-addins/Mono.Addins/ChangeLog 2008-02-15 01:06:30 UTC (rev
95715)
@@ -1,3 +1,22 @@
+2008-02-15 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * Mono.Addins/AddinRegistry.cs: Minor fixes.
+ * Mono.Addins/AddinLocalizer.cs: Ouch, format arguments of GetString
should
+ have been objects, not strings.
+ * Mono.Addins.Description/NodeTypeAttribute.cs,
+ Mono.Addins.Description/ExtensionNodeType.cs,
+ Mono.Addins.Description/ExtensionPoint.cs,
+ Mono.Addins.Description/ConditionTypeDescription.cs,
+ Mono.Addins.Description/ExtensionNodeSet.cs: Implemented CopyFrom.
+ * Mono.Addins.Description/AddinDescription.cs: Set global domain to
+ manifests read from xml files.
+ * Mono.Addins.Description/ExtensionNodeDescription.cs: Remove
insertbefore
+ and insertafter attributes when set to an empty string.
+ * Mono.Addins.Database/AddinScanner.cs: Set a domain for files parsed
with
+ ScanSingleFile.
+ * Mono.Addins.Database/DefaultAssemblyReflector.cs: Fix bug in
+ GetCustomAttribute.
+
2008-02-11 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* Mono.Addins.Database/AddinDatabase.cs: Fix add-in scan issue. Avoid
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins/AddinLocalizer.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins/AddinLocalizer.cs 2008-02-15
00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins/AddinLocalizer.cs 2008-02-15
01:06:30 UTC (rev 95715)
@@ -52,6 +52,11 @@
return string.Format (localizer.GetString (msgid),
args);
}
+ public string GetString (string msgid, params object[] args)
+ {
+ return string.Format (localizer.GetString (msgid),
args);
+ }
+
public string GetPluralString (string msgid, string
defaultPlural, int n)
{
// If the localizer does not support plural forms, just
use GetString to
@@ -68,5 +73,10 @@
{
return string.Format (GetPluralString (singular,
defaultPlural, n), args);
}
+
+ public string GetPluralString (string singular, string
defaultPlural, int n, params object[] args)
+ {
+ return string.Format (GetPluralString (singular,
defaultPlural, n), args);
+ }
}
}
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins/AddinRegistry.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins/AddinRegistry.cs 2008-02-15
00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins/AddinRegistry.cs 2008-02-15
01:06:30 UTC (rev 95715)
@@ -161,6 +161,7 @@
{
AddinDescription desc = AddinDescription.Read (file);
desc.OwnerDatabase = database;
+ desc.Domain = currentDomain;
return desc;
}
@@ -276,7 +277,7 @@
return true;
}
- internal static string[] GetRegisteredStartupFolders (string
registryPath)
+ public static string[] GetRegisteredStartupFolders (string
registryPath)
{
string dbDir = Path.Combine (registryPath, "addin-db-"
+ AddinDatabase.VersionTag);
dbDir = Path.Combine (dbDir, "hosts");
@@ -292,7 +293,9 @@
XmlTextReader tr = new
XmlTextReader (sr);
tr.MoveToContent ();
string host = tr.GetAttribute
("host-reference");
- dirs.Add (Path.GetDirectoryName
(host));
+ host = Path.GetDirectoryName
(host);
+ if (!dirs.Contains (host))
+ dirs.Add (host);
}
}
catch {
Modified: trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Database/AddinScanner.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -355,6 +355,7 @@
if (scanSuccessful && config != null) {
+ config.Domain = "global";
if (config.Version.Length == 0)
config.Version = "0.0.0.0";
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
===================================================================
---
trunk/mono-addins/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++
trunk/mono-addins/Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -56,7 +56,7 @@
public object GetCustomAttribute (object obj, Type type, bool
inherit)
{
foreach (object att in GetCustomAttributes (obj, type,
inherit))
- if (type.IsInstanceOfType (obj))
+ if (type.IsInstanceOfType (att))
return att;
return null;
}
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Description/AddinDescription.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -532,6 +532,7 @@
config.description = elem.GetAttribute ("description");
config.category = elem.GetAttribute ("category");
config.basePath = elem.GetAttribute ("basePath");
+ config.domain = "global";
string s = elem.GetAttribute ("isRoot");
if (s.Length == 0) s = elem.GetAttribute ("isroot");
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ConditionTypeDescription.cs
===================================================================
---
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ConditionTypeDescription.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ConditionTypeDescription.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -34,7 +34,7 @@
namespace Mono.Addins.Description
{
- public class ConditionTypeDescription: ObjectDescription
+ public sealed class ConditionTypeDescription: ObjectDescription
{
string id;
string typeName;
@@ -52,6 +52,14 @@
description = ReadXmlDescription ();
}
+ public void CopyFrom (ConditionTypeDescription cond)
+ {
+ id = cond.id;
+ typeName = cond.typeName;
+ addinId = cond.AddinId;
+ description = cond.description;
+ }
+
internal override void Verify (string location,
StringCollection errors)
{
VerifyNotEmpty (location + "ConditionType", errors, Id,
"id");
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeDescription.cs
===================================================================
---
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeDescription.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeDescription.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -108,12 +108,22 @@
public string InsertAfter {
get { return GetAttribute ("insertafter"); }
- set { SetAttribute ("insertafter", value); }
+ set {
+ if (value == null || value.Length == 0)
+ RemoveAttribute ("insertafter");
+ else
+ SetAttribute ("insertafter", value);
+ }
}
public string InsertBefore {
get { return GetAttribute ("insertbefore"); }
- set { SetAttribute ("insertbefore", value); }
+ set {
+ if (value == null || value.Length == 0)
+ RemoveAttribute ("insertbefore");
+ else
+ SetAttribute ("insertbefore", value);
+ }
}
public bool IsCondition {
@@ -177,6 +187,26 @@
attributes [attributes.Length - 1] = value;
}
+ public void RemoveAttribute (string name)
+ {
+ if (Element != null) {
+ Element.RemoveAttribute (name);
+ return;
+ }
+
+ if (attributes == null)
+ return;
+
+ for (int n=0; n<attributes.Length; n+=2) {
+ if (attributes [n] == name) {
+ string[] newar = new string
[attributes.Length - 2];
+ Array.Copy (attributes, 0, newar, 0, n);
+ Array.Copy (attributes, n+2, newar, n,
attributes.Length - n - 2);
+ break;
+ }
+ }
+ }
+
public NodeAttribute[] Attributes {
get {
if (Element != null)
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeSet.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -49,6 +49,21 @@
id = element.GetAttribute (IdAttribute);
}
+ public void CopyFrom (ExtensionNodeSet nset)
+ {
+ id = nset.id;
+ NodeTypes.Clear ();
+ foreach (ExtensionNodeType nt in nset.NodeTypes) {
+ ExtensionNodeType cnt = new ExtensionNodeType
();
+ cnt.CopyFrom (nt);
+ NodeTypes.Add (cnt);
+ }
+ NodeSets.Clear ();
+ foreach (string ns in nset.NodeSets)
+ NodeSets.Add (ns);
+ missingNodeSetId = nset.missingNodeSetId;
+ }
+
internal override void Verify (string location,
StringCollection errors)
{
if (missingNodeSetId)
@@ -280,6 +295,11 @@
list.RemoveAt (i);
}
+ public void Clear ()
+ {
+ list.Clear ();
+ }
+
public bool Contains (string nodeSetId)
{
return IndexOf (nodeSetId) != -1;
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeType.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeType.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionNodeType.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -36,7 +36,7 @@
namespace Mono.Addins.Description
{
- public class ExtensionNodeType: ExtensionNodeSet
+ public sealed class ExtensionNodeType: ExtensionNodeSet
{
string typeName;
string objectTypeName;
@@ -119,9 +119,24 @@
description = de.InnerText;
}
- internal ExtensionNodeType ()
+ public ExtensionNodeType ()
{
}
+
+ public void CopyFrom (ExtensionNodeType ntype)
+ {
+ base.CopyFrom (ntype);
+ this.typeName = ntype.TypeName;
+ this.objectTypeName = ntype.ObjectTypeName;
+ this.description = ntype.Description;
+ this.addinId = ntype.AddinId;
+ Attributes.Clear ();
+ foreach (NodeTypeAttribute att in ntype.Attributes) {
+ NodeTypeAttribute catt = new NodeTypeAttribute
();
+ catt.CopyFrom (att);
+ Attributes.Add (catt);
+ }
+ }
internal override string IdAttribute {
get { return "name"; }
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Description/ExtensionPoint.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -35,7 +35,7 @@
namespace Mono.Addins.Description
{
- public class ExtensionPoint: ObjectDescription
+ public sealed class ExtensionPoint: ObjectDescription
{
string path;
string name;
@@ -59,6 +59,24 @@
{
}
+ public void CopyFrom (ExtensionPoint ep)
+ {
+ path = ep.path;
+ name = ep.name;
+ description = ep.description;
+ NodeSet.CopyFrom (ep.NodeSet);
+ Conditions.Clear ();
+ foreach (ConditionTypeDescription cond in
ep.Conditions) {
+ ConditionTypeDescription cc = new
ConditionTypeDescription ();
+ cc.CopyFrom (cond);
+ Conditions.Add (cc);
+ }
+ Addins.Clear ();
+ foreach (string s in ep.Addins)
+ Addins.Add (s);
+ rootAddin = ep.rootAddin;
+ }
+
internal override void Verify (string location,
StringCollection errors)
{
VerifyNotEmpty (location + "ExtensionPoint", errors,
Path, "path");
Modified:
trunk/mono-addins/Mono.Addins/Mono.Addins.Description/NodeTypeAttribute.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins.Description/NodeTypeAttribute.cs
2008-02-15 00:31:49 UTC (rev 95714)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins.Description/NodeTypeAttribute.cs
2008-02-15 01:06:30 UTC (rev 95715)
@@ -34,7 +34,7 @@
namespace Mono.Addins.Description
{
- public class NodeTypeAttribute: ObjectDescription
+ public sealed class NodeTypeAttribute: ObjectDescription
{
string name;
string type;
@@ -46,6 +46,15 @@
{
}
+ public void CopyFrom (NodeTypeAttribute att)
+ {
+ name = att.name;
+ type = att.type;
+ required = att.required;
+ localizable = att.localizable;
+ description = att.description;
+ }
+
public string Name {
get { return name != null ? name : string.Empty; }
set { name = value; }
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches