// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Gst.RtspServer {

	using System;

	public delegate void HandleMessageHandler(object o, HandleMessageArgs args);

	public class HandleMessageArgs : GLib.SignalArgs {
		public Gst.Message Message{
			get {
				return (Gst.Message) Args [0];
			}
		}

	}
}
