gstreamer/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableAdapter.cs

191 lines
5.3 KiB
C#

// 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
}
}