
namespace Test {

public interface TheInterface : GLib.Object {
	public abstract bool prop { get; }
	public signal void a_signal();
	public abstract string method (string val);
}

public class Implementation : GLib.Object, TheInterface {
	public bool prop { get { return true; } }
	public string method(string val) {
		a_signal();
		return val;
	}
}

}

void main () {
	var impl = new Test.Implementation();
	stdout.printf("%s\n", impl.method("blah"));
}

