csharp: updating eina_error docs.

Reviewers: felipealmeida, lauromoura, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10323
This commit is contained in:
Bruno da Silva Belo 2019-10-14 11:36:25 -03:00 committed by Lauro Moura
parent 3be9b6a129
commit e4385c084c
1 changed files with 84 additions and 3 deletions

View File

@ -7,45 +7,94 @@ namespace Eina
{
/// <summary>Error codes from native Eina methods.
///
/// Since EFL 1.23.
/// <para>Since EFL 1.23.</para>
/// </summary>
public struct Error : IComparable<Error>
{
int code;
/// <summary>
/// The error's message.
/// <para>Since EFL 1.23.</para>
/// </summary>
public string Message
{
get { return MsgGet(this); }
}
/// <summary>
/// Unhandled Exception error identifier.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static Error UNHANDLED_EXCEPTION;
/// <summary>
/// No error identifier.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static Error NO_ERROR = new Error(0);
/// <summary>
/// Permission error identifier.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static Error EPERM = new Error(1);
/// <summary>
/// No entity error identifier.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static Error ENOENT = new Error(2);
/// <summary>
/// Cancelled error identifier.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static Error ECANCELED = new Error(125);
/// <summary>
/// Constructor.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="value">The value of the error.</param>
public Error(int value)
{
code = value;
}
/// <summary>
/// Error identifier conversion from int.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">Value to be converted to Error</param>
static public implicit operator Error(int val)
{
return new Error(val);
}
/// <summary>
/// Int conversion from Error.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="error">Error identifier to be converted to int</param>
static public implicit operator int(Error error)
{
return error.code;
}
/// <summary>
/// Compare two Errors.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="err">Error to be compared with</param>
/// <returns>True with the Errors is equal, False otherwise.</returns>
public int CompareTo(Error err)
{
return code.CompareTo(err.code);
}
/// <summary>
/// Transform the object to a string representing the object.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>The string representing the value of this.</returns>
public override string ToString()
{
return "Eina.Error(" + code + ")";
@ -61,16 +110,32 @@ public struct Error : IComparable<Error>
[DllImport(efl.Libs.Eina)] static extern void eina_error_set(Error error);
[DllImport(efl.Libs.Eina)] static extern IntPtr eina_error_msg_get(Error error);
/// <summary>
/// Sets the last error.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="error">The error identifier.</param>
public static void Set(Error error)
{
eina_error_set(error);
}
/// <summary>
/// Returns the last set error.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>The last error or NO_ERROR identifier.</returns>
public static Error Get()
{
return eina_error_get();
}
/// <summary>
/// Returns the description of the given error identifier.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="error">Error identifier.</param>
/// <returns>The description of the error.</returns>
public static String MsgGet(Error error)
{
IntPtr cstr = eina_error_msg_get(error);
@ -78,7 +143,9 @@ public struct Error : IComparable<Error>
}
/// <summary>Raises an exception if an unhandled exception occurred before switching
/// back to the native code. For example, in an event handler.</summary>
/// back to the native code. For example, in an event handler.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static void RaiseIfUnhandledException()
{
Error e = Get();
@ -89,6 +156,10 @@ public struct Error : IComparable<Error>
}
}
/// <summary>
/// Raises an exception.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static void Raise(Error e)
{
if (e != 0)
@ -97,11 +168,21 @@ public struct Error : IComparable<Error>
}
}
/// <summary>
/// Set identifier to a NO_ERROR.
/// <para>Since EFL 1.23.</para>
/// </summary>
public static void Clear()
{
Set(0);
}
/// <summary>
/// Registers a new error type.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="msg"> The description of the error.</param>
/// <returns>The unique number identifier for this error.</returns>
public static Error Register(string msg)
{
return eina_error_msg_register(msg);