<Type Name="AppInfo" FullName="GLib.AppInfo">
  <TypeSignature Language="C#" Value="public interface AppInfo : GLib.IWrapper" />
  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AppInfo implements class GLib.IWrapper" />
  <AssemblyInfo>
    <AssemblyName>gio-sharp</AssemblyName>
  </AssemblyInfo>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>This interface provides application information. See <see cref="T:GLib.DesktopAppInfo" /> and <see cref="T:GLib.AppInfoAdapter" /> for concretes implementations and usage.</summary>
    <remarks>The following code sample lists all the application installed on your system:

<example><code lang="C#">
public class TestAppInfo
{
    static void Main (string[] args)
    {
        GLib.GType.Init ();

        foreach (AppInfo appinfo in AppInfoAdapter.All)
            Console.WriteLine ("\t{0}: {1}, {2} ", appinfo.Name, appinfo.Descritpion, appinfo.Executable);
    }
}
  </code></example></remarks>
    <since version="Gtk# 2.14" />
  </Docs>
  <Members>
    <Member MemberName="AddSupportsType">
      <MemberSignature Language="C#" Value="public bool AddSupportsType (string content_type);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool AddSupportsType(string content_type) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content_type" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="content_type">To be added.</param>
        <summary>Adds a content type to the application.</summary>
        <returns>Always returns True. Throw a <see cref="T:GLib.GException" /> if something went wrong.</returns>
        <remarks>
          <para>Adds a content type to the application information to indicate the application is capable of opening files with the given content type.</para>
          <para>
This method always returns True, or throw a <see cref="T:GLib.GException" /> if something went wrong.
</para>
        </remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="CanDelete">
      <MemberSignature Language="C#" Value="public bool CanDelete ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CanDelete() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="CanRemoveSupportsType">
      <MemberSignature Language="C#" Value="public bool CanRemoveSupportsType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool CanRemoveSupportsType" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>If a supported content type can be removed from an application.</summary>
        <value>True if it is possible to remove supported content types from the application, False if not.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Commandline">
      <MemberSignature Language="C#" Value="public string Commandline { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Commandline" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Delete">
      <MemberSignature Language="C#" Value="public bool Delete ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Delete() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Description">
      <MemberSignature Language="C#" Value="public string Description { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Description" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>An human-readable description of an installed application.</summary>
        <value>A string containing a description of the application, or null if none.</value>
        <remarks>The following code snippet:

<example><code lang="C#">
AppInfo app_info = AppInfoAdapter.GetDefaultForType ("image/jpeg", false);
Console.WriteLine ("{0}:\t{1}", app_info.Name, app_info.Description);
  </code></example>
produces the following output (depending on your installation): 

<para>
Eye of Gnome:	Browse and rotate images
</para></remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="DisplayName">
      <MemberSignature Language="C#" Value="public string DisplayName { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string DisplayName" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Dup">
      <MemberSignature Language="C#" Value="public GLib.AppInfo Dup ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.AppInfo Dup() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>GLib.AppInfo</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Equal">
      <MemberSignature Language="C#" Value="public bool Equal (GLib.AppInfo appinfo2);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.AppInfo appinfo2) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="appinfo2" Type="GLib.AppInfo" />
      </Parameters>
      <Docs>
        <param name="appinfo2">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Executable">
      <MemberSignature Language="C#" Value="public string Executable { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Executable" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The executable's name for the installed application.</summary>
        <value>A string containing the AppInfo's application binary's name.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Icon">
      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.Icon</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The <see cref="T:GLib.Icon" /> for the application.</summary>
        <value>The default <see cref="T:GLib.Icon" /> for the application.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Id">
      <MemberSignature Language="C#" Value="public string Id { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Id" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The ID of an application.</summary>
        <value>A string containing the application's ID.</value>
        <remarks>An id si s a string that identifies the application. The exact format of the id is platform depenedent. For instance, on Unix, this is the desktop file id from the xdg menu specification.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Launch">
      <MemberSignature Language="C#" Value="public bool Launch (GLib.List files, GLib.AppLaunchContext launch_context);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Launch(class GLib.List files, class GLib.AppLaunchContext launch_context) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="files" Type="GLib.List" />
        <Parameter Name="launch_context" Type="GLib.AppLaunchContext" />
      </Parameters>
      <Docs>
        <param name="files">A <see cref="T:GLib.List" /> of <see cref="T:GLib.File" /> objects, or null to launch the application without arguments.</param>
        <param name="launch_context">An <see cref="T:GLib.AppLauchContext" />, or null.</param>
        <summary>Launches the application.</summary>
        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
        <remarks>
          <para>Launches the application. Passes files to the launched application as arguments, using the optional launch_context to get information about the details of the launcher (like what screen it is on). Throws a <see cref="T:GLib.GException" /> on error.</para>
          <para>To lauch the application without arguments pass a null files list.</para>
          <para>Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this.</para>
          <para>Some URIs can be changed when passed through a GFile (for instance unsupported uris with strange formats like mailto:), so if you have a textual uri you want to pass in as argument, consider using <see cref="M:GLib.AppInfo.LaunchUris" /> instead.</para>
        </remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="LaunchUris">
      <MemberSignature Language="C#" Value="public bool LaunchUris (GLib.List uris, GLib.AppLaunchContext launch_context);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LaunchUris(class GLib.List uris, class GLib.AppLaunchContext launch_context) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uris" Type="GLib.List" />
        <Parameter Name="launch_context" Type="GLib.AppLaunchContext" />
      </Parameters>
      <Docs>
        <param name="uris">A <see cref="T:GLib.List" /> of <see cref="T:System.String" /> containing URIs to launch, or null.</param>
        <param name="launch_context">A <see cref="T:GLib.AppLaunchContext" />, or null.</param>
        <summary>Launches the application.</summary>
        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
        <remarks>
          <para>Launches the application. Passes uris to the launched application as arguments, using the optional launch_context to get information about the details of the launcher (like what screen it is on). On error, throws a <see cref="T:GLib.GException" /></para>
          <para>To lauch the application without arguments pass a NULL uris list.</para>
          <para>Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this.</para>
        </remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="Name">
      <MemberSignature Language="C#" Value="public string Name { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Name" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The name of the installed application.</summary>
        <value>A <see cref="T:System.String" /> containing the name of the application.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="RemoveSupportsType">
      <MemberSignature Language="C#" Value="public bool RemoveSupportsType (string content_type);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemoveSupportsType(string content_type) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content_type" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="content_type">A <see cref="T:System.String" /> containing a content type. On Unix, content types are mimetypes, so "image/jpeg" is a valid content type.</param>
        <summary>Removes a supported type from an application, if possible.</summary>
        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
        <remarks>This method always returns True, but throws on any error. Checking <see cref="M:GLib.AppInfo.CanRemoveSupportsType" /> first will avoid some exceptions, but that doesn't mean it won't throw at all.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="SetAsDefaultForExtension">
      <MemberSignature Language="C#" Value="public bool SetAsDefaultForExtension (string extension);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAsDefaultForExtension(string extension) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="extension" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="extension">A <see cref="T:System.String" /> containing the file extension (without the dot).</param>
        <summary>Sets the application as the default handler for the given file extension.</summary>
        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
        <remarks>This method always returns True, or throw a <see cref="T:GLib.GException" /> if something went wrong.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="SetAsDefaultForType">
      <MemberSignature Language="C#" Value="public bool SetAsDefaultForType (string content_type);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAsDefaultForType(string content_type) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content_type" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="content_type">A <see cref="T:System.String" /> containing the content type.</param>
        <summary>Sets the application as the default handler for a given type.</summary>
        <returns>Always returns True. Throws a <see cref="T:Glib.GException" /> if something went wrong.</returns>
        <remarks>This method always returns True, or throw a <see cref="T:GLib.GException" /> if something went wrong.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="SetAsLastUsedForType">
      <MemberSignature Language="C#" Value="public bool SetAsLastUsedForType (string content_type);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAsLastUsedForType(string content_type) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content_type" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="content_type">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="ShouldShow">
      <MemberSignature Language="C#" Value="public bool ShouldShow { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool ShouldShow" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>If the application info should be shown in menus that list available applications.</summary>
        <value>True if the application should be shown, False otherwise.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="SupportsFiles">
      <MemberSignature Language="C#" Value="public bool SupportsFiles { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool SupportsFiles" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>If the application accepts files as arguments.</summary>
        <value>True if the application supports files.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
    <Member MemberName="SupportsUris">
      <MemberSignature Language="C#" Value="public bool SupportsUris { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool SupportsUris" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>If the application supports reading files and directories from URIs.</summary>
        <value>True if the application supports URIs.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.14" />
      </Docs>
    </Member>
  </Members>
</Type>
