Explicit native exception methods scope
[vlc.git] / bindings / cil / src / exception.cs
index 1f72909..cc1d774 100644 (file)
@@ -1,11 +1,11 @@
-/*
- * libvlc.cs - libvlc-control CIL bindings
- *
- * $Id$
+/**
+ * @file exception.cs
+ * @brief LibVLC exceptions
+ * @ingroup API
  */
 
 /**********************************************************************
  */
 
 /**********************************************************************
- *  Copyright (C) 2007 Rémi Denis-Courmont.                           *
+ *  Copyright (C) 2007-2009 Rémi Denis-Courmont.                      *
  *  This program is free software; you can redistribute and/or modify *
  *  it under the terms of the GNU General Public License as published *
  *  by the Free Software Foundation; version 2 of the license, or (at *
  *  This program is free software; you can redistribute and/or modify *
  *  it under the terms of the GNU General Public License as published *
  *  by the Free Software Foundation; version 2 of the license, or (at *
@@ -27,25 +27,42 @@ using System.Runtime.InteropServices;
 namespace VideoLAN.LibVLC
 {
     /**
 namespace VideoLAN.LibVLC
 {
     /**
-     * VLCException: managed base class for LibVLC exceptions
+     * @brief VLCException: base class for LibVLC exceptions
+     * @ingroup API
      */
     public class VLCException : Exception
     {
      */
     public class VLCException : Exception
     {
+        /**
+         * Creates a managed VLC exception.
+         */
         public VLCException ()
         {
         }
 
         public VLCException ()
         {
         }
 
+        /**
+         * Creates a managed VLC exception.
+         * @param message exception error message
+         */
         public VLCException (string message)
             : base (message)
         {
         }
 
         public VLCException (string message)
             : base (message)
         {
         }
 
+        /**
+         * Creates a managed VLC exception wrapping another exception.
+         * @param message exception error message
+         * @param inner inner wrapped exception
+         */
         public VLCException (string message, Exception inner)
            : base (message, inner)
         {
         }
     };
 
         public VLCException (string message, Exception inner)
            : base (message, inner)
         {
         }
     };
 
+    /**
+     * @section Internals
+     */
+
     /**
      * libvlc_exception_t: structure for unmanaged LibVLC exceptions
      */
     /**
      * libvlc_exception_t: structure for unmanaged LibVLC exceptions
      */
@@ -56,22 +73,26 @@ namespace VideoLAN.LibVLC
         int code;
         IntPtr message;
 
         int code;
         IntPtr message;
 
-        [DllImport ("libvlc-control.dll", EntryPoint="libvlc_exception_init")]
-        static extern void Init (NativeException e);
-        [DllImport ("libvlc-control.dll", EntryPoint="libvlc_exception_clear")]
-        static extern void Clear (NativeException e);
-        /*[DllImport ("libvlc-control.dll",
+        [DllImport ("libvlc.dll", EntryPoint="libvlc_exception_init")]
+        private static extern void Init (NativeException e);
+        [DllImport ("libvlc.dll", EntryPoint="libvlc_exception_clear")]
+        private static extern void Clear (NativeException e);
+        /*[DllImport ("libvlc.dll",
                     EntryPoint="libvlc_exception_raised")]
                     EntryPoint="libvlc_exception_raised")]
-        static extern int Raised (NativeException e);*/
-        [DllImport ("libvlc-control.dll",
+        private static extern int Raised (NativeException e);*/
+        [DllImport ("libvlc.dll",
                     EntryPoint="libvlc_exception_get_message")]
                     EntryPoint="libvlc_exception_get_message")]
-        static extern IntPtr GetMessage (NativeException e);
+        private static extern IntPtr GetMessage (NativeException e);
 
         public NativeException ()
         {
             Init (this);
         }
 
 
         public NativeException ()
         {
             Init (this);
         }
 
+        /**
+         * Throws a managed exception if LibVLC has returned a native
+         * unmanaged exception. Clears the native exception.
+         */
         public void Raise ()
         {
             try
         public void Raise ()
         {
             try
@@ -86,6 +107,7 @@ namespace VideoLAN.LibVLC
             }
         }
 
             }
         }
 
+        /** IDisposable implementation. */
         public void Dispose ()
         {
             Clear (this);
         public void Dispose ()
         {
             Clear (this);