// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace GES { using System; using System.Runtime.InteropServices; #region Autogenerated code public partial class ExtractableAdapter : GLib.GInterfaceAdapter, GES.IExtractable { [StructLayout (LayoutKind.Sequential)] struct GESExtractableInterface { public GLib.GType AssetType; private GESSharp.ExtractableCheckIdNative _check_id; public GES.ExtractableCheckId CheckId { get { return GESSharp.ExtractableCheckIdWrapper.GetManagedDelegate (_check_id); } } public bool CanUpdateAsset; public SetAssetNativeDelegate SetAsset; IntPtr SetAssetFull; IntPtr GetParametersFromId; public GetIdNativeDelegate GetId; IntPtr GetRealExtractableType; IntPtr RegisterMetas; [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)] public IntPtr[] _gesGesReserved; } static GESExtractableInterface iface; static ExtractableAdapter () { GLib.GType.Register (_gtype, typeof (ExtractableAdapter)); iface.SetAsset = new SetAssetNativeDelegate (SetAsset_cb); iface.GetId = new GetIdNativeDelegate (GetId_cb); } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate void SetAssetNativeDelegate (IntPtr inst, IntPtr asset); static void SetAsset_cb (IntPtr inst, IntPtr asset) { try { IExtractableImplementor __obj = GLib.Object.GetObject (inst, false) as IExtractableImplementor; __obj.Asset = GLib.Object.GetObject(asset) as GES.Asset; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, false); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate IntPtr GetIdNativeDelegate (IntPtr inst); static IntPtr GetId_cb (IntPtr inst) { try { IExtractableImplementor __obj = GLib.Object.GetObject (inst, false) as IExtractableImplementor; string __result; __result = __obj.Id; return GLib.Marshaller.StringToPtrGStrdup(__result); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } static int class_offset = 2 * IntPtr.Size; static void Initialize (IntPtr ptr, IntPtr data) { IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset); GESExtractableInterface native_iface = (GESExtractableInterface) Marshal.PtrToStructure (ifaceptr, typeof (GESExtractableInterface)); native_iface.SetAsset = iface.SetAsset; native_iface.GetId = iface.GetId; Marshal.StructureToPtr (native_iface, ifaceptr, false); } GLib.Object implementor; public ExtractableAdapter () { InitHandler = new GLib.GInterfaceInitHandler (Initialize); } public ExtractableAdapter (IExtractableImplementor 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; } public ExtractableAdapter (IntPtr handle) { if (!_gtype.IsInstance (handle)) throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle"); implementor = GLib.Object.GetObject (handle); } [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr ges_extractable_get_type(); private static GLib.GType _gtype = new GLib.GType (ges_extractable_get_type ()); public static GLib.GType GType { get { return _gtype; } } public override GLib.GType GInterfaceGType { get { return _gtype; } } public override IntPtr Handle { get { return implementor.Handle; } } public IntPtr OwnedHandle { get { return implementor.OwnedHandle; } } public static IExtractable GetObject (IntPtr handle, bool owned) { GLib.Object obj = GLib.Object.GetObject (handle, owned); return GetObject (obj); } public static IExtractable GetObject (GLib.Object obj) { if (obj == null) return null; else if (obj is IExtractableImplementor) return new ExtractableAdapter (obj as IExtractableImplementor); else if (obj as IExtractable == null) return new ExtractableAdapter (obj.Handle); else return obj as IExtractable; } public IExtractableImplementor Implementor { get { return implementor as IExtractableImplementor; } } [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr ges_extractable_get_asset(IntPtr raw); public GES.Asset Asset { get { IntPtr raw_ret = ges_extractable_get_asset(Handle); GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset; return ret; } } [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr ges_extractable_get_id(IntPtr raw); public string Id { get { IntPtr raw_ret = ges_extractable_get_id(Handle); string ret = GLib.Marshaller.PtrToStringGFree(raw_ret); return ret; } } [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)] static extern bool ges_extractable_set_asset(IntPtr raw, IntPtr asset); public bool SetAsset(GES.Asset asset) { bool raw_ret = ges_extractable_set_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle); bool ret = raw_ret; return ret; } #endregion } }