<Type Name="ExtensionPointAttribute" FullName="Mono.Addins.ExtensionPointAttribute">
  <TypeSignature Language="C#" Value="public class ExtensionPointAttribute : Attribute" />
  <AssemblyInfo>
    <AssemblyName>Mono.Addins</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Attribute</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)</AttributeName>
    </Attribute>
  </Attributes>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ExtensionPointAttribute ();" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <summary>Initializes a new instance.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ExtensionPointAttribute (string path);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">Path of the extension point.</param>
        <summary>Initializes a new instance.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Description">
      <MemberSignature Language="C#" Value="public string Description { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Long description of the extension point.</summary>
        <value>Long description of the extension point.</value>
        <remarks>Description to be shown in the extension point documentation.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Name">
      <MemberSignature Language="C#" Value="public string Name { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Display name of the extension point.</summary>
        <value>Display name of the extension point.</value>
        <remarks>This is the name to be shown in the extension point documentation.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NodeName">
      <MemberSignature Language="C#" Value="public string NodeName { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Name of extension nodes.</summary>
        <value>Name of nodes.</value>
        <remarks>Name to be used by nodes which extend this extension point.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NodeType">
      <MemberSignature Language="C#" Value="public Type NodeType { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Type</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Node type allowed in this extension point.</summary>
        <value>A subclass of <see cref="T:Mono.Addins.ExtensionNode" />.</value>
        <remarks>Extension points declared using this attribute can only accept one type of extension node. To allow several types in an extension point, it has to be declared in an xml manifest.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ObjectType">
      <MemberSignature Language="C#" Value="public Type ObjectType { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Type</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Path">
      <MemberSignature Language="C#" Value="public string Path { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Path of the extension point.</summary>
        <value>Path of the extension point.</value>
        <remarks>Every extension point is identified by a path. The add-in ecosystem of an application can be seen as a tree of extension points, each of which can be reached using a path, like a file path in a file system.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ExtensionPointAttribute (string path, string nodeName, Type nodeType);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="nodeName" Type="System.String" />
        <Parameter Name="nodeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="path">Path of the extension point.</param>
        <param name="nodeName">Name of extension nodes.</param>
        <param name="nodeType">Node type allowed in this extension point.</param>
        <summary>Initializes a new instance.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public ExtensionPointAttribute (string path, Type nodeType);" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="nodeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="path">Path of the extension point.</param>
        <param name="nodeType">Node type allowed in this extension point.</param>
        <summary>Initializes a new instance.</summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
  <Docs>
    <summary>Declares an extension point in an add-in assembly.</summary>
    <remarks>
      <para>
When applied to an assembly, defines a new extension point. For example, the following declaration:
</para>
      <example>
        <code lang="C#">
[assembly: ExtensionPoint ("/SimpleApp/Writers", NodeName="Writer", Description="Writer classes")]
  </code>
      </example>
      <para>
would be equivalent to the following manifest declaration:
</para>
      <example>
        <code lang="XML">
	&lt;ExtensionPoint path = "/SimpleApp/Writers"&gt;
		&lt;Description&gt;Writer classes&lt;/Description&gt;
		&lt;ExtensionNode id = "Writer" /&gt;
	&lt;/ExtensionPoint&gt;
  </code>
      </example>
    </remarks>
  </Docs>
</Type>