Aaron Bockover 73ed037fa4 2006-07-13 Aaron Bockover <aaron@abock.org>
* gstreamer-sharp/BindingHelper.cs: Static helper class to assist
    in making element bindings (delegate manipulation/invocation)

    * gstreamer-sharp/DynamicSignal.cs: Updated DynamicSignalArgs so they
    can more easily be derived

    * gstreamer-sharp/Makefile.am: Updated build

    * sample/HelloWorld.cs: More cleaning

    * sample/Makefile.am:
    * sample/TypeFind.cs: Added typefind sample

    * gstreamer-sharp.mdp: Updated MonoDevelop project

    * gstreamer-sharp/plugins-base/DecodeBin.cs: Signal support rewritten
    to use BindingHelper/DynamicSignal

    * gstreamer-sharp/plugins-base/TypeFindElement.cs: New typefind
    element wrapper using BindingHelper/DynamicSignal

    * gstreamer-sharp/Element.custom: Fixed property getter/setter methods
    and added indexer wrapper for property lookup for syntax convenience



git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@62570 e3ebcda4-bce8-0310-ba0a-eca2169e7518
2006-07-13 16:16:51 +00:00

59 lines
1.5 KiB
C#

//
// DecodeBin.cs: decodebin element binding
//
// Authors:
// Aaron Bockover (abockover@novell.com)
//
// (C) 2006 Novell, Inc.
//
using System;
using Gst;
namespace Gst
{
public delegate void NewDecodedPadHandler(object o, NewDecodedPadArgs args);
public class NewDecodedPadArgs : GLib.DynamicSignalArgs
{
public NewDecodedPadArgs(GLib.DynamicSignalArgs args) : base(args)
{
}
public Gst.Pad Pad {
get { return (Gst.Pad)Args[0]; }
}
public bool Last {
get { return (bool)Args[1]; }
}
}
public class DecodeBin : Bin
{
private Delegate new_decoded_pad_delegate;
public DecodeBin(IntPtr raw) : base(raw)
{
}
protected virtual void OnNewDecodedPad(object o, GLib.DynamicSignalArgs args)
{
BindingHelper.InvokeProxySignalDelegate(new_decoded_pad_delegate,
typeof(NewDecodedPadArgs), o, args);
}
public event NewDecodedPadHandler NewDecodedPad {
add {
new_decoded_pad_delegate = BindingHelper.AddProxySignalDelegate(this,
"new-decoded-pad", OnNewDecodedPad, new_decoded_pad_delegate, value);
}
remove {
new_decoded_pad_delegate = BindingHelper.RemoveProxySignalDelegate(this,
"new-decoded-pad", OnNewDecodedPad, new_decoded_pad_delegate, value);
}
}
}
}