lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3be9b6a12977b8cb550ab1f44b74d5e86b251014

commit 3be9b6a12977b8cb550ab1f44b74d5e86b251014
Author: Bruno da Silva Belo <brunodasilvab...@gmail.com>
Date:   Mon Oct 14 11:22:56 2019 -0300

    csharp: updating eina_hash docs and hide api.
    
    Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun
    
    Reviewed By: lauromoura
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T8293
    
    Differential Revision: https://phab.enlightenment.org/D10324
---
 src/bindings/mono/eina_mono/eina_hash.cs | 160 ++++++++++++++++++++++++++++++-
 1 file changed, 159 insertions(+), 1 deletion(-)

diff --git a/src/bindings/mono/eina_mono/eina_hash.cs 
b/src/bindings/mono/eina_mono/eina_hash.cs
index f4678a1f26..04acc4f3d0 100644
--- a/src/bindings/mono/eina_mono/eina_hash.cs
+++ b/src/bindings/mono/eina_mono/eina_hash.cs
@@ -3,6 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
+using System.ComponentModel;
 
 using static Eina.TraitFunctions;
 using static Eina.IteratorNativeFunctions;
@@ -13,6 +14,7 @@ namespace Eina
 {
 
 [StructLayout(LayoutKind.Sequential)]
+[EditorBrowsable(EditorBrowsableState.Never)]    
 public struct HashTupleNative
 {
     public IntPtr key;
@@ -20,6 +22,7 @@ public struct HashTupleNative
     public uint   key_length;
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public static class HashNativeFunctions
 {
     [DllImport(efl.Libs.Eina)] public static extern IntPtr
@@ -136,11 +139,24 @@ public static class HashNativeFunctions
 /// </summary>
 public class Hash<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>, 
IDisposable
 {
+    [EditorBrowsable(EditorBrowsableState.Never)]
     public IntPtr Handle {get; set;} = IntPtr.Zero;
+    /// <summary>Whether this wrapper owns the native hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public bool Own {get; set;}
+    /// <summary>Whether this wrapper owns the key.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public bool OwnKey {get; set;}
+    /// <summary>Whether this wrapper owns the value.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public bool OwnValue {get; set;}
 
+    /// <summary>Quantity of elements in the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public int Count
     {
         get
@@ -158,28 +174,42 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         SetOwnValue(true);
     }
 
+    /// <summary>Default constructor.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public Hash()
     {
         InitNew();
     }
 
+    [EditorBrowsable(EditorBrowsableState.Never)]
     public Hash(IntPtr handle, bool own)
     {
         Handle = handle;
         SetOwnership(own);
     }
 
+    [EditorBrowsable(EditorBrowsableState.Never)]
     public Hash(IntPtr handle, bool own, bool ownKey, bool ownValue)
     {
         Handle = handle;
         SetOwnership(own, ownKey, ownValue);
     }
 
+    /// <summary>Default destructor.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     ~Hash()
     {
         Dispose(false);
     }
 
+    /// <summary>Disposes of this wrapper, releasing the native accessor 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;
@@ -202,17 +232,27 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         }
     }
 
+    /// <summary>Release the native resources held by this instance.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public void Dispose()
     {
         Dispose(true);
         GC.SuppressFinalize(this);
     }
 
+    /// <summary>Release the native resources held by this instance.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public void Free()
     {
         Dispose();
     }
 
+    /// <summary>Release the pointer.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <returns>The instance.</returns>
     public IntPtr Release()
     {
         IntPtr h = Handle;
@@ -220,16 +260,28 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return h;
     }
 
+    /// <summary>Sets ownership.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="own">If the hash own the object.</param>
     public void SetOwn(bool own)
     {
         Own = own;
     }
 
+    /// <summary>Sets key's ownership.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="ownKey">If the hash own the key's object.</param>
     public void SetOwnKey(bool ownKey)
     {
         OwnKey = ownKey;
     }
 
+    /// <summary>Sets value's ownership.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="ownValue">If the hash own the value's object.</param>
     public void SetOwnValue(bool ownValue)
     {
         OwnValue = ownValue;
@@ -240,6 +292,10 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         }
     }
 
+    /// <summary>Sets all ownership.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="ownAll">If the hash own for all ownerships.</param>
     public void SetOwnership(bool ownAll)
     {
         SetOwn(ownAll);
@@ -247,6 +303,12 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         SetOwnValue(ownAll);
     }
 
+    /// <summary>Sets own individually.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="own">If the hash own the object.</param>
+    /// <param name="ownKey">If the hash own the key's object.</param>
+    /// <param name="ownValue">If the hash own the value's object.</param>
     public void SetOwnership(bool own, bool ownKey, bool ownValue)
     {
         SetOwn(own);
@@ -254,11 +316,22 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         SetOwnValue(ownValue);
     }
 
+    /// <summary>
+    ///   Cleanup for the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public void UnSetFreeCb()
     {
         eina_hash_free_cb_set(Handle, IntPtr.Zero);
     }
 
+    /// <summary>
+    ///   Adds an entry to the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">A unique key.</param>
+    /// <param name="val">The value to associate with the key.</param>
+    /// <returns> false if an error occurred, true otherwise.</returns>
     public bool AddNew(TKey key, TValue val)
     {
         IntPtr gchnk = CopyNativeObject(key, ForceRefKey<TKey>());
@@ -271,11 +344,22 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return r;
     }
 
+    /// <summary>
+    ///   Modifies the entry at the specified key.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key of the entry to modify.</param>
+    /// <param name="val">The value to replace the previous entry.</param>
     public void Add(TKey key, TValue val)
     {
         Set(key, val);
     }
 
+    /// <summary>
+    ///   Removes the entry identified by a key from the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key.</param>
     public bool DelByKey(TKey key)
     {
         IntPtr gchnk = CopyNativeObject(key, ForceRefKey<TKey>());
@@ -285,7 +369,11 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return r;
     }
 
-    /// <summary>Searches this hash for <c>val</c> and deletes it from the 
hash, also deleting it.</summary>
+    /// <summary>Searches this hash for <c>val</c> and deletes it from the 
hash,
+    /// also deleting it.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="val">The value to be deleted.</param>
     /// <returns><c>true</c> if the value was found and deleted, false if it 
was <c>null</c> or not found.</returns>
     public bool DelByValue(TValue val)
     {
@@ -309,11 +397,22 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
 
     }
 
+    /// <summary>
+    ///   Removes the entry identified by a key from the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key.</param>
     public void Remove(TKey key)
     {
         DelByKey(key);
     }
 
+    /// <summary>
+    ///   Retrieves a specific entry in the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key of the entry to find.</param>
+    /// <returns>The value of the entry.</returns>
     public TValue Find(TKey key)
     {
         var gchnk = CopyNativeObject<TKey>(key, ForceRefKey<TKey>());
@@ -329,6 +428,13 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return NativeToManaged<TValue>(IndirectNative<TValue>(found, false));
     }
 
+    /// <summary>
+    ///   Check if key is present. if not, a default value is setted.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key to be checked.</param>
+    /// <param name="val">[out] The value of the entry.</param>
+    /// <returns>true if key exists, false otherwise.</returns>
     public bool TryGetValue(TKey key, out TValue val)
     {
         var gchnk = CopyNativeObject<TKey>(key, ForceRefKey<TKey>());
@@ -345,6 +451,12 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return true;
     }
 
+    /// <summary>
+    ///   Check if key is present.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key to be checked.</param>
+    /// <returns>true if key exists, false otherwise.</returns>
     public bool ContainsKey(TKey key)
     {
         var gchnk = CopyNativeObject<TKey>(key, ForceRefKey<TKey>());
@@ -356,6 +468,13 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return found != IntPtr.Zero;
     }
 
+    /// <summary>
+    ///   Modifies the speficied key if exists.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key to modify.</param>
+    /// <param name="val"> The new value.</param>
+    /// <returns>False if key do not exists, true otherwise.</returns>
     public bool Modify(TKey key, TValue val)
     {
         var gchnk = CopyNativeObject<TKey>(key, ForceRefKey<TKey>());
@@ -449,6 +568,13 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         }
     }
 
+
+    /// <summary>
+    ///   Modifies the entry at the specified key. Adds if key is not found.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key">The key to modify.</param>
+    /// <param name="val">The value to replace the previous entry.</param>
     public void Set(TKey key, TValue val)
     {
         IntPtr gchnk = CopyNativeObject(key, ForceRefKey<TKey>());
@@ -465,6 +591,10 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         }
     }
 
+    /// <summary>
+    ///   Accessor by key to the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public TValue this[TKey key]
     {
         get
@@ -477,6 +607,13 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         }
     }
 
+    /// <summary>
+    ///   Changes the keys of an entry in the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <param name="key_old">The current key with data.</param>
+    /// <param name="key_new">The new key with data.</param>
+    /// <returns>false in any case but success, true on success.</returns>
     public bool Move(TKey key_old, TKey key_new)
     {
         IntPtr gchnko = CopyNativeObject(key_old, ForceRefKey<TKey>());
@@ -493,26 +630,47 @@ public class Hash<TKey, TValue> : 
IEnumerable<KeyValuePair<TKey, TValue>>, IDi
         return r;
     }
 
+    /// <summary>
+    ///   Frees the hash buckets.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public void FreeBuckets()
     {
         eina_hash_free_buckets(Handle);
     }
 
+    /// <summary>
+    ///   Returns the number of entries in the hash.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
+    /// <returns>The number of entries, 0 on error.</returns>
     public int Population()
     {
         return eina_hash_population(Handle);
     }
 
+    /// <summary>
+    ///   Gets an Iterator for keys.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public Eina.Iterator<TKey> Keys()
     {
         return new Eina.Iterator<TKey>(EinaHashIteratorKeyNew<TKey>(Handle), 
true);
     }
 
+    /// <summary>
+    ///   Gets An Iterator for values.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public Eina.Iterator<TValue> Values()
     {
         return new Eina.Iterator<TValue>(eina_hash_iterator_data_new(Handle), 
true);
     }
 
+    /// <summary>
+    ///   Gets an Iterator for hask.
+    /// <para>Since EFL 1.23.</para>
+    /// </summary>
     public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
     {
         IntPtr itr = eina_hash_iterator_tuple_new(Handle);

-- 


Reply via email to