From 29afd37f38163299b234c6e6c37bc30e683d8490 Mon Sep 17 00:00:00 2001 From: "Tristan B. Kildaire" Date: Sat, 28 Aug 2021 11:41:21 +0200 Subject: [PATCH] Added a few methods for Signal and Engine --- libeventdisp.a | Bin 79714 -> 79842 bytes source/eventy/engine.d | 13 +++++++++++++ source/eventy/signal.d | 30 ++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/libeventdisp.a b/libeventdisp.a index 2f02acbff92cf7fed5dbf89c2d78da0166f7c561..aa57c85b787dcbbbb6e6d6503923a8c65d535e86 100644 GIT binary patch delta 2191 zcmZvcdu&rx9LLY^^s&3PY-yhz@^-Lm&Z!M2vv1OPm3tI5a{2SWp8l)8Je};RH6tbNgV0c$4$E-`}&n z`F+OjXvcon_Gjyz9=FF^a&TTn*-`@`)q{_(=4L{A^JkWFlaR^H1d@&sm=j7|c){TN z=tm!=9tUP>#$tIfe9FR(Cqc8aOIw^47sXz)W{J;-b(2nLRW#;KT26^ZFd7L-o(&63 zgcx+BGJ_DKj?0x99uwugnTh~1G{URpLaEWOtIUv1jixk6hjKk3v+#^$rOg_AyVr?# zwAHw5&c}O%hR%kT_O7DHQM62bAw=&2UIh%x`9bt6`L2z*wQXr^soPrgeB>Z@U3*t+ zLuEx9dB`2EzM8APw^auHtR2$f_qpqv=X(H;jHncRhH<8x} zLD`xNhp^J>OFbG78RQpJ2i9dvc-rdLJOF~*vn*-G_NFaugun632b;*Odl3&`)~cMx zEMa2(6F-&sa~(Bt@ld_0yeB?m20-!OiWo`*+@C2CK?^TlPSdWU|AD?4B+=_AO(Zsn{ z2CEOmp)xc4*P9;=zasXInPUl*@F_bewzo=CXM}n&G5gQT!gzK?{Q8kC8hGNyOyKCP z4Pt6Z(e}kQr`PR>LQSo&)K0Dduq$W&{s1_dl#Tbl*QlrSpVfwhLIa#p$K#cd^NDgi zg(qEbfW0vX{9-`;ynz()75eNfeek6ubnbTILW>MFY=sp9sk1>tX*OtpX2N?^kJHcD zuu3wrOIFA(h@nl0qAfX!HUoty@e&xvbXkxG<5;)K#hyulWEReXvzs5omv)plB0%zA zYD3xwd^7w%zVvZ?o#Q?nU-~${D4#49U)m&oF-@>gHiUI%B1cgah@ynQsVJ&3CPr~# zy)iK@7s7-Ts;+zya+gO{s0nkJCkL`2fOB;gbrvI-DRl(K3s(XV1X8T)3{E z8;DdTB*f3TBroTS`K!cXlmzZNp#oonr-d2=E32LIw^M z^g@75*`d+-zWTfQqaKOy`{W5dUitF@EP!7%u$J{K0-1V}*=LKO42B1$7Qu1~Ya@Ia zaZ6CbdK@4pe-+Df7hlYpjbge%B@NYzY}x^3^ivHVWHXAjd`vwOrZ;C|SydsuJtK40 zz*#os1Q{geckzriZKPpRfjx`!*hv>i_-11!8*)J*Elg$8F5b>Y=6Cb%TD2-C*hx1? zaDrXr65M4|s-;F3vDACGUx}Jes?tVwQI)PmrFlLswKKmD7W@Z+SR0)H delta 1990 zcmZuxX>3$g6u#%q(%08%JKbhpJ2UOH)h;a4ndx+`Xa zs)Yh_744S%WzycRZF|U79wv0Si^!e(J9q8val{tKDskW?gOp$JmdG|^hh@EOK~kI4 zNj7joEI&1(iLrjLtSwr=>LO&P;P636i-wSE7_r)DYpiI>?tOc@NTR_R>+=|qw78@t z6Z32@t8ds&Wi(mhiA3BpH&!D)l`g`w6S1WUoPTMOK94_6(P=QXU!0d_;^Ac4CyUb7 zCQ_I43yVjzS7N*PRI>I#({V;bvDz{#c3!-_?kq zIx=nt^=Ee&;1s$x6=9P{k?$t1)1u)}A!giE53Ft3h1&yR&cz+o-)hZb5k=P0k*zsts0z)`f8=_7r z7M1H1sKwH{5bZXf>@UNk{Co<>>O#=Qic`Ui8Ac<@euaOPQa>k2c({kN{0coR;g#Mp zyv}3i@wPvN9sUYz3Mk^jfe<|(XI|$(1>Oz>lDgw!R0H*I&ex&(Yx7{z1m?u5+wn-O zYPdgYN)%9s#wtLKyzbAO13HZJt7l$VnyjvdzjzdjCr*7kmuUR)Sz~6Mi-x`Yh0Bs1+;Mm$JJBP+kdfZ;=)lPttMZJSaDCUF*o292T%Z5lrLo zdN(_6fs1Ub4bmHkU7xg=asDF-i_uQ=P3r%dgf^XvLx!{xp%HC4pAEO!X)Cm8vWXjrH;~t~ip5_Le-ey>Z~cbmPFj zJBoYlbz2^tafmJqozltP?`1pC;^5zkp&@&t5dw8EsdU?1z Y9xm~5$iMb%7 diff --git a/source/eventy/engine.d b/source/eventy/engine.d index c96cc39..b4ca8a3 100644 --- a/source/eventy/engine.d +++ b/source/eventy/engine.d @@ -28,6 +28,19 @@ public final class Engine } + /** + * Event loop + */ + public void run() + { + while(true) + { + /* TODO: Implement me */ + + /* TODO: Add yield to stop mutex starvation on a single thread */ + } + } + /** * push(Event e) * diff --git a/source/eventy/signal.d b/source/eventy/signal.d index 7bdd74c..44b3ca1 100644 --- a/source/eventy/signal.d +++ b/source/eventy/signal.d @@ -13,10 +13,40 @@ alias EventHandler = void function(Event); public class Signal { + /* TypeIDs this signal handler associates with */ private ulong[] typeIDs; + /* Signal handler */ + private EventHandler handler; + this(ulong[] typeIDs, EventHandler handler) + { + this.typeIDs = typeIDs; + this.handler = handler; + } + + /** + * Returns true if this signal handles the given typeID + * false otherwise + */ + public bool handles(ulong typeID) + { + /* FIXME: Implement */ + return true; + } + + public void registerTypeID(ulong typeID) { } + + public void deregisterTypeID(ulong typeID) + { + + } + + public EventHandler getHandler() + { + return handler; + } } \ No newline at end of file