<Type Name="Client" FullName="Gda.Client">
  <TypeSignature Language="C#" Value="public class Client : GLib.Object, IWrapper, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>gda-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes />
  </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>
      <para>
This class is the main entry point for libgda cliente applications.  It provides the way by which client applications open connections.
</para>
      <para>
Also provides a way to treat several connections as if they were only one (a connection pool), which allows applications to, for instance, commit / rollback a transaction in all the connections being managed by a unique Gda.Client object, or obtain the list of all tables in all opened connections.
</para>
    </summary>
    <remarks>To be added</remarks>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OpenConnection">
      <MemberSignature Language="C#" Value="public Gda.Connection OpenConnection (string dsn, string username, string password, Gda.ConnectionOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gda.Connection</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="dsn" Type="System.String" />
        <Parameter Name="username" Type="System.String" />
        <Parameter Name="password" Type="System.String" />
        <Parameter Name="options" Type="Gda.ConnectionOptions" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Establishes a connection to a data source. The connection will be opened if no identical connection is available in the Gda.Client connection pool, and re-used if available. 
</para>
        </summary>
        <param name="dsn">a <see cref="T:System.String" /></param>
        <param name="username">a <see cref="T:System.String" /></param>
        <param name="password">a <see cref="T:System.String" /></param>
        <param name="options">a <see cref="T:Gda.ConnectionOptions" /></param>
        <returns>a <see cref="T:Gda.Connection" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="BeginTransaction">
      <MemberSignature Language="C#" Value="public bool BeginTransaction (Gda.Transaction xaction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xaction" Type="Gda.Transaction" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Starts a transaction on all connections being managed by the given Gda.Client.
</para>
        </summary>
        <param name="xaction">a <see cref="T:Gda.Transaction" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
          <para>
It is important to note that this operates on all connections opened within a Gda.Client, which could not be what you're looking for.   To execute a transaction on a unique connection, there are other methods.
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="NotifyTransactionCommittedEvent">
      <MemberSignature Language="C#" Value="public void NotifyTransactionCommittedEvent (Gda.Connection cnc, Gda.Transaction xaction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
        <Parameter Name="xaction" Type="Gda.Transaction" />
      </Parameters>
      <Docs>
        <summary>
          <para>Notifies the given GdaClient of the Gda.Client.EventTransactionCommited event.
</para>
        </summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /></param>
        <param name="xaction">a <see cref="T:Gda.Transaction" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NotifyTransactionCancelledEvent">
      <MemberSignature Language="C#" Value="public void NotifyTransactionCancelledEvent (Gda.Connection cnc, Gda.Transaction xaction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
        <Parameter Name="xaction" Type="Gda.Transaction" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Notifies the given GdaClient of the Gda.Client.EventTransactionCancelled event.
</para>
        </summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /></param>
        <param name="xaction">a <see cref="T:Gda.Transaction" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NotifyErrorEvent">
      <MemberSignature Language="C#" Value="public void NotifyErrorEvent (Gda.Connection cnc, Gda.Error error);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
        <Parameter Name="error" Type="Gda.Error" />
      </Parameters>
      <Docs>
        <summary>
          <para>
	Notifies the given Gda.Client of the Gda.ClientEventError event.
</para>
        </summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /></param>
        <param name="error">a <see cref="T:Gda.Error" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="CommitTransaction">
      <MemberSignature Language="C#" Value="public bool CommitTransaction (Gda.Transaction xaction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xaction" Type="Gda.Transaction" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Commits a running transaction on all connections being managed by the given Gda.Client. 
</para>
        </summary>
        <param name="xaction">a <see cref="T:Gda.Transaction" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
          <para>
It is important to note that this operates on all connections opened within a Gda.Client, which could not be what you're looking for.  To execute a transaction on a unique connection, there are other methods.
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="FindConnection">
      <MemberSignature Language="C#" Value="public Gda.Connection FindConnection (string dsn, string username, string password);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gda.Connection</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="dsn" Type="System.String" />
        <Parameter Name="username" Type="System.String" />
        <Parameter Name="password" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Looks for an open connection given a data source name (per libgda configuration), a username and a password.
</para>
        </summary>
        <param name="dsn">a <see cref="T:System.String" /></param>
        <param name="username">a <see cref="T:System.String" /></param>
        <param name="password">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gda.Connection" /></returns>
        <remarks>
          <para>
This function iterates over the list of open connections in the given Gda.Client object and looks for one that matches the given data source name, username and password.
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RollbackTransaction">
      <MemberSignature Language="C#" Value="public bool RollbackTransaction (Gda.Transaction xaction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="xaction" Type="Gda.Transaction" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Cancels a running transaction on all connections being managed by the given Gda.Client. 
</para>
        </summary>
        <param name="xaction">a <see cref="T:Gda.Transaction" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>
          <para>
It is important to note that this operates on all connections opened within a Gda.Client, which could not be what you're looking for.  To execute a transaction on a unique connection, there are other methods.
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="NotifyConnectionOpenedEvent">
      <MemberSignature Language="C#" Value="public void NotifyConnectionOpenedEvent (Gda.Connection cnc);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
      </Parameters>
      <Docs>
        <summary>Notifies the given GdaClient of the Gda.Client.EventConnectionOpened event.</summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="OpenConnectionFromString">
      <MemberSignature Language="C#" Value="public Gda.Connection OpenConnectionFromString (string provider_id, string cnc_string, Gda.ConnectionOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gda.Connection</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider_id" Type="System.String" />
        <Parameter Name="cnc_string" Type="System.String" />
        <Parameter Name="options" Type="Gda.ConnectionOptions" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Opens a connection given a provider ID and a connection string. This allows applications to open connections without having to create a data source in the configuration. 
</para>
        </summary>
        <param name="provider_id">a <see cref="T:System.String" /></param>
        <param name="cnc_string">a <see cref="T:System.String" /></param>
        <param name="options">a <see cref="T:Gda.ConnectionOptions" /></param>
        <returns>a <see cref="T:Gda.Connection" /></returns>
        <remarks>
          <para>
The format of cnc_string is similar to PostgreSQL and MySQL connection strings. It is a ;-separated series of key=value pairs. Do not add extra whitespace after the ; separator. The possible keys depend on the provider, but these keys should work with all providers: USER, PASSWORD, HOST, DATABASE, PORT
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="NotifyTransactionStartedEvent">
      <MemberSignature Language="C#" Value="public void NotifyTransactionStartedEvent (Gda.Connection cnc, Gda.Transaction xaction);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
        <Parameter Name="xaction" Type="Gda.Transaction" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Notifies the given Gda.Client of the Gda.Client.EventTransactionStarted event.
</para>
        </summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /></param>
        <param name="xaction">a <see cref="T:Gda.Transaction" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="CloseAllConnections">
      <MemberSignature Language="C#" Value="public void CloseAllConnections ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>
Closes all connections opened by the given Gda.Client object.
</para>
        </summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NotifyEvent">
      <MemberSignature Language="C#" Value="public void NotifyEvent (Gda.Connection cnc, Gda.ClientEvent evnt, Gda.ParameterList parms);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
        <Parameter Name="evnt" Type="Gda.ClientEvent" />
        <Parameter Name="parms" Type="Gda.ParameterList" />
      </Parameters>
      <Docs>
        <summary>
          <para>
Notifies an event to the given Gda.Client's listeners. The event can be anything (see Gda.ClientEvent) ranging from a connection opening operation, to changes made to a table in an underlying database.
</para>
        </summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /> where the event has ocurred.</param>
        <param name="evnt">a <see cref="T:Gda.ClientEvent" /></param>
        <param name="parms">a <see cref="T:Gda.ParameterList" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Client (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <returns>a <see cref="T:Gda.Client" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Client ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Default constructor for Gda.Client.</summary>
        <returns>a <see cref="T:Gda.Client" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ConnectionList">
      <MemberSignature Language="C#" Value="public GLib.List ConnectionList { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.List</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>
Gets the list of all open connections in the given Gda.Client object.
</para>
        </summary>
        <returns>a <see cref="T:GLib.List" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="EventNotification">
      <MemberSignature Language="C#" Value="public event Gda.EventNotificationHandler EventNotification;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gda.EventNotificationHandler</ReturnType>
      </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>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gda.Client" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnEventNotification">
      <MemberSignature Language="C#" Value="protected virtual void OnEventNotification (Gda.Connection cnc, Gda.ClientEvent evnt, Gda.ParameterList parms);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="cnc" Type="Gda.Connection" />
        <Parameter Name="evnt" Type="Gda.ClientEvent" />
        <Parameter Name="parms" Type="Gda.ParameterList" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gda.Client.EventNotification" /> event.</summary>
        <param name="cnc">a <see cref="T:Gda.Connection" /></param>
        <param name="evnt">a <see cref="T:Gda.ClientEvent" /></param>
        <param name="parms">a <see cref="T:Gda.ParameterList" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gda.Client.EventNotification" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected Client (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>
        <returns>a <see cref="T:Gda.Client" /></returns>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>