csharp: FunctionWrapper doc fixes

Reviewers: felipealmeida, brunobelo, segfaultxavi, woohyun

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10430
This commit is contained in:
Lauro Moura 2019-10-30 12:39:11 +01:00 committed by Mike Blumenkrantz
parent 23700732ab
commit 23163e694d
2 changed files with 64 additions and 37 deletions

View File

@ -21,12 +21,16 @@ namespace Efl.Eo
/// <summary>Class to load functions pointers from a native module.
///
///This class has a platform-dependent implementation on whether it
/// <para>This class has a platform-dependent implementation on whether it
/// is compiled for Windows (using LoadLibrary/GetProcAddress) or Unix
///(dlopen/dlsym).</summary>
/// (dlopen/dlsym).</para>
/// <para>Since EFL 1.23.</para>
/// </summary>
internal static partial class FunctionInterop
{
///<summary>Loads a function pointer from the given module.</summary>
/// <summary>Loads a function pointer from the given module.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="moduleName">The name of the module containing the function.</param>
/// <param name="functionName">The name of the function to search for.</param>
/// <returns>A function pointer that can be used with delegates.</returns>
@ -39,7 +43,9 @@ internal static partial class FunctionInterop
return s;
}
///<summary>Loads a function pointer from the default module.</summary>
/// <summary>Loads a function pointer from the default module.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="functionName">The name of the function to search for.</param>
/// <returns>A function pointer that can be used with delegates.</returns>
internal static IntPtr LoadFunctionPointer(string functionName)
@ -53,9 +59,9 @@ internal static partial class FunctionInterop
/// <summary>Wraps a native function in a portable manner.
///
///This is intended as a workaround DllImport limitations when switching between mono and dotnet.
///
///The parameter T must be a delegate.
/// <para>This is intended as a workaround DllImport limitations when switching between mono and dotnet.</para>
/// <para>The parameter T must be a delegate.</para>
/// <para>Since EFL 1.23.</para>
/// </summary>
class FunctionWrapper<T> // NOTE: When supporting C# >=7.3, add a where T: System.Delegate?
{
@ -84,7 +90,9 @@ class FunctionWrapper<T> // NOTE: When supporting C# >=7.3, add a where T: Syste
}
}
///<summary>Creates a wrapper for the given function of the given module.</summary>
/// <summary>Creates a wrapper for the given function of the given module.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="moduleName">The name of the module containing the function.</param>
/// <param name="functionName">The name of the function to search for.</param>
internal FunctionWrapper(string moduleName, string functionName)
@ -92,7 +100,9 @@ class FunctionWrapper<T> // NOTE: When supporting C# >=7.3, add a where T: Syste
{
}
///<summary>Creates a wrapper for the given function of the given module.</summary>
/// <summary>Creates a wrapper for the given function of the given module.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="module">The module wrapper containing the function.</param>
/// <param name="functionName">The name of the function to search for.</param>
internal FunctionWrapper(NativeModule module, string functionName)
@ -105,7 +115,9 @@ class FunctionWrapper<T> // NOTE: When supporting C# >=7.3, add a where T: Syste
});
}
///<summary>Retrieves the result of function load.</summary>
/// <summary>Retrieves the result of function load.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>The load result.</returns>
internal FunctionLoadResult<T> Value
{
@ -116,7 +128,9 @@ class FunctionWrapper<T> // NOTE: When supporting C# >=7.3, add a where T: Syste
}
}
///<summary>The outcome of the function load process.</summary>
/// <summary>The outcome of the function load process.
/// <para>Since EFL 1.23.</para>
/// </summary>
enum FunctionLoadResultKind
{
///<summary>Function was loaded successfully.</summary>
@ -127,16 +141,23 @@ enum FunctionLoadResultKind
FunctionNotFound
}
///<summary>Represents the result of loading a function pointer.</summary>
/// <summary>Represents the result of loading a function pointer.
/// <para>Since EFL 1.23.</para>
/// </summary>
class FunctionLoadResult<T>
{
///<summary>The status of the load.</summary>
/// <summary>The status of the load.
/// <para>Since EFL 1.23.</para>
/// </summary>
FunctionLoadResultKind Kind;
private T _Delegate;
/// <summary>The delegate wrapping the loaded function pointer.
///
///Throws InvalidOperationException if trying to access while not loaded.</summary>
/// <para>Throws InvalidOperationException if trying to access while not loaded.</para>
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <value>The <c>delegate</c> wrapping the native function.</value>
internal T Delegate
{
get
@ -150,14 +171,18 @@ class FunctionLoadResult<T>
}
}
///<summary>Creates a new load result of the given kind.</summary>
/// <summary>Creates a new load result of the given kind.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="kind">The outcome of the load process.</param>
internal FunctionLoadResult(FunctionLoadResultKind kind)
{
this.Kind = kind;
}
///<summary>Creates a new load result with the given delegate.</summary>
/// <summary>Creates a new load result with the given delegate.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="Delegate">The delegate wrapping the native function.</param>
internal FunctionLoadResult(T Delegate)
{

View File

@ -24,7 +24,9 @@ internal static partial class FunctionInterop
[DllImport(efl.Libs.Libdl)]
private static extern IntPtr dlsym(IntPtr handle, string symbol);
///<summary>Loads a function pointer from the given module.</summary>
/// <summary>Loads a function pointer from the given module.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="nativeLibraryHandle">The module containing the function.</param>
/// <param name="functionName">The name of the function to search for.</param>
/// <returns>A function pointer that can be used with delegates.</returns>