static void Close_cb(IntPtr inst)
 {
     try {
         AudioCdSrc __obj = GLib.Object.GetObject(inst, false) as AudioCdSrc;
         __obj.OnClose();
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
 static IntPtr ReadSector_cb(IntPtr inst, int sector)
 {
     try {
         AudioCdSrc __obj = GLib.Object.GetObject(inst, false) as AudioCdSrc;
         Gst.Buffer __result;
         __result = __obj.OnReadSector(sector);
         return(__result == null ? IntPtr.Zero : __result.OwnedCopy);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: above call does not return.
         throw e;
     }
 }
 static bool Open_cb(IntPtr inst, IntPtr device)
 {
     try {
         AudioCdSrc __obj = GLib.Object.GetObject(inst, false) as AudioCdSrc;
         bool       __result;
         __result = __obj.OnOpen(GLib.Marshaller.Utf8PtrToString(device));
         return(__result);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: above call does not return.
         throw e;
     }
 }