<Type Name="VolumeMonitor" FullName="Gnome.Vfs.VolumeMonitor">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class VolumeMonitor : GLib.Object" />
  <AssemblyInfo>
    <AssemblyName>gnome-vfs-sharp</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64 96 A4 7C B4]</AssemblyPublicKey>
    <AssemblyVersion>2.20.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Abstraction for Removable devices.</summary>
    <remarks>
      <para>
The VolumeMonitor offers a simple way to get removable devices: name, icon, type, etc and operations: Eject, Mount, Unmount and others.
</para>
      <para>
In order to use, you need to execute the static method <see cref="M:Gnome.Vfs.VolumeMonitor.Get" />. This method give you a pointer to VolumeMonitor, this is a singleton, which means that it will exists and be valid until <see cref="M:Gnome.Vfs.Vfs.Shutdown" /></para>
      <example>
        <code lang="C#">
	// This example show how to get all connected drives
	using System;
	using Gnome.Vfs;
	namespace TestGnomeVFS
	{
		public class Test()
		{
			public static void Main()
			{
				Vfs.Initialize();
				VolumeMonitor vMonitor = VolumeMonitor.Get();
				Drive[] drv = vMonitor.ConnectedDrives;
				foreach Drive d in drv) {
					Console.WriteLine(d.DisplayName);
				}
				Vfs.Shutdown();
			}
		}
	}
  </code>
      </example>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName="Get">
      <MemberSignature Language="C#" Value="public static Gnome.Vfs.VolumeMonitor Get ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.VolumeMonitor</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns a pointer to the VolumeMonitor singleton. VolumeMonitor is a singleton, this means it is guaranteed to exist and be valid until <see cref="M:Gnome.Vfs.Vfs.Shutdown" /> is called.</summary>
        <returns>a <see cref="T:Gnome.Vfs.VolumeMonitor" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnVolumePreUnmount">
      <MemberSignature Language="C#" Value="protected virtual void OnVolumePreUnmount (Gnome.Vfs.Volume volume);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="volume" Type="Gnome.Vfs.Volume" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.VolumePreUnmount" /> event.</summary>
        <param name="volume">a <see cref="T:Gnome.Vfs.Volume" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.VolumePreUnmount" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnDriveDisconnected">
      <MemberSignature Language="C#" Value="protected virtual void OnDriveDisconnected (Gnome.Vfs.Drive drive);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="drive" Type="Gnome.Vfs.Drive" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.DriveDisconnected" /> event.</summary>
        <param name="drive">a <see cref="T:Gnome.Vfs.Drive" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.DriveDisconnected" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnVolumeUnmounted">
      <MemberSignature Language="C#" Value="protected virtual void OnVolumeUnmounted (Gnome.Vfs.Volume volume);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="volume" Type="Gnome.Vfs.Volume" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.VolumeUnmounted" /> event.</summary>
        <param name="volume">a <see cref="T:Gnome.Vfs.Volume" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.VolumeUnmounted" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnDriveConnected">
      <MemberSignature Language="C#" Value="protected virtual void OnDriveConnected (Gnome.Vfs.Drive drive);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="drive" Type="Gnome.Vfs.Drive" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.DriveConnected" /> event.</summary>
        <param name="drive">a <see cref="T:Gnome.Vfs.Drive" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.DriveConnected" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnVolumeMounted">
      <MemberSignature Language="C#" Value="protected virtual void OnVolumeMounted (Gnome.Vfs.Volume volume);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="volume" Type="Gnome.Vfs.Volume" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.VolumeMounted" /> event.</summary>
        <param name="volume">a <see cref="T:Gnome.Vfs.Volume" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gnome.Vfs.VolumeMonitor.VolumeMounted" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetVolumeForPath">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Volume GetVolumeForPath (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Volume</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Looks for a <see cref="T:Gnome.Vfs.Volume" /> which contains <paramref name="path" />.</summary>
        <param name="path">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Volume" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetDriveById">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Drive GetDriveById (ulong id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Drive</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="id" Type="System.UInt64" />
      </Parameters>
      <Docs>
        <summary>Looks for a <see cref="T:Gnome.Vfs.Drive" /> whose id is <paramref name="id" />.</summary>
        <param name="id">a <see cref="T:System.UInt64" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Drive" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetVolumeById">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Volume GetVolumeById (ulong id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Volume</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="id" Type="System.UInt64" />
      </Parameters>
      <Docs>
        <summary>Looks for a <see cref="T:Gnome.Vfs.Volume" /> whose id is <paramref name="id" />.</summary>
        <param name="id">a <see cref="T:System.UInt64" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Volume" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected VolumeMonitor (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Protected Constructor.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public VolumeMonitor (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <remarks>This is not typically used by C# code.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected VolumeMonitor ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gnome.Vfs.VolumeMonitor" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="VolumePreUnmount">
      <MemberSignature Language="C#" Value="public event Gnome.Vfs.VolumePreUnmountHandler VolumePreUnmount;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.VolumePreUnmountHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>a <see cref="T:Gnome.Vfs.Volume" /> is about to be unmounted.</summary>
        <remarks>To be added</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("volume_pre_unmount")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="DriveDisconnected">
      <MemberSignature Language="C#" Value="public event Gnome.Vfs.DriveDisconnectedHandler DriveDisconnected;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.DriveDisconnectedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>a <see cref="T:Gnome.Vfs.Drive" /> was disconnected.</summary>
        <remarks>To be added</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("drive_disconnected")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="VolumeUnmounted">
      <MemberSignature Language="C#" Value="public event Gnome.Vfs.VolumeUnmountedHandler VolumeUnmounted;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.VolumeUnmountedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>a <see cref="T:Gnome.Vfs.Volume" /> was unmounted.</summary>
        <remarks>To be added</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("volume_unmounted")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="DriveConnected">
      <MemberSignature Language="C#" Value="public event Gnome.Vfs.DriveConnectedHandler DriveConnected;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.DriveConnectedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>a new <see cref="T:Gnome.Vfs.Drive" /> was connected.</summary>
        <remarks>To be added</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("drive_connected")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="VolumeMounted">
      <MemberSignature Language="C#" Value="public event Gnome.Vfs.VolumeMountedHandler VolumeMounted;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.VolumeMountedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>a <see cref="T:Gnome.Vfs.Volume" /> was mounted.</summary>
        <remarks>To be added</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>GLib.Signal("volume_mounted")</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName="ConnectedDrives">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Drive[] ConnectedDrives { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Drive[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns an array of connected <see cref="T:Gnome.Vfs.Drive" />s.</summary>
        <value>a <see cref="T:Gnome.Vfs.Drive[]" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="MountedVolumes">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Volume[] MountedVolumes { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Volume[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns an array of mounted <see cref="T:Gnome.Vfs.Volume" />s.</summary>
        <value>a <see cref="T:Gnome.Vfs.Volume[]" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
