From a2fb5655244351888c21e53bce3b7c63aa4184af Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Thu, 25 May 2017 14:26:30 -0700 Subject: [PATCH] Testing Cotija comms --- .../PepperDash_Essentials_Core.projectinfo | Bin 1283 -> 1280 bytes .../Essentials_DM/Essentials_DM.projectinfo | Bin 1138 -> 1134 bytes .../Essentials Devices Common.projectinfo | Bin 1162 -> 1154 bytes .../PepperDashEssentials/ControlSystem.cs | 12 +-- .../Fusion/FusionSystemController.cs | 1 + .../PepperDashEssentials.projectinfo | Bin 1867 -> 1862 bytes .../UI/CotijaInterfaceController.cs | 76 +++++++++++++++--- 7 files changed, 72 insertions(+), 17 deletions(-) diff --git a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.projectinfo b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.projectinfo index b6936dcea3737a55f4d41ecac8fed97c55900304..6b5fb15e4646e0bc97649f53721b4a84042df00a 100644 GIT binary patch delta 1128 zcmV-u1eg1R3V;fbg@0myo6>hL^VKS^pJvVc_dji#eAyQC-S2-=)j7R1yQx7=4d};ZKuEQ@9Pjqfq#JC*nRaRYv`LvvGl+0 z;y#|P${!Fag(b$zy83Ct;%s?dJuAw5nJw}k0-75zTnR!2Aw-CtHPn53ZP9&w-L(1Q zg;iFGNZ?{S%j@Q&M@E$PKKdo2kG?3D#bUj9R@95D ztj>RuS`dvOXycuohxGrwhXnk~b-P-(FSGV%pWUgqFS2EEo;R&S^&WkCBYzl5e32E) zWBO__DX$%fefq|mwGCiqWl3!VO3;714<0fpIt1%d>R;Ogkv==0-aFrac(8kaXaC;* z_5AIFQXL~+@-vhe5bNfDSH#3jk z1A`y(6!xd+`=gIuG|$tKc7tR-#fpbXAf>MPaC@l=I$1qec0S>MCJd*^LcQq z`Fxcxsy6RTV0OOuX}&YrySKBy_b~tT;ofw1@BR+ioO{!UI}axLEhaF88_d`(pnuqm zg?<0Oc#0n0YKp!(3ukBN;NiX9y=-SX*?*br-@o@@=fU2L7=G{Ge*R!L-?`1~SdhWQ z+yd~2O^ogK|HX5%yAw`|H&o9VF%;XG?M@!f4jw$XcmLtR{qz0vNxnaw-M>HGo7~@L zKR@Q2d4R$RxEb6nCm`P0|C`Ca8>nIV0yp|LV1s$N1@QNtm*KAe-#kJ0h9>Cs zPdxv2UQ#au^K-s4y}xsRHp{28gMIA5!M)l3CQlPGXwdz!V`c$T$pb`JJ-CZFz3_YbBA+1``}d$9NL{)0T95xd`e u@L)P%NMba+HL*LijG*^RzW+;p3Fj}0bM<>^oa?fcVgEmn#>jR_6#xM1b$yor delta 1131 zcmV-x1eE)L3WExeg@5wVqqbhtFH`#JWxiVF_0z1G|Nf^^ z)PR1R%a05CvA47PV0-8O_U^%(-JM7GcOTu~89zMO|McPB_Rgn|c6O-QoSL0H`h9=j z?^gBOVtJ81E$V#QR&|j#zwhtsy8C^9-`79>`~JSU?eq8jeScm5Df;&tyRV*P4Sh2y zmj2gW)W_3R`2#|wuta%TS3gZyoGs6*XGNJWvqkN zZrXhDLXg}zLo}|7I$NC0-eecIY`e&7na|_dtZ0jBnUx@me0EYTRz#oKm&@BtwrT%E zB*>6>%q=sVRIBSZ)w8Oc<#qGXBO^w8AN`WiM_&}nVzFL4 zE9%8nR_8xSEr>)AvhmK&L;C;TLjwNgx?Qc?ms$I>&+OFO7um8n&zshvdXGN6kv$A0 zzQ~H@F@3d|l-CZ#K7HfO+6FMQvZS^FCFsB1Pap0AMq`IyT}pkMAmX#>WPh^vVDfP9 z;lqdbb`Ey-9_*d(JeW;)&kyzd^yXP zQ|kJoN8dBEaX*}mlbWWxu9oB1#bQ;yo@e!nq?2I+CV%hk??1RVIiCdteh=vK&h7iS z-ON0C4-9_DQ`n!P?~guul{ZWW{_~fN%%pvKyGi>ZoTAmU0od=Wr784l44QA{X z&_8U(!oL4sJVg(0HAP>Yg|oAB@bKR5UbZux?0-!5@85f{^I&gA48M18KYy^B@7!i~ zEXZJDZUOkiCdPLA|Kd5>-3cef8>;7w7>e!8b|(*K2M-?HyZ`Xu{`vm-B;TLT?%$v8 zP44frpC5D1JV4CVIH{n@>pS(eXc zvw!o0hxe!VKFy|+^K6>$%n6qgZ+bpN#I7`25c}dw*da$^D^A^|C=Z1 z-p~ZS{)y+`&P(cLV1CYbruTR5&t~~_c6^XMIJh_4pFFs~xBKA!4n>%g2Ltmn2sN0V zTflzr=^5<#|9!L5`M}QA{?J@K&Dv}{%UU-(2YWk{Pj{#L2h)RWZ%Ttb*n4>YL7vZu x-S0hkFdZ-?F&f^Q*d1C%(EBCd|0TbK^B2Xr`n@#Hb=k_W{~yKCWU56K007*qjjjLy diff --git a/Essentials DM/Essentials_DM/Essentials_DM.projectinfo b/Essentials DM/Essentials_DM/Essentials_DM.projectinfo index d071b712d0bc5be7c8b46197b36b08eaf425c495..483e19747b784033b8770e141455fe002e1d10f0 100644 GIT binary patch delta 1015 zcmViuO_ML%f@%a05CvA47PV0-8O z_TK$ByStC}b|39O7(e)QZ~y*-d)qq?9_{QXXELr`~h`X z*nz#QtDmO6&X(uZv!cwG*&_ehK_m8f=idggz-h4 zEzV|dvWwxb7kMpna6Fq8ZBZ?=5@VFlPO8O<20Qz5dCLhhFZ}G1Xn4L(7n6MUx?0!M z{J5UZi_6^7>VKqKUB9WGRpl(Nn~xqDM&A4AmyAC8qF5G-_2OAkFRrpW|4C{=lmMHL zcXl4q|Mwme@GsZxYTdrf+Mg9Rqz=Bwmc@DAv<|y_^r=p-gZukOhyF!YERX4n#iYD; z0QTt{Z!!jf%*v8l1_P)6b`L(izxPp(K3&3mo8ZxB*?(>}-OukGOn36#{qyOk_a=M0 z4?o>IKcDQJf0~`&r&ny>QZEMHEkua6#m&k!D? z^`)Sud9ADE_;s;Zm9OVny&?e|Kg}T2*zc0F|24EX(&N`+N5vX4(0tyAOBn zKRn;b@_&2#`w#9-&S!f*HQxieymR|LZZi>&-lPAY{Tb`e$@fPey~-ONIRE)eMrM{i zz1=LCxmL1GX6N^_>3MdrGo9X>Ob#BL@9oa=$-%?j-Mxd!?(8;GV?YM;aSOm7G#{qZ z|94HogFzj2Qq_4#`kkHG?&RU@;K74?_a7eIKY!mppXB?~+5P*|y~+K3wm~r+;{gf? zehYB7B6z&3|96r3;5Me9Px15Vz4QHt2fO!o_V4Xa9`2lHq#p8o`sssv`@8pNx6tZC z#J>gP_a%P3*Z+6T!^3bMoQS^2ui9$aROcN_@Nl~GaC(1sZ)cX}v)SzY;Nku0y-&00 zma`uKM=V{hv<5||a={VTinS8oC-9MNfWP4K@-@)F)`w#MbMht!L!Gr0|7UF~a l{s?Nn{{b=H+hW8J000N!OI!c| delta 1019 zcmVU`Q( zb&)r}@9+CEU#;@`Y1Yht-{1H3kN>{EZ*IH%eScrqefsnZ|9{WlAAe4YW#_Z;bXER< zIxOr6U)I%6Q(tGx^Xgeq=F4o6|Lhx$cix+}Qm%@bb zMV&3qW^b~K;jb5YEmLqjn-y(QEwd6sl+RA8#fru{`*L~9`7tm2>{4iWx=t69eD=Cp z*VFvCp3aNQ+<(sBNwvCuQ$4H7Szb3EJu+;(_t7sIee^}KEEemz24(-(_L zdF=q~(>LB^3<8;zCAAC&PXFybcyRyVqaJ;_g!wkXqkqpHKFlW5dsE_wgNL&R2fMTB z^ug@@^udFNyASR?JO_Ws)ZAh;O68lHJ+G!&`Li`6%4j#x>}kHrm$Q61rM^CT^gToP z`yt^^YMR%&T8>{Ai&go0p4BT7!12@kvY6(t*Q-@kw+c|HInA34Q!yOW2rg9i`p-G6v+|9^b{e3I`^XZP<<_a^uEcZPI~2Ph!; zEx_H1;PI~h-$mwwK{9)A`xM`uPWC5z4<--y9zJ|{Z|7iV@4?>r&V$)>_xxb*!A_uu zZiE>S{}zznm-z8s|KBwa55swIBKjh~YO7^aop&t3!|Be$>HXQgomrO8X0!8yhxe!V zK7Y-olk;qv@67J|Gq3?#K>J(3ycO*?^!NWRs_*U$k^NPEUc$q!mS@X0uR(y2{`tN0 z^MiagnPdn1)9LKN?*03dhYt_-^G_e_9~?{q3Ahc|U?Oe-{5>aPxa0qq&B*T1jJ*Dd z=ikmt!eU@T&UdEwcka(-`E+)WJvg{G+jO5ixWBji;QkJ&l*xmE2^oYM%*QQYzvp}m z_WS>e>F9i5CueVHa-L>wHlAgzn~sCMoyn)W)BS_#LAE!g@g3|vy#FB2XT;F=9z2-d pY#~0#?~kDNOTPb0ehEi2#d$H!APO|bb=k_0{~sSBZLq=+004|{L!STu diff --git a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.projectinfo b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.projectinfo index da52e9593507b8001c6d076e3ed1262b070f28d4..56e6cf1a2c4ab52a157ece33163b11869a00d18b 100644 GIT binary patch delta 913 zcmV;C18)3^34#fbg-v3Ao6>iuO_ML%f<8!}=9k4ZZ_<-$v8a~x&Mf%;_t)=#{}cKu zr?2S8x%{}GAA38y54LyiZ|~iIv%C9fZ}-vu{&;_9Z}-!^?VSga*GYdR$IH6;lwSrJ1l+PMMq`kI?zrJqTeDOl?-87*z!izdvoXy^37eUit zZnf1SuVr?RXS1R$s%2J!H1ZjNToH|CUoLMq^``yL4PkG`38#xmK6_oQ>uG*mPv^yD zZYg|Ht*+lx&#H2k*Uf)NkBngLee_F4AAM0Qi^Y2Jtf&`PS)KnRwIE_a?8ZAg59$AV z4+;2}>vpwnUuNwORS2l#FS2EEo;R(-`W}6H6SEkae32E)V`{XRl-CZzK7HfO+3 zSyI!0B=q0z!Ke43lRA{^lI+_=26XoD;lcUz!Kdfh-t<%Y-(-I}dw7r?%+Bxa-amgZ znNdrbwA+kFC*a0*&#P%x{;+53Mn)BKKFwG8a+WWrgv3XWzGo)oemE&7HBEX=FTE}n ztMc_ct5+o0V}ba3y;@aus{obI(=5yPC;NN%A71;&i=jq$-|xVjC4<)Pd|NdZ-4jx?Eb)1#9;=r zatp}sJuC5U|GzOo55oy^BL5=4YO7^aopHXQgomrO8X0!8yhxe!VKFy|+ z^K6>$gi}Pb0a`FAw}5%ON!ifh|2L*%cV}omUghT{f{SW-wruknlnEy$zjuCqkk2NQ z>|lR7ojusSe}6(w*?#`%gZ+bpN#Gch|F52> z&IfkZ_J(HdY1U@rS=PFFI@sHpe7ZZ`KbRh5ds7-WIa2o@@ z?|(vH<@6Q(IF}z6^kZ*l_rdng{q5a@H@iEJ?(aUje}DXNXaB+O{`StNk`j)A;(jY4gPkL3h)9(f}{&Y;iVwlU)Q&gQ?Y4i@cV}J)X^qwy2g_3ChT41ad_r znti#v-OQWzKR0x}9V47BCi(1jwXUc6aXp#Z(BzA(SRPZO#iYD;5ccUCZzhMK%*v9Q1|*^Xb{{;r|LI3P%5_QhZ6X7G z_UWftKHGh`GrjlV!GmnJe}5<6+5Pn4rw<=|Iz4#saF1Hbq}^sbIsrGfdtObm@`ryt zTQ@SQkn?H2%9pczIVB`Mdh|UrDfh!kIjL#VYkKK*u~?O_=UKfX!5$05*Xz})s#^u9 zgq~(uzCYRDyZ;50{jO}TBq;-Z_L+&aK0QqzyC>9=i&V9?96s24`&At9^AYC z@ZkRW{`n-|pU&>zpYBcW@3Vol^AiUY%*QRj-EKbOef@uf{s)8fcYQ>rVt0Q!*`Mq^ zm^|Ej`0(Mqor9gd2Ycr`4`$Qd^MkzyJAsnB5oRzew}AZKvl8$2{~HtZFq|MK@-OnM zwpupTdB^@dobEiF-k;sunUTSt&CU-V-k;w4G@DM&vuVCFyYElU257;g+ydt9CS^m1 z|KFI7-JPNNc$J@*h%Kt+*|H|hYfvVfnEc-P`9VILOtORh>2&sB_x}CK!-og^`KJ%| z4-O`Q%#+#!IBtiu)8xUxObtQ}Ch8Wj-*=)0JN|$5Jas;>v$i)hYfrN_8_%-V&C|i& z&g9eG>Hfj=AlsYLxXF>a{~*t2BmxxXO#OM Tqg public void GoWithLoad() { - var thread = new Thread(o => - { +// var thread = new Thread(o => +// { try { CrestronConsole.AddNewConsoleCommand(EnablePortalSync, "portalsync", "Loads Portal Sync", @@ -58,9 +58,9 @@ namespace PepperDash.Essentials //PortalSync = new PepperDashPortalSyncClient(); //Temp Cotija testing - //CotijaInterfaceController CotijaInterface = new CotijaInterfaceController("WebClient1"); + CotijaInterfaceController CotijaInterface = new CotijaInterfaceController("WebClient1"); - //CotijaInterface.InitializeClient("http://192.168.1.105"); + //CotijaInterface.InitializeClientAndEventStream("http://localhost:3000/api/system/stream/abcdefgh"); Debug.Console(0, "Starting Essentials load from configuration"); ConfigReader.LoadConfig2(); @@ -77,8 +77,8 @@ namespace PepperDash.Essentials { Debug.Console(0, "FATAL INITIALIZE ERROR. System is in an inconsistent state:\r{0}", e); } - return null; - }, null); +// return null; +// }, null); } public void EnablePortalSync(string s) diff --git a/Essentials/PepperDashEssentials/Fusion/FusionSystemController.cs b/Essentials/PepperDashEssentials/Fusion/FusionSystemController.cs index c4aed8fc..3deeccb9 100644 --- a/Essentials/PepperDashEssentials/Fusion/FusionSystemController.cs +++ b/Essentials/PepperDashEssentials/Fusion/FusionSystemController.cs @@ -78,6 +78,7 @@ namespace PepperDash.Essentials.Fusion public EssentialsHuddleSpaceFusionSystemController(EssentialsHuddleSpaceRoom room, uint ipId) : base(room.Key + "-fusion") { + Room = room; IpId = ipId; diff --git a/Essentials/PepperDashEssentials/PepperDashEssentials.projectinfo b/Essentials/PepperDashEssentials/PepperDashEssentials.projectinfo index 161f60482c2c169e18843ec834f14bc7a73ea8a2..8f657ecbac8d91a5d0cc2fe58f0bed1a35e4e5f8 100644 GIT binary patch delta 1708 zcmV;d22=UV4#p0Ug@0myo6>hL^VKS^pJvVcv}y8XThLe3d^Y@5PG8ZFbNO*WKlXNZ zA8ha3-`>0bW_S0|-tMFOd*i*md!HU0>~HTpc(k)a?dH_(1hgKA$m0(a1287vJL;bba7QffmO`9)X2wDT=r!idA+2U;WCcC(? z)grHDnvQ3)qAjXrR$}n-*-5on5fx@%E^j%9=7pbq+TApzr;ABGdtI&TX?|Q!=f!1i zX?RktuHRJ8s(*5p*Ud+dj1263^h-t`eNiln#d`6qs25jRo&O}YAeulz#ydL?>Hm8V z3HX=mcC~I_X6?@!&r&B}WXs|_Z(4`pJ^FOR)a%H<$cp7LeYlvE*Y4eY`o^1;==-y> zq*lS0>A&5BPw(UH4r#hH`8L7AXZfeoorkmOg9m%F$$#$N!|B1j>8I1lbTZq|_NKcJ zsHM!x=0PZJH?(+OO|$Z6a|$-`m{96zzRH)gd^x4QK6>;$L+bk>sZVN}#JXCJUl)s2 z`Fft!E0VqO)BLiS=C9YQRaLhNP-!^LvV4ECzjyy(mYsjP`*7#}!}Faizqh~t;NIkX zw&&CEJ%6CfJGbxShB)mgo#*v3 zZ^^bS*2`j=!AcnsRPx>XH2?I|d;1R`>^{7|yMMov=bxVMPWJQ3^!~l``*{{}$@|MjZa%H-87Wn!jgjn3Hh6_NMvd)BXF|?0%N*JUlpma4_AUd^&yj>AmcH zZ+3ng4Htk7=I0i`zvlb|eg401J|5m`K0eRd{3^TdNYI15{k?o|cQ4EC9qixR+dIha z&qp5a5+Of5*n4<>klkWNI)H;Yxdr&IIVYW7|KB$&yF0gbZoYGy>98P!nYabuuQ?O8 zzyB9b!d^HD4pb^WWRt=Wc5TQ0L(=Kf2cMp2d(%(pf0OC#;X!sVJHNMk|NOxu@WE~Z z8BD@00N*qTH}&`b!b!LnPJ#n^Qq}oOa^bV`_4RTZ&cVU%{ruCNgXx6mbFgzT%YP=j zpFTLa_h5Q{@NlwwKd=@zKn$kf7I1Hxf*ZQ~f8h-556!^uj}de<(9Udk@^E(W;K9B7 z4-f92@1IZd{psxf{psH1{yyhmB82w=g?i^^aJQ$o-^>3C$=nIcJ-i*%2*uB*_s;hp z5@YV{-`k%&+&RxEM$XAdKDf8Pdw+j+e}Lj~m;v!`0r@?MAMf!0h4avfyyHXY2Hx3j zHr>zf9ZYxf-Tia&P$ql34?o>IKcDQJf0~`&Viw|Y_buRly*c=QaoD}viMyS{a8h5d zTBLEuC=M8^^k7tHp8K*2QE^ZuP*_5TPdfv;FD)-G`G;@88ePAMWhz zewxpw+1~8aPbUutrsf9V!Svjsi}#qG8+!hK;S_ZuY&Vu~=Ouw3n3yb|J=n`9q+%Z4 zr+h1Ai9UU>b1=yte7e7Xe}6U&Jl2~)hT7|9z_*`{cz^%zn}oeiJncsCBEM=WUsj!W z^63w0MPhn?c5i1!1e?vsm%Kl{_h~krV4ORl3Eu#%BMCRcygliAUH!k1>Ya!=j570g zxg+=a`KJdt1+5Q1rRa5bu(v~*pZ&ev2b9>(@;p0_liPs_our$A-G83Wu8;p061Wo$ zJFH*j=OtEztL1=x$?u(?ALO&iBs_+kWC!TNA_vbs)`#bk%vwS)`$S8cB?N1)uC!W2(vpbzk9t_OK zAk&gy|Y+bf8(EkTbSTx#-BLDyl CX46do delta 1694 zcmV;P24VTe4$BUZg@5wVqqbhtFH`#JWxiVF_0z1GpEgatYzt~bt!Kku<@6Q(IF}z6 z^kZ*l_rdng{q5a@H@iEJ?(aR?xj+8&;inJw_vqtKAMNZ=yE(NxdG!1KzTd6tx5e@z zeOlD{w5{qQZ+_q3*Y))K{=Tn&{P+ERbKBqV`}?}S{dWGRlYe3v|7tv4{eZeI?8sl% z)lXBeXUp^ISyAT8Y?1%$p%ukwB^VTh0bzF5P=D>UnUB}kO`9)X2v!5sry*R_+2U;W zCcC(?)grHDmX2q$qAjXrR$}b(*-5on5fNrzE^j%7=7pbq(%m$pr;ABGdtI&TX?|Q! z=f!1ir}(5=U4Or+o>k>6ubYn^841|?=$DK>`l47Ci}m7JQ7^8tI{!&(K{SDUjCXb( z(*O4!67VnA?P}e=%-WwdmZeU<$d<)<-n0(Gd-Umssn?Nzkrm5h`fxERuid-*^o=(w z(f4O%Nv(o0(|@}U9(;}3bD?A~ z?(}^3KDCrt**plP?S>Z5t7%sLY)-)@9urDE%~$zymM^E&*GG@OXGo1P`T|hXB-Yh( z{JL1I%GdL(UXkpLpXQgvG=IHbt*W|JfJ(z@mgW1C{k{7Sv+VrS-G@8(AD-_JQTO*B z+?$-w_J4dDz6W%9=k|TvFb9v`qw62eWc8=y`=gIuE!mdEdRa^}SScfdO1^ua=AV9gZ~x(g-G7JoclUSl{L}N@$$mbW-oJN#KhGZA zVqP|O6U@~uI{TV)wGoH^_s!qIt>*998s;RNuf1tL`E>t&HoKo?I}Z=e9~?~gC!bCq zetIuE-sM@?UE5xv$ z<~x(UdprAk5A#nS?oDU+?(gK&Pw$a`^^?W}Eq{5iHzUQrcW*y`u$%APW;!g$U?y$> z_-oFD?eG7Eldu;~f&-O`580$Jgk9V5>8DvfBZqZ*@4X=Il3e(#e0{x~hI4SRdq4kl=U_TH$PNy6 zD1XeG?0)*-;NFAj`N6}JjZl1d zI@zD>J(xV)d-(9-y`6)dy$5^eI}c{l-GB1~N^Jz{=0=zS@oxe7J%}Ig@c)JL(22a` zL+A$H4AmTv2loyh&K?}>&Zg4`v-{Hr4<7D5pw!Y3-^U;Zb8ri|UvCcnUmSMt zcH(a5Fr3uas}^bD)%^Nw+2-|mHtmSRY_?Cd$qqi9eR}@sgV}6)Z|C83pY(LTw|_sS zu-Ko7+W`*d;}+m=nvdJ{`v1ad>4ekXIMz*DEsoo^E+%Vos|Tir2sPQC?N9ITKAe1d z|9*DoHlV|s4r`TvDe)QPa&SiYT?1b$#*$gO;^ zmrr(bN*GbTm9j*iKG->!~-R4H-Z=W zRZID@>b#Rre>f#2a({MjXGR2@&B&L$KfU*9Hl1LcJF{R-Vgs~}B-{w|_N4E1_5VVu zcOvF6%FN&8j@;+xpC05Cv_AZlqSx8M-VSAc_V;!lP+~jF^XxoMZU-iy^As(B-JZ^_ zkN+1ExDyRKtY78lB^Hx^1{i-le0Z>*)8g#G!6a}|yI^Brg9*3=@Y_$o@KF9=I3bkWu(L+n+qRPds~nhg|;2gMs-Ngc{1j&9HAj9fMu| zzh*W%AK1C+#LR9;PqQ`~&$8Cd2I-8+r@PbrgXuxGH>ELB#`*q(JSQ$U2AQ6zKN~|d oyP2vTqD2t;CEx!gzl2xUi*sGsp^>f2RtEb20MDY_?1&=(0EdFM+yDRo diff --git a/Essentials/PepperDashEssentials/UI/CotijaInterfaceController.cs b/Essentials/PepperDashEssentials/UI/CotijaInterfaceController.cs index c105d873..7aa3752b 100644 --- a/Essentials/PepperDashEssentials/UI/CotijaInterfaceController.cs +++ b/Essentials/PepperDashEssentials/UI/CotijaInterfaceController.cs @@ -14,23 +14,77 @@ namespace PepperDash.Essentials { public class CotijaInterfaceController : Device { + StreamReader Reader; + + Crestron.SimplSharp.Net.Connection Connection; + public CotijaInterfaceController(string key) : base(key) { - CrestronConsole.AddNewConsoleCommand(InitializeClient, "InitializeHttpClient", "Initializes a new HTTP client connection to a specified URL", ConsoleAccessLevelEnum.AccessOperator); + CrestronConsole.AddNewConsoleCommand(InitializeClientAndEventStream, "InitializeHttpClient", "Initializes a new HTTP client connection to a specified URL", ConsoleAccessLevelEnum.AccessOperator); } - public void InitializeClient(string url) + public void InitializeClientAndEventStream(string url) { - HttpClient webClient = new HttpClient(); - webClient.Verbose = true; - HttpClientRequest request = new HttpClientRequest(); - request.Url.Parse(url); - request.Header.AddHeader(new HttpHeader("accept", "text/event-stream")); - request.Header.SetHeaderValue("Expect", ""); - webClient.DispatchAsync(request, (resp, err) => + try { - CrestronConsole.PrintLine(resp.ContentString); - }); + HttpClient webClient = new HttpClient(); + webClient.Verbose = true; + HttpClientRequest request = new HttpClientRequest(); + request.Url = new UrlParser(url); + request.Header.AddHeader(new HttpHeader("Accept", "text/event-stream")); + request.KeepAlive = true; + + /// Experimenting with grabbing connection before the request + Connection = webClient.ConnectNew("192.168.1.120", 3000); + Debug.Console(1, this, "Connection Port: {0}", Connection.LocalEndPointPort); + Reader = new StreamReader(Connection); + Connection.OnBytesReceived += new EventHandler(DataConnection_OnBytesReceived); + + /// Not sure if this is starting a new connection + webClient.DispatchAsync(request, StreamConnectionCallback); + + } + catch (Exception e) + { + Debug.Console(1, this, "Error Initializing Cotija client:\n{0}", e); + } } + + // This callback happens but none of the events would fire (when not commented out) + void StreamConnectionCallback(HttpClientResponse resp, HTTP_CALLBACK_ERROR err) + { + Debug.Console(1, this, "Connection Port: {0}", resp.DataConnection.LocalEndPointPort); + Debug.Console(1, this, "Connections are equal {0}", resp.DataConnection == Connection); + Debug.Console(1, this, "Callback Fired"); + //resp.DataConnection.OnBytesReceived += new EventHandler(DataConnection_OnBytesReceived); + //Debug.Console(1, this, "Received: '{0}'", resp.ContentString); + //resp.OnTransferEnd += new Crestron.SimplSharp.Net.TransferEndEventHandler(resp_OnTransferEnd); + //resp.OnTransferProgress += new Crestron.SimplSharp.Net.TransferProgressEventHandler(resp_OnTransferProgress); + //resp.OnTransferStart += new Crestron.SimplSharp.Net.TransferStartEventHandler(resp_OnTransferStart); + } + + // We could never get this event handler to fire + void DataConnection_OnBytesReceived(object sender, EventArgs e) + { + Debug.Console(1, this, "OnBytesReceived Event Fired."); + Debug.Console(1, this, "Event: Received: '{0}'", Reader.ReadToEnd()); + } + + //void resp_OnTransferStart(object sender, Crestron.SimplSharp.Net.TransferStartEventArgs e) + //{ + // Debug.Console(1, this, "OnTransferStart"); + //} + + //void resp_OnTransferProgress(object sender, Crestron.SimplSharp.Net.TransferProgressEventArgs e) + //{ + // Debug.Console(1, this, "OnTransferProgress"); + //} + + + + //void resp_OnTransferEnd(object sender, Crestron.SimplSharp.Net.TransferEndEventArgs e) + //{ + // Debug.Console(1, this, "OnTransferEnd"); + //} } } \ No newline at end of file