// Collects extension data in a hash table. The key is the path, the value is a list
		// of add-ins ids that extend that path
		
		void CollectExtensionData (AddinDescription conf, AddinUpdateData updateData)
		{
			foreach (ExtensionNodeSet nset in conf.ExtensionNodeSets) {
				try {
					updateData.RegisterNodeSet (conf, nset);
					relNodeSetTypes++;
				} catch (Exception ex) {
					throw new InvalidOperationException ("Error reading node set: " + nset.Id, ex);
				}
			}
			
			foreach (ExtensionPoint ep in conf.ExtensionPoints) {
				try {
					updateData.RegisterExtensionPoint (conf, ep);
					relExtensionPoints++;
				} catch (Exception ex) {
					throw new InvalidOperationException ("Error reading extension point: " + ep.Path, ex);
				}
			}
			
			foreach (ModuleDescription module in conf.AllModules) {
				foreach (Extension ext in module.Extensions) {
					relExtensions++;
					updateData.RegisterExtension (conf, module, ext);
					AddChildExtensions (conf, module, updateData, ext.Path, ext.ExtensionNodes, false);
				}
			}
		}
Example #2
0
        // Collects extension data in a hash table. The key is the path, the value is a list
        // of add-ins ids that extend that path
        void CollectExtensionPointData(AddinDescription conf, AddinUpdateData updateData)
        {
            foreach (ExtensionNodeSet nset in conf.ExtensionNodeSets) {
                try {
                    updateData.RegisterNodeSet (conf, nset);
                    updateData.RelNodeSetTypes++;
                } catch (Exception ex) {
                    throw new InvalidOperationException ("Error reading node set: " + nset.Id, ex);
                }
            }

            foreach (ExtensionPoint ep in conf.ExtensionPoints) {
                try {
                    updateData.RegisterExtensionPoint (conf, ep);
                    updateData.RelExtensionPoints++;
                } catch (Exception ex) {
                    throw new InvalidOperationException ("Error reading extension point: " + ep.Path, ex);
                }
            }
        }