From f40a34bdc1995e656b09cc1252a8dcce685e373f Mon Sep 17 00:00:00 2001 From: fiaxh Date: Sat, 11 Mar 2017 23:04:58 +0100 Subject: Use delegates + object storage instead of listener objects --- xmpp-vala/src/module/util.vala | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'xmpp-vala/src/module/util.vala') diff --git a/xmpp-vala/src/module/util.vala b/xmpp-vala/src/module/util.vala index 7051307a..7e1bb2b3 100644 --- a/xmpp-vala/src/module/util.vala +++ b/xmpp-vala/src/module/util.vala @@ -18,4 +18,44 @@ namespace Xmpp { UUID.unparse_upper(rand, str); return (string) str; } + + public class Tuple : Object { + public A a { get; private set; } + public B b { get; private set; } + + public Tuple(A a, B b) { + this.a = a; + this.b = b; + } + + public static Tuple create(A a, B b) { + return new Tuple(a,b); + } + } + + public class Triple : Tuple { + public C c { get; private set; } + + public Triple(A a, B b, C c) { + base(a, b); + this.c = c; + } + + public static new Triple create(A a, B b, C c) { + return new Triple(a, b, c); + } + } + + public class Quadruple : Triple { + public D d { get; private set; } + + public Quadruple(A a, B b, C c, D d) { + base (a, b, c); + this.d = d; + } + + public static new Quadruple create(A a, B b, C c, D d) { + return new Quadruple(a, b, c, d); + } + } } \ No newline at end of file -- cgit v1.2.3-70-g09d2