]> git.sesse.net Git - vlc/commitdiff
Separate MemoryHandle and StringHandle
authorRémi Denis-Courmont <rdenis@simphalempin.com>
Sun, 22 Feb 2009 08:06:15 +0000 (10:06 +0200)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Sun, 22 Feb 2009 08:06:15 +0000 (10:06 +0200)
bindings/cil/src/libvlc.cs
bindings/cil/src/media.cs
bindings/cil/src/ustring.cs

index 570d189f9fbfb39bd86fce5b3a718ddd7e010066..3fcfe59f068e6ffaecc7321d93877cb164c2dc55 100644 (file)
@@ -98,7 +98,7 @@ namespace VideoLAN.LibVLC
 
         [DllImport ("libvlc.dll", EntryPoint="libvlc_media_get_mrl")]
         public static extern
-        MemoryHandle MediaGetMRL (MediaHandle media, NativeException ex);
+        StringHandle MediaGetMRL (MediaHandle media, NativeException ex);
 
         [DllImport ("libvlc.dll", EntryPoint="libvlc_media_duplicate")]
         public static extern
index 39f029024585df82b5116b4da29663c65eef168e..a6ed833c7cd8ea5a7edc256e3d300bd9bb8ff64b 100644 (file)
@@ -102,7 +102,7 @@ namespace VideoLAN.LibVLC
         {
             get
             {
-                MemoryHandle str = LibVLC.MediaGetMRL (Handle, ex);
+                StringHandle str = LibVLC.MediaGetMRL (Handle, ex);
                 Raise ();
                 return str.Transform ();
             }
index f70eb2be3e5f77276a8dafaca1541dcc22fad0c6..e55c42568ca1276c237cc9f7870d03e7ffdf8fd3 100644 (file)
@@ -96,7 +96,7 @@ namespace VideoLAN.LibVLC
      * @brief MemoryHandle: heap allocation by the C run-time
      * @ingroup Internals
      */
-    internal sealed class MemoryHandle : NonNullHandle
+    internal class MemoryHandle : NonNullHandle
     {
         [DllImport ("libvlc.dll", EntryPoint="libvlc_free")]
         private static extern void Free (IntPtr ptr);
@@ -108,7 +108,19 @@ namespace VideoLAN.LibVLC
         {
             Free (handle);
         }
+    };
 
+    /**
+     * @brief StringHandle: heap-allocated characters array
+     * @ingroup Internals
+     */
+    internal sealed class StringHandle : MemoryHandle
+    {
+        /**
+         * Converts an heap-allocated nul-terminated UTF-8 characters array
+         * into a managed string.
+         * @return the resulting managed string.
+         */
         public override string ToString ()
         {
             return U8String.FromNative (handle);