csharp: updating eldbus_message doc and hide api.

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8361

Differential Revision: https://phab.enlightenment.org/D10431
This commit is contained in:
Bruno da Silva Belo 2019-10-17 15:53:48 -03:00 committed by Lauro Moura
parent 6162b1a23e
commit dfd49533c0
1 changed files with 472 additions and 2 deletions

View File

@ -2,12 +2,14 @@
using System;
using System.Runtime.InteropServices;
using System.ComponentModel;
using static eldbus.EldbusMessageNativeFunctions;
namespace eldbus
{
[EditorBrowsable(EditorBrowsableState.Never)]
public static class EldbusMessageNativeFunctions
{
[DllImport(efl.Libs.Eldbus)] public static extern IntPtr
@ -190,11 +192,11 @@ public static class EldbusMessageNativeFunctions
/// <summary>Represents a DBus message.
///
/// Since EFL 1.23.
/// <para>Since EFL 1.23.</para>
/// </summary>
public class Message : IDisposable
{
[EditorBrowsable(EditorBrowsableState.Never)]
public IntPtr Handle {get;set;} = IntPtr.Zero;
public bool Own {get;set;} = true;
@ -213,16 +215,26 @@ public class Message : IDisposable
}
}
[EditorBrowsable(EditorBrowsableState.Never)]
public Message(IntPtr handle, bool own)
{
InitNew(handle, own);
}
/// <summary>Finalizes with garbage collector.
/// <para>Since EFL 1.23.</para>
/// </summary>
~Message()
{
Dispose(false);
}
/// <summary>Disposes of this wrapper, releasing the native if owned.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="disposing">True if this was called from <see cref="Dispose()"/> public method. False if
/// called from the C# finalizer.</param>
protected virtual void Dispose(bool disposing)
{
IntPtr h = Handle;
@ -245,17 +257,28 @@ public class Message : IDisposable
}
}
/// <summary>Releases the native resources held by this instance.
/// <para>Since EFL 1.23.</para>
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>Releases the native resources held by this instance.
/// <para>Since EFL 1.23.</para>
/// </summary>
public void Free()
{
Dispose();
}
/// <summary>
/// Releases the native handler.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>The native handler.</returns>
public IntPtr Release()
{
IntPtr h = Handle;
@ -263,6 +286,15 @@ public class Message : IDisposable
return h;
}
/// <summary>
/// Create a new message to invoke a method on a remote object.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="dest">The bus name or unique id of the remote application.</param>
/// <param name="path">The object path.</param>
/// <param name="iface">The interface name.</param>
/// <param name="method">The name of the method to be called.</param>
/// <returns>A new <see cref="eldbus.Message" />.</returns>
public static eldbus.Message NewMethodCall(string dest, string path, string iface, string method)
{
var ptr = eldbus_message_method_call_new(dest, path, iface, method);
@ -274,6 +306,14 @@ public class Message : IDisposable
return new eldbus.Message(ptr, true);
}
/// <summary>
/// Create a new signal message.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="path">The object path.</param>
/// <param name="_interface">The interface name.</param>
/// <param name="name">The name of the signal to be broadcasted.</param>
/// <returns>A new <see cref="eldbus.Message" />.</returns>
public static eldbus.Message NewSignal(string path, string _interface, string name)
{
var ptr = eldbus_message_signal_new(path, _interface, name);
@ -285,18 +325,31 @@ public class Message : IDisposable
return new eldbus.Message(ptr, true);
}
/// <summary>
/// Increase message reference.
/// <para>Since EFL 1.23.</para>
/// </summary>
public void Ref()
{
CheckHandle();
eldbus_message_ref(Handle);
}
/// <summary>
/// Decrease message reference.
/// <para>Since EFL 1.23.</para>
/// </summary>
public void Unref()
{
CheckHandle();
eldbus_message_unref(Handle);
}
/// <summary>
/// Get the eldbus message path.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the dbus message path.</returns>
public string GetPath()
{
CheckHandle();
@ -304,6 +357,11 @@ public class Message : IDisposable
return Eina.StringConversion.NativeUtf8ToManagedString(ptr);
}
/// <summary>
/// The eldbus message interface.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the dbus message interface.</returns>
public string GetInterface()
{
CheckHandle();
@ -311,6 +369,11 @@ public class Message : IDisposable
return Eina.StringConversion.NativeUtf8ToManagedString(ptr);
}
/// <summary>
/// Get the eldbus message member.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the dbus message destination.</returns>
public string GetMember()
{
CheckHandle();
@ -318,6 +381,11 @@ public class Message : IDisposable
return Eina.StringConversion.NativeUtf8ToManagedString(ptr);
}
/// <summary>
/// Get the eldbus message destination.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the dbus message destination.</returns>
public string GetDestination()
{
CheckHandle();
@ -325,6 +393,11 @@ public class Message : IDisposable
return Eina.StringConversion.NativeUtf8ToManagedString(ptr);
}
/// <summary>
/// Get the eldbus message sender.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the dbus message sender.</returns>
public string GetSender()
{
CheckHandle();
@ -332,6 +405,11 @@ public class Message : IDisposable
return Eina.StringConversion.NativeUtf8ToManagedString(ptr);
}
/// <summary>
/// Get the eldbus message signature.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the dbus message signature.</returns>
public string GetSignature()
{
CheckHandle();
@ -339,6 +417,13 @@ public class Message : IDisposable
return Eina.StringConversion.NativeUtf8ToManagedString(ptr);
}
/// <summary>
/// Create a new message that is an error reply to another message.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="error_name">The error name.</param>
/// <param name="error_msg">The error message string.</param>
/// <returns>A new <see cref="eldbus.Message" />.</returns>
public eldbus.Message NewError(string error_name, string error_msg)
{
CheckHandle();
@ -351,6 +436,11 @@ public class Message : IDisposable
return new eldbus.Message(ptr, false);
}
/// <summary>
/// Create a message that is a reply to a method call.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A new <see cref="eldbus.Message" />.</returns>
public eldbus.Message NewMethodReturn()
{
CheckHandle();
@ -363,6 +453,13 @@ public class Message : IDisposable
return new eldbus.Message(ptr, false);
}
/// <summary>
/// Get the error text and name from a <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="name">Store the error name.</param>
/// <param name="text">Store the error text..</param>
/// <returns>true on success, false otherwise.</returns>
public bool GetError(out string name, out string text)
{
CheckHandle();
@ -374,12 +471,24 @@ public class Message : IDisposable
return r;
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A byte that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out byte val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.ByteType.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A bool that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out bool val)
{
CheckHandle();
@ -389,48 +498,96 @@ public class Message : IDisposable
return r;
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A int16 that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out Int16 val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.Int16Type.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A unsigned int16 that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out UInt16 val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.UInt16Type.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A int32 that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out Int32 val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.Int32Type.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A unsigned int32 that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out UInt32 val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.UInt32Type.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A int64 that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out Int64 val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.Int64Type.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A unsigned int64 that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out UInt64 val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.UInt64Type.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A double that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out double val)
{
CheckHandle();
return eldbus_message_arguments_get(Handle, Argument.DoubleType.Signature, out val);
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A string that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out string val)
{
CheckHandle();
@ -440,6 +597,12 @@ public class Message : IDisposable
return r;
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A <see cref="eldbus.ObjectPath" /> that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out eldbus.ObjectPath val)
{
CheckHandle();
@ -449,6 +612,12 @@ public class Message : IDisposable
return r;
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A <see cref="eldbus.SignatureString" /> that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out eldbus.SignatureString val)
{
CheckHandle();
@ -458,6 +627,12 @@ public class Message : IDisposable
return r;
}
/// <summary>
/// Get the arguments from an <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A <see cref="eldbus.UnixFd" /> that store the message arguments.</param>
/// <returns>true if the arguments were read successfully.</returns>
public bool Get(out eldbus.UnixFd val)
{
CheckHandle();
@ -467,6 +642,11 @@ public class Message : IDisposable
return r;
}
/// <summary>
/// Appends the arguments.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="args">The arguments to be appended.</param>
public void Append(params BasicMessageArgument[] args)
{
CheckHandle();
@ -476,12 +656,23 @@ public class Message : IDisposable
}
}
/// <summary>
/// Create and append a typed iterator to another iterator.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="signature">The signature to be appended.</param>
/// <returns>A <see cref="eldbus.MessageIterator" />.</returns>
public eldbus.MessageIterator AppendOpenContainer(string signature)
{
var iter = GetMessageIterator();
return iter.AppendOpenContainer(signature);
}
/// <summary>
/// Get the main <see cref="eldbus.MessageIterator" /> from the <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A <see cref="eldbus.MessageIterator" /></returns>
public eldbus.MessageIterator GetMessageIterator()
{
CheckHandle();
@ -495,9 +686,19 @@ public class Message : IDisposable
}
}
/// <summary>
/// Iterator to a <see cref="eldbus.Message" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
public class MessageIterator
{
[EditorBrowsable(EditorBrowsableState.Never)]
public IntPtr Handle {get;set;} = IntPtr.Zero;
/// <summary>
/// The parent of the iterator.
/// <para>Since EFL 1.23.</para>
/// </summary>
public IntPtr Parent {get;set;} = IntPtr.Zero;
private void InitNew(IntPtr handle, IntPtr parent)
@ -515,11 +716,17 @@ public class MessageIterator
}
}
[EditorBrowsable(EditorBrowsableState.Never)]
public MessageIterator(IntPtr handle, IntPtr parent)
{
InitNew(handle, parent);
}
/// <summary>
/// Releases the native handler.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>The native handler.</returns>
public IntPtr Release()
{
IntPtr h = Handle;
@ -528,6 +735,11 @@ public class MessageIterator
return h;
}
/// <summary>
/// Appends the arguments.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="args">The arguments to be appended.</param>
public void Append(params BasicMessageArgument[] args)
{
CheckHandle();
@ -538,6 +750,12 @@ public class MessageIterator
}
}
/// <summary>
/// Create and append a typed iterator to another iterator.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="signature">The signature to be appended.</param>
/// <returns>A <see cref="eldbus.MessageIterator" />.</returns>
public eldbus.MessageIterator AppendOpenContainer(string signature)
{
CheckHandle();
@ -561,6 +779,13 @@ public class MessageIterator
return new eldbus.MessageIterator(new_iter, Handle);
}
/// <summary>
/// Appends a signature to a container.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="type">The type of the iterator.</param>
/// <param name="contained_signature">The signature to be appended.</param>
/// <returns>A <see cref="eldbus.MessageIterator" />.</returns>
public eldbus.MessageIterator AppendOpenContainer(char type, string contained_signature)
{
CheckHandle();
@ -575,6 +800,10 @@ public class MessageIterator
return new eldbus.MessageIterator(new_iter, Handle);
}
/// <summary>
/// Closes a container-typed value appended to the message.
/// <para>Since EFL 1.23.</para>
/// </summary>
public void CloseContainer()
{
CheckHandle();
@ -593,17 +822,38 @@ public class MessageIterator
Parent = IntPtr.Zero;
}
/// <summary>
/// Returns the current signature of a message iterator.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>A string containing the message iterator signature.</returns>
public string GetSignature()
{
return eldbus_message_iter_signature_get(Handle);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A byte that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out byte val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.ByteType.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A bool that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out bool val)
{
CheckHandle();
@ -613,48 +863,112 @@ public class MessageIterator
return r;
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A int16 that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out Int16 val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.Int16Type.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A unsigned int16 that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out UInt16 val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.UInt16Type.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A int32 that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out Int32 val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.Int32Type.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A unsigned int32 that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out UInt32 val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.UInt32Type.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A int64 that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out Int64 val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.Int64Type.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A unsigned int64 that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out UInt64 val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.UInt64Type.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A double that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out double val)
{
CheckHandle();
return eldbus_message_iter_get_and_next(Handle, Argument.DoubleType.Code, out val);
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A string that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out string val)
{
CheckHandle();
@ -664,6 +978,14 @@ public class MessageIterator
return r;
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A <see cref="eldbus.ObjectPath" /> that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out eldbus.ObjectPath val)
{
CheckHandle();
@ -673,6 +995,14 @@ public class MessageIterator
return r;
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A <see cref="eldbus.SignatureString" /> that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out eldbus.SignatureString val)
{
CheckHandle();
@ -682,6 +1012,14 @@ public class MessageIterator
return r;
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">A <see cref="eldbus.UnixFd" /> that store the data.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out eldbus.UnixFd val)
{
CheckHandle();
@ -691,6 +1029,17 @@ public class MessageIterator
return r;
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="iter">A <see cref="eldbus.MessageIterator" /> that store
/// the data.</param>
/// <param name="typecode">The type of the
/// <see cref="eldbus.MessageIterator" />.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out eldbus.MessageIterator iter, char typecode)
{
CheckHandle();
@ -706,6 +1055,17 @@ public class MessageIterator
return r;
}
/// <summary>
/// Get a complete type from <see cref="eldbus.MessageIterator" /> if is
/// not at the end of iterator and move to next field.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="iter">A <see cref="eldbus.MessageIterator" /> that store
/// the data.</param>
/// <param name="signatue">The signatue of the
/// <see cref="eldbus.MessageIterator" />.</param>
/// <returns>if iterator was reach to end or if the type different of the
/// type that iterator pointes return false.</returns>
public bool GetAndNext(out eldbus.MessageIterator iter, string signatue)
{
CheckHandle();
@ -720,12 +1080,22 @@ public class MessageIterator
return Next();
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out byte val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out bool val)
{
CheckHandle();
@ -734,48 +1104,88 @@ public class MessageIterator
val = (aux != 0);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out Int16 val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out UInt16 val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out Int32 val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out UInt32 val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out Int64 val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out UInt64 val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out double val)
{
CheckHandle();
eldbus_message_iter_basic_get(Handle, out val);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out string val)
{
CheckHandle();
@ -784,6 +1194,11 @@ public class MessageIterator
val = Eina.StringConversion.NativeUtf8ToManagedString(aux);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out eldbus.ObjectPath val)
{
CheckHandle();
@ -792,6 +1207,11 @@ public class MessageIterator
val = Eina.StringConversion.NativeUtf8ToManagedString(aux);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out eldbus.SignatureString val)
{
CheckHandle();
@ -800,6 +1220,11 @@ public class MessageIterator
val = Eina.StringConversion.NativeUtf8ToManagedString(aux);
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="val">The basic type of the iterator.</param>
public void Get(out eldbus.UnixFd val)
{
CheckHandle();
@ -808,6 +1233,12 @@ public class MessageIterator
val = aux;
}
/// <summary>
/// Get a basic type from <see cref="eldbus.MessageIterator" />.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="iter">The basic type of the iterator.</param>
/// <param name="signatue">The signatue of the <see cref="eldbus.MessageIterator" />.</param>
public void Get(out eldbus.MessageIterator iter, string signatue)
{
CheckHandle();
@ -820,12 +1251,21 @@ public class MessageIterator
iter = new eldbus.MessageIterator(hdl, Handle);
}
/// <summary>
/// Moves the iterator to the next field, if any.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <returns>If iterator was reach to end return false.</returns>
public bool Next()
{
CheckHandle();
return eldbus_message_iter_next(Handle);
}
/// <summary>
/// Manually delete the iterator.
/// <para>Since EFL 1.23.</para>
/// </summary>
public void Del()
{
CheckHandle();
@ -846,6 +1286,11 @@ public class MessageIterator
}
}
/// <summary>
/// Copy the iterator to a given array.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="array">The array to receive the copy.</param>
public void GetFixedArray(out byte[] array)
{
IntPtr value;
@ -855,6 +1300,11 @@ public class MessageIterator
Marshal.Copy(value, array, 0, n_elements);
}
/// <summary>
/// Copy the iterator to a given array.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="array">The array to receive the copy.</param>
public void GetFixedArray(out bool[] array)
{
IntPtr value;
@ -867,6 +1317,11 @@ public class MessageIterator
array = Array.ConvertAll(aux, Convert.ToBoolean);
}
/// <summary>
/// Copy the iterator to a given array.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="array">The array to receive the copy.</param>
public void GetFixedArray(out Int16[] array)
{
IntPtr value;
@ -885,6 +1340,11 @@ public class MessageIterator
// Marshal.Copy(value, array, 0, n_elements);
// }
/// <summary>
/// Copy the iterator to a given array.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="array">The array to receive the copy.</param>
public void GetFixedArray(out Int32[] array)
{
IntPtr value;
@ -903,6 +1363,11 @@ public class MessageIterator
// Marshal.Copy(value, array, 0, n_elements);
// }
/// <summary>
/// Copy the iterator to a given array.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="array">The array to receive the copy.</param>
public void GetFixedArray(out Int64[] array)
{
IntPtr value;
@ -921,6 +1386,11 @@ public class MessageIterator
// Marshal.Copy(value, array, 0, n_elements);
// }
/// <summary>
/// Copy the iterator to a given array.
/// <para>Since EFL 1.23.</para>
/// </summary>
/// <param name="array">The array to receive the copy.</param>
public void GetFixedArray(out eldbus.UnixFd[] array)
{
IntPtr value;