mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-27 04:35:48 +00:00
ab07fa8056
svn path=/trunk/gtk-sharp/; revision=46164
205 lines
10 KiB
XML
205 lines
10 KiB
XML
<Type Name="ModuleCallback" FullName="Gnome.Vfs.ModuleCallback">
|
|
<TypeSignature Language="C#" Value="public abstract class ModuleCallback" Maintainer="auto" />
|
|
<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.6.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>Abstract class used by modules for asking an application for necessary information (authentication for example).</summary>
|
|
<remarks>
|
|
<example>
|
|
<code lang="C#">
|
|
using GLib;
|
|
using Gnome.Vfs;
|
|
using System;
|
|
using System.Text;
|
|
|
|
namespace Test.Gnome.Vfs {
|
|
public class TestCallback {
|
|
private static MainLoop loop;
|
|
|
|
static void Main (string[] args)
|
|
{
|
|
if (args.Length != 1) {
|
|
Console.WriteLine ("Usage: TestCallback <uri>");
|
|
return;
|
|
}
|
|
|
|
Gnome.Vfs.Vfs.Initialize ();
|
|
|
|
Gnome.Vfs.Uri uri = new Gnome.Vfs.Uri (args[0]);
|
|
Handle handle;
|
|
|
|
// Test 1: Attempt to access a URI requiring authentication w/o a callback registered.
|
|
try {
|
|
handle = Sync.Open (uri, OpenMode.Read);
|
|
Sync.Close (handle);
|
|
Console.WriteLine ("Uri '{0}' doesn't require authentication", uri);
|
|
return;
|
|
} catch (VfsException ex) {
|
|
if (ex.Result != Result.ErrorAccessDenied)
|
|
throw ex;
|
|
}
|
|
|
|
// Test 2: Attempt an open that requires authentication.
|
|
ModuleCallbackFullAuthentication cb = new ModuleCallbackFullAuthentication ();
|
|
cb.Callback += new ModuleCallbackHandler (OnAuthenticate);
|
|
cb.SetDefault ();
|
|
|
|
handle = Sync.Open (uri, OpenMode.Read);
|
|
Sync.Close (handle);
|
|
|
|
// Test 3: This call should not require any new authentication.
|
|
Console.WriteLine ("File info: \n{0}", uri.GetFileInfo ());
|
|
|
|
// Test 4: Attempt a call to the parent uri.
|
|
FileInfo[] entries = Directory.GetEntries (uri.Parent);
|
|
Console.WriteLine ("Directory '{0}' has {1} entries", uri.Parent, entries.Length);
|
|
|
|
// Test 5: Pop the authentication callback and try again.
|
|
cb.Pop ();
|
|
try {
|
|
handle = Sync.Open (uri, OpenMode.Read);
|
|
} catch (VfsException ex) {
|
|
if (ex.Result != Result.ErrorAccessDenied)
|
|
throw ex;
|
|
}
|
|
|
|
Gnome.Vfs.Vfs.Shutdown ();
|
|
}
|
|
|
|
private static void OnAuthenticate (ModuleCallback cb)
|
|
{
|
|
ModuleCallbackFullAuthentication fcb = cb as ModuleCallbackFullAuthentication;
|
|
Console.Write ("Enter your username ({0}): ", fcb.Username);
|
|
string username = Console.ReadLine ();
|
|
Console.Write ("Enter your password : ");
|
|
string passwd = Console.ReadLine ();
|
|
|
|
if (username.Length > 0)
|
|
fcb.Username = username;
|
|
fcb.Password = passwd;
|
|
}
|
|
}
|
|
}
|
|
</code>
|
|
</example>
|
|
</remarks>
|
|
</Docs>
|
|
<Base>
|
|
<BaseTypeName>System.Object</BaseTypeName>
|
|
</Base>
|
|
<Interfaces />
|
|
<Members>
|
|
<Member MemberName="Push">
|
|
<MemberSignature Language="C#" Value="public abstract void Push ();" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Void</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Set this ModuleCallback as a temporary handler. <see cref="M:Gnome.Vfs.ModuleCallback.Callback" /> will be called on the same thread as the gnome-vfs operation that invokes it. The temporary handler is set per-thread.</summary>
|
|
<remarks>
|
|
<para>
|
|
<see cref="M:Gnome.Vfs.ModuleCallback.Pop" /> removes the most recently set temporary handler. The temporary handlers are treated as a first-in first-out stack.</para>
|
|
<para>Use this function to set a temporary callback handler for a single call or a few calls. You can use <see cref="M:Gnome.Vfs.ModuleCallback.SetDefault" /> to set a callback function that will establish a permanent global setting for all threads instead.</para>
|
|
</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName="Pop">
|
|
<MemberSignature Language="C#" Value="public abstract void Pop ();" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Void</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Remove the temporary handler set with <see cref="M:Gnome.Vfs.ModuleCallback.Push" />. If another temporary handler was previously set on the same thread, it becomes the current handler. Otherwise, the default handler, if any, becomes current.</summary>
|
|
<remarks>The temporary handlers are treated as a first-in first-out stack.</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName="SetDefault">
|
|
<MemberSignature Language="C#" Value="public abstract void SetDefault ();" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Void</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Set this <see cref="T:Gnome.Vfs.ModuleCallback" /> as the default handler. <see cref="M:Gnome.Vfs.ModuleCallback.Callback" /> will be called on the same thread as the gnome-vfs operation that invokes it. The default value is shared for all threads, but setting it is thread-safe.</summary>
|
|
<remarks>Use this function if you want to set a handler to be used by your whole application. You can use <see cref="M:Gnome.Vfs.ModuleCallback.Push" /> to set a callback function that will temporarily override the default on the current thread instead. Or you can also use <see cref="M:Gnome.Vfs.ModuleCallback.SetDefaultAsync" /> to set an async callback function.</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName="PushAsync">
|
|
<MemberSignature Language="C#" Value="public abstract void PushAsync ();" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Void</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Set <see cref="M:Gnome.Vfs.ModuleCallback.Callback" /> as a temprary async handler. <see cref="M:Gnome.Vfs.ModuleCallback.Callback" /> will be called from a callback on the main thread. It will be passed a response function which should be called to signal completion of the callback. The callback function itself may return in the meantime.</summary>
|
|
<remarks>
|
|
<para>The temporary async handler is set per-thread.</para>
|
|
<para>
|
|
<see cref="M:Gnome.Vfs.ModuleCallback.PopAsync" /> removes the most recently set temporary temporary handler. The temporary async handlers are treated as a first-in first-out stack.</para>
|
|
<para>Use this function to set a temporary async callback handler for a single call or a few calls. You can use <see cref="M:Gnome.Vfs.ModuleCallback.SetDefaultAsync" /> to set an async callback function that will establish a permanent global setting for all threads instead.</para>
|
|
</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName="PopAsync">
|
|
<MemberSignature Language="C#" Value="public abstract void PopAsync ();" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Void</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Remove the temporary async handler most recently set with <see cref="M:Gnome.Vfs.PushAsync" />. If another temporary async handler was previously set on the same thread, it becomes the current handler. Otherwise, the default async handler, if any, becomes current.</summary>
|
|
<remarks>The temporary async handlers are treated as a first-in first-out stack.</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName="SetDefaultAsync">
|
|
<MemberSignature Language="C#" Value="public abstract void SetDefaultAsync ();" />
|
|
<MemberType>Method</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>System.Void</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Set the default async callback. <see cref="M:Gnome.Vfs.ModuleCallback.Callback" /> will be called from a callback on the main thread. It will be passed a response function which should be called to signal completion of the callback. The callback function itself may return in the meantime.</summary>
|
|
<remarks>
|
|
<para>The default value is shared for all threads, but setting it is thread-safe.</para>
|
|
<para>Use this function if you want to globally set a callback handler for use with async operations.</para>
|
|
<para>You can use <see cref="M:Gnome.Vfs.ModuleCallback.PushAsync" /> to set an async callback function that will temporarily override the default on the current thread instead. Or you can also use <see cref="M:Gnome.Vfs.ModuleCallback.SetDefault" /> to set a regular callback function.</para>
|
|
</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName=".ctor">
|
|
<MemberSignature Language="C#" Value="protected ModuleCallback ();" />
|
|
<MemberType>Constructor</MemberType>
|
|
<ReturnValue />
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>To be added</summary>
|
|
<remarks>To be added</remarks>
|
|
</Docs>
|
|
</Member>
|
|
<Member MemberName="Callback">
|
|
<MemberSignature Language="C#" Value="public abstract event Gnome.Vfs.ModuleCallbackHandler Callback;" />
|
|
<MemberType>Event</MemberType>
|
|
<ReturnValue>
|
|
<ReturnType>Gnome.Vfs.ModuleCallbackHandler</ReturnType>
|
|
</ReturnValue>
|
|
<Parameters />
|
|
<Docs>
|
|
<summary>Event which is called when a gnome-vfs module requires additional information from an application such as authentication.</summary>
|
|
<remarks>Implementations of <see cref="T:Gnome.Vfs.ModuleCallback" /> have properties such as <see cref="M:Gnome.Vfs.ModuleCallbackFullAuthentication.Username" /> which can be retrieved and set from the <see cref="M:Gnome.Vfs.ModuleCallback.Callback" /> handler. These properties are only valid during the callback activation.</remarks>
|
|
</Docs>
|
|
</Member>
|
|
</Members>
|
|
</Type>
|