public URIHandlerAdapter(IURIHandlerImplementor implementor)
 {
     if (implementor == null)
     {
         throw new ArgumentNullException("implementor");
     }
     else if (!(implementor is GLib.Object))
     {
         throw new ArgumentException("implementor must be a subclass of GLib.Object");
     }
     this.implementor = implementor as GLib.Object;
 }
 static IntPtr GetUri_cb(IntPtr inst)
 {
     try {
         IURIHandlerImplementor __obj = GLib.Object.GetObject(inst, false) as IURIHandlerImplementor;
         string __result;
         __result = __obj.Uri;
         return(GLib.Marshaller.StringToPtrGStrdup(__result));
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: above call does not return.
         throw e;
     }
 }
        static bool SetUri_cb(IntPtr inst, IntPtr uri, out IntPtr error)
        {
            error = IntPtr.Zero;

            try {
                IURIHandlerImplementor __obj = GLib.Object.GetObject(inst, false) as IURIHandlerImplementor;
                bool __result;
                __result = __obj.SetUri(GLib.Marshaller.Utf8PtrToString(uri));
                return(__result);
            } catch (Exception e) {
                GLib.ExceptionManager.RaiseUnhandledException(e, true);
                // NOTREACHED: above call does not return.
                throw e;
            }
        }