Changeset 3394

Show
Ignore:
Timestamp:
02/10/08 17:53:07
Author:
pvanhoof
Message:

Improvements for error reporting in .NET

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/bindings/dotnet/tny/Error.cs

    r3393 r3394  
    33 
    44        using System; 
     5        using System.Runtime.InteropServices; 
    56 
    6         public class TError { 
     7        public class Error { 
    78                IntPtr handle; 
    89 
     
    1617                } 
    1718 
     19                [DllImport("libtinymail-1.0.dll")] 
     20                static extern IntPtr tny_error_get_message (IntPtr Handle); 
    1821 
     22                public string Message { 
     23                        get { 
     24                                if (Handle != IntPtr.Zero)  
     25                                        return GLib.Marshaller.Utf8PtrToString (tny_error_get_message (Handle)); 
     26                                else return ""; 
     27                        }  
     28                } 
    1929                 
    20                 public TError (IntPtr Handle) { 
     30                public Error (IntPtr Handle) { 
    2131                        handle = Handle; 
    2232                } 
    2333 
    24                 public static TError New (IntPtr Handle) { 
    25                         return new TError (Handle); 
     34                public static Error New (IntPtr Handle) { 
     35                        return new Error (Handle); 
    2636                } 
    2737        } 
  • trunk/bindings/dotnet/tny/Makefile.am

    r3392 r3394  
    99glue_includes = 
    1010 
    11 sources = TException.cs TError.cs 
     11sources = Error.cs 
    1212 
    1313customs = 
  • trunk/bindings/dotnet/tny/libtinymail.metadata

    r3392 r3394  
    2525 <attr path="/api/namespace/callback[@cname='TnyTransferMsgsCallback']/parameters/parameter[@name='err']" name="type">TError</attr> 
    2626 
    27  <add-node path="/api"><symbol type="manual" cname="TError" name="Tny.TError"/></add-node> 
     27 <attr path="/api/namespace/enum[@cname='TnyError']" name="name">ErrorEnum</attr> 
     28 
     29 <add-node path="/api"><symbol type="manual" cname="TError" name="Tny.Error"/></add-node> 
    2830 
    2931</metadata> 
  • trunk/libtinymail/tny-error.c

    r3383 r3394  
    3333{ 
    3434        return err->message; 
     35} 
     36 
     37/** 
     38 * tny_error_get_code: 
     39 * @err: a #GError 
     40 * 
     41 * Get the error's code 
     42 * 
     43 * returns: a error code 
     44 **/ 
     45gint 
     46tny_error_get_code (GError *err) 
     47{ 
     48        return err->code; 
    3549} 
    3650 
  • trunk/libtinymail/tny-error.h

    r3392 r3394  
    141141 
    142142const gchar* tny_error_get_message (GError *err); 
     143gint tny_error_get_code (GError *err); 
    143144 
    144145GType tny_error_domain_get_type (void); 
  • trunk/tests/dotnet-demo/MainWindow.cs

    r3392 r3394  
    5555        } 
    5656 
    57         private void GetHeadersCallback (Tny.Folder folder, bool cancel, Tny.List model, Tny.TError err) 
     57        private void GetHeadersCallback (Tny.Folder folder, bool cancel, Tny.List model, Tny.Error err) 
    5858        { 
     59                Console.WriteLine (err.Message); 
     60 
    5961                if (model != null && !cancel) 
    6062                        this.headers_treeview.Model = (Gtk.TreeModel) model; 
     
    6668        } 
    6769 
    68         private void GetMsgCallBack (Tny.Folder folder, bool cancel, Tny.Msg msg, Tny.TError err) 
     70        private void GetMsgCallBack (Tny.Folder folder, bool cancel, Tny.Msg msg, Tny.Error err) 
    6971        { 
     72                Console.WriteLine (err.Message); 
     73 
    7074                if (msg != null && !cancel) 
    7175                        this.msg_view.Msg = msg;