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

namespace Gst.WebRTC {

	using System;

	public delegate void AddLocalIpAddressHandler(object o, AddLocalIpAddressArgs args);

	public class AddLocalIpAddressArgs : GLib.SignalArgs {
		public string Address{
			get {
				return (string) Args [0];
			}
		}

	}
}
