From 01c0e3d79f546b471090844deacdbbe65f4bb9e4 Mon Sep 17 00:00:00 2001 From: woojin Date: Wed, 11 Dec 2013 20:56:35 +0900 Subject: [PATCH] [Title] take emulator snapshot using emulator ECS server [Desc.] get snapshot via emulator ECS server when available [Issue] --- org.tizen.dynamicanalyzer/.classpath | 2 + org.tizen.dynamicanalyzer/META-INF/MANIFEST.MF | 4 +- org.tizen.dynamicanalyzer/build.properties | 5 +- .../lib/json-simple-1.1.1.jar | Bin 0 -> 23737 bytes org.tizen.dynamicanalyzer/lib/protobuf.jar | Bin 0 -> 486714 bytes org.tizen.dynamicanalyzer/src/msg/ecs.proto | 130 + org.tizen.dynamicanalyzer/src/msg/ecs_ids.proto | 22 + org.tizen.dynamicanalyzer/src/msg/gen.sh | 4 + .../tizen/dynamicanalyzer/model/DeviceInfo.java | 14 + .../swap/communicator/Communicator30.java | 10 + .../swap/logparser/SWAPLogParser.java | 73 +- .../ui/info/snapshot/EmulatorSnapshot.java | 83 + .../dynamicanalyzer/ui/info/snapshot/EventMgr.java | 104 + .../dynamicanalyzer/ui/info/snapshot/ILsn.java | 39 + .../dynamicanalyzer/ui/info/snapshot/IMessage.java | 39 + .../dynamicanalyzer/ui/info/snapshot/IMsgProc.java | 40 + .../ui/info/snapshot/ListenMap.java | 56 + .../ui/info/snapshot/ListenSet.java | 61 + .../ui/info/snapshot/MessageQueue.java | 78 + .../ui/info/snapshot/MessageSender.java | 99 + .../dynamicanalyzer/ui/info/snapshot/MsgMgr.java | 132 + .../ui/info/snapshot/MsgProc_KeepAliveReq.java | 46 + .../ui/info/snapshot/MsgProc_MonitorNtf.java | 52 + .../ui/info/snapshot/SocketClient.java | 203 + .../ui/info/snapshot/SocketConstants.java | 57 + .../ui/info/snapshot/SocketMessage.java | 86 + .../ui/info/snapshot/SocketReceive.java | 98 + .../dynamicanalyzer/ui/info/snapshot/ecs/Ecs.java | 13848 +++++++++++++++++++ .../ui/info/snapshot/ecs/EcsIds.java | 244 + .../ui/timeline/chart/ScreenshotChart.java | 13 +- .../tizen/dynamicanalyzer/utils/ImageUtilSWT.java | 177 + .../org/tizen/dynamicanalyzer/utils/JsonUtil.java | 141 + 32 files changed, 15953 insertions(+), 7 deletions(-) create mode 100644 org.tizen.dynamicanalyzer/lib/json-simple-1.1.1.jar create mode 100644 org.tizen.dynamicanalyzer/lib/protobuf.jar create mode 100644 org.tizen.dynamicanalyzer/src/msg/ecs.proto create mode 100644 org.tizen.dynamicanalyzer/src/msg/ecs_ids.proto create mode 100644 org.tizen.dynamicanalyzer/src/msg/gen.sh create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EmulatorSnapshot.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EventMgr.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ILsn.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMessage.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMsgProc.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenMap.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenSet.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageQueue.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageSender.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgMgr.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_KeepAliveReq.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_MonitorNtf.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketClient.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketConstants.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketMessage.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketReceive.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/Ecs.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/EcsIds.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/ImageUtilSWT.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/JsonUtil.java diff --git a/org.tizen.dynamicanalyzer/.classpath b/org.tizen.dynamicanalyzer/.classpath index 98ee040..e954630 100644 --- a/org.tizen.dynamicanalyzer/.classpath +++ b/org.tizen.dynamicanalyzer/.classpath @@ -9,5 +9,7 @@ + + diff --git a/org.tizen.dynamicanalyzer/META-INF/MANIFEST.MF b/org.tizen.dynamicanalyzer/META-INF/MANIFEST.MF index 137150e..8a36043 100644 --- a/org.tizen.dynamicanalyzer/META-INF/MANIFEST.MF +++ b/org.tizen.dynamicanalyzer/META-INF/MANIFEST.MF @@ -16,7 +16,9 @@ Bundle-ClassPath: ., lib/org.eclipse.cdt.debug.edc_2.0.0.201109151658.jar, lib/org.eclipse.cdt.dsf_2.2.0.201109151620.jar, lib/org.eclipse.nebula.widgets.grid_1.0.0.jar, - lib/hsqldb.jar + lib/hsqldb.jar, + lib/json-simple-1.1.1.jar, + lib/protobuf.jar Export-Package: org.tizen.dynamicanalyzer.common, org.tizen.dynamicanalyzer.communicator, org.tizen.dynamicanalyzer.error, diff --git a/org.tizen.dynamicanalyzer/build.properties b/org.tizen.dynamicanalyzer/build.properties index 72085fc..648b644 100644 --- a/org.tizen.dynamicanalyzer/build.properties +++ b/org.tizen.dynamicanalyzer/build.properties @@ -6,12 +6,13 @@ bin.includes = .,\ META-INF/,\ theme/,\ plugin.properties,\ - lib/,\ build.properties,\ Link/,\ .settings/,\ .project,\ .classpath,\ lib/org.eclipse.nebula.widgets.grid_1.0.0.jar,\ - lib/hsqldb.jar + lib/hsqldb.jar,\ + lib/json-simple-1.1.1.jar,\ + lib/protobuf.jar diff --git a/org.tizen.dynamicanalyzer/lib/json-simple-1.1.1.jar b/org.tizen.dynamicanalyzer/lib/json-simple-1.1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..66347a6c86b7d6442358ca7643e4dc484fb01866 GIT binary patch literal 23737 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 A{Qv*} literal 0 HcmV?d00001 diff --git a/org.tizen.dynamicanalyzer/lib/protobuf.jar b/org.tizen.dynamicanalyzer/lib/protobuf.jar new file mode 100644 index 0000000000000000000000000000000000000000..be6164f7ad5a23430b37969773882660a48fc6c5 GIT binary patch literal 486714 zcmb5V1CSmX=iJzF_rCj9MODSB z$XvNrMdpep>&c}k0}g=!0`vFu2}cwG`F|X+AP^vOVyZ%PQu5*qzb8RJz(Evcpke-z z0Q80g> zQgRD!l@PG$7r4V&=>SVkER5q~famGAE2~H62WQa#upTEA)5QC??|-g;ti%1sNR0o} z&>{Z5HF2D<8taLpJ z*%}`5Gk9L>S_>bqeO3?cD8p|;fvQNR(R=VOrO^$vZ={qk6FbwqEIf15x3j;$Ui`58 z!LXt@!=*vJRN+lm5UO3WIrf84vAO7-bd5ZXeeQyWiQA1We_C(d(ykzv@GS$Bb{6n| zX2kdrBA}O;_;4i{IqVtL^$|;lEuR8Je*YkbQcB=8m*mK-!(o=Glo(jlMwxiE?4o_? zJP$k0xJNtaD{(fFo4N4b@@=VmJ*7qq|_$9zluh6mu3te9G&1k$-2j?=ERs#InycdrCJ+FZjjn^V9A3 z^%|GrPVWo|lnq-{u|Av_!Bl!dw?Y2WPNM%H<1b=Uf;ODnFPnpdGF|TdQuJN;V|P(b zW;s4fR*tnek>3fVU5|}T4?zdJPO$BZJtSxc@1Isg?OTuCBPm!d8`ci(1g>$js2#ZU z#ED9|g|H0s!%faB2!RdbCPqQeQo_Uul<@6;5N+Qi9^jSpX3~B~$(BB$W}KO%lc(>5 zXB*lh2q<}jCY6&!14^A@pMiXJUBxQYs7|xLsf^v0_{ z#8Blv^uymIVjwqTZdtczJJe{$|9!Nq!UcVq_x^Hk+VIUX0sYnT%Vh7Z_icAND}#f@ z;ndIJ`=6mYBIp3}b9a2(feZF_cne88bFkULMu_ZK7qojzV487l&=XpJPzoG<0uy`* z=V(~8qZ63vKAM+a;l46FeUlKJy3~;@{`$RUpmyzk6vTPBi|M+w75{A1*b(ewr}O~2 zS+j_~x=al>=z3*G&7ynw@@+DgcJUj% z(V4wfmxT4(rX&6?72%uA7PvAmH6gN;U6(7b?U2NM8vFAR5{)*bT9)gVbgE$)M*QUd zm}%=6`aSG+$$k?1dVm7WJHFQ~R)Ph_R}JKMi(r*{>4CkieO6!ffiqjjFqkXkp!*Mq z_P-H{=qu#;Uex_r{90%^F7wE(G9WN9pC(qUw)hscte*Ie>5xIWn_->N6Elf9?fw|Sv;sHrzb=d|L6XzveT$<%dYlSdBHzIEr} zW4R*GuUm>{q~s|p>@4t?wG$Ds%W;t{DjQg<@3fjpzo_crk1yKPxOny^Y?%cT_CgGF zuB%2_tUFuTt z_|`&sWQ;BC8v&FvqTJ#Tbx#oerdh}~;k+bt$oKY8gr>?SaX(v_~B zarY5p1SR1QVZ%-MFLQFW&ukS$_=Lq;3s787WxT1#UgfXT*ON$&J%TxeJ!N9Urw$wU z@v?knyO)&qWV}&q&9W+UV##pog8qo6uP=F#o%0lhJBAfavVUaTGc47QYfaf)Z0H_5 zzUVjakz{+~lt&n{jwq=#jc=U0zGt&F>CJZHsk_~9OxB*PJYcyr3sJnjb6K0I?3)_J_4P%MBvR_ zhO-U-hvx8(NkS^{Mz`Ng;VegZ;QPZW_H9EScY2OVg-=hHQ4!C$-x@RXu6gH4Z(EE< z4gU!jEykDn!1pE!PHWYB9>_Q9c5J4r@6sp@)YcvEOADFu7cNYNC@h6Wne|}K!tamY zrSoka;r!z{55GrUX)a6hE-6we98_%S;)-RgQ*#->^`v&Kv6Aq5NCt0LBdsHA5BI2H zg@FHIyB@BD9O``h#=`!S0yiEFL#i&f_4l8&_*48`(e)>Tewk{UoXQ%v_TZxtJ!4=3 z49EJ_w!bj)g1Bk>M2q(*CN~cEDvr{0gA-0{hW*)SiM_^s#HdygGAyAC2{7seqEsfE z*MXSJsnXS}r`mqNEPeY#6rQ&rz40kfb*)TvL8yp8XXc8ub9Vkmapc4=sR2JY=lRA< z#R4`8on@Ypt!8bBw)rF7qs?L(1q;_6wKC^m7jDQo5zYA;hKn1fMSrf3Yb>jfnQY$( zU2Ozt0~lJQi(}O6*eQLkqBe*Z)N~l$qmG*H?zZ$#sC+U#Y`CSGq6sT<|%sxP8qk&Q^s$Y73si_h})m3Z~g^>QyV= z&ZA!-zp9Fb0~CEcV_QU6H+@79!42FcV_6X%5=AWY39-s`ju7y3mU4{3Vqd;2#c|m$ zvV&R18D*8?aJ=0mmvMJWi8oq@N^5yB+zG=RT-VqM*`3va5>ilU<^(G%+v#lX*P0+ZxVeBtWe+KN4m=I39pq7h}t#2Q7DfW zCuSUCL}`4C6z;D9v?fZG!LXdwcm45HFD$14E=^D*!&V9@sz6ohA8i}@M33dk5Py`7 zpql~7)yi-$N;D~-WC#u(11D~7v)U3nt_pT4Jxe$6Jl}wbI~$X$xKk6=?(Ho2+iqDb zE&TK??hfWdnX-G@7Nu)Schk=e6z~}?(ke81oYzzYly1Ct$_F0H1|^`ZiUmRdvw6dm zuzAH0Aw6J#bOx(zr~u5dBT(r;38-cT(WZnIt9n3dSP)mZunpRUIjK$)?u_}RUcx)6 zalqy&BOb3>0YXLlo-@y=J|C-QML*}$e*rJh`T>uehWIk#Tfw5=9QHJ_SZh{OFW(M?QXA1Ku0TuEFN` z)yy*V)79EUCci2jVbTnFtG7{RXSZ~86biXWXP(;fMBc0mNjC1?Gl5Qh{8D)+EPdj1 zeHn?Uc`N|7G4c76z~H^NGngmy_JNZIV@_)<(h(%#YDVHm+ z7uQRoGK5O`j;a8*k&!FzBQW9zP2hG2MlReNib!J42Z(|aHtCO?^MGBtnHTtQve+RN z0R@hQzKas$H}+{TeI+LC_CK7!B|`b)v{0BkKPSgFd=U)DP?gD&ph8IX!UG8ngXAP| z29mot>e-fo$#0ioow#x~tDJnK546oGGcDn`Nbt>miy6*@zW%`uPV@Xjsj6mGx%wK| zUy7?`LoYT+pq!(U*Yg2}PSULT6ZJ=qu*y6LYonUFq&1goMxKgWIO1AY_p@g`B3+xk zU<22y`iB|qUh+tSVeUoJ1Ta<_^DkG$VNt|JfSZP0&d8S_s$HYKwV2!ZGA6N`r&;^? zLAH=VYA5St8yc7ksJz)@+N_xqM13Lii3igu0yjC{fzI9UWo+%PTSNKGfoC~W{h+(R zo0UbPdR!rKb(G8p`8do}%;HAdhr52_zz>uj;}LD|lH zqp%et^R-LZAGxRQ_REmOK~Xw%h}Y~mF2im?mLH0yl{g^uRSwT~NZia5<*|W0AKi)6 zSQt$3Ha0vj&|WK~n>~#BUhZFPG6XG|Hq>c%^Qg*7=UBUSWUGLBa8aoRktQ4vv979F zBx#LoY7d6au2RC2J8Zp0GRG#9Ko(`ytZj7UFXE7pncSlgEgIWuC&D@&oWiSC4vYr;S9l6PZbX23-b!crf>BJjLkbC0P;p zsp%{|cFzU6<=QajdmBbuM>pvSa_fX6mQUw48LZpvI>B}Ah5rkWzI_DgWWq=#Y;^4C zi}nFZq7C;ag*HGas@dOhxr3;t#* z)Z^E^Jhha_TOz|q>BzbSA57IY45O$B3%`_jCV@ML8FImTMH1E^qWgpe#0$4I6s0+7 zyS(pD@GStqB~iofd*;c79qk-1`T3(#-mYO*6feW*Hx}3D%cBjpXB(-hIDcH6afVcA zMRRoeuGpL;#0fQmk!T4eRM#FB^fxX_s~d`C8w7*?=UIAw z;~p0Nl-A4`%)hIjRGxWYWo4U`5H+!3`P^K}3bxk=SBvh$;^uYc99Si33QG*Dq@T+` zHs8d!p=R0t3t7j^B!23n@#$X@_p;Gz_14>}eN^|~TB3`mrb2Jag&PfYvQN)u8Sme6 zNB85qdu>$J1^7F7d19!+{sb8W*?p-M&&dMKVZUko;I^7rvB_Dvq9xF`yK?s|qWJuw zdlhl?d^VgbHU?VH_(O~<_Yy23WkpFv<-m3Ab2Y3MN$eM`Lt9=*CwYB7M~u|-{O>mE zkQ6202u^$3rTGh6h$$IYcqz+G$8-X9GIUsqsGRM~Z;_9W3@UsaKR{`(5}rZB_-r=<`E!TciFm9E5zLPS#LnK?^ z4JFFA%ynNfd7+>UEC~r%BPT9l@z?3v!MPaQVA^4$JQN>KTfCEmilK;xo|)mo2p(p( zOZH%91pVnDL-=h-7!UCNg|BYt+Y@K}KEzY1M;3Yy=y?%cq4xMGPb<-t80YTkmz!vq}n~pbJKVp97u*AbrQJ5cz%y)dAlbVqmg-pqnpU+LCtQ-VGr(aJeP%`+mW> zUuK(Ml3-D4*o6*DQeS+>AcB_-un5A%xZRqPrEprl4nO80aiS^)D%>=IE9dQ>_6|BG zTuu7sTv0s+>&`L2Fzea2X8lT7ML_SM(aZd75&9l-$mx@f#4c!!ph1vl!?AVri!os2 z*$93azSxfkp&LE*RN8NzejJ4pR{-Zg{(Nc%wAmj=c?HZXD1ayY5o#u0HfX;XcT)!+ z0Uk;20>;}=n!brmcUN3Bv}WG+dGpJYwQ>VPM^ti~2;{qrsuLw}Rlun;Vs_CBO_TEuf;jHcd( zA*Pfs|MsK;Jo>%36{ygVI8KIiMD?(gnY9L|<&T5g5jECd*I|G9>EH^XU<2cR1v7i3 z7JGDNs=uIA!|3gwOWYVeeQ|n4(hCW7ig`Sxd}iF)f$7}b`ko4YcZ~He2KhKx!VFi< zyXRcL?^I1X*2J9+@@pQnr~%5^2@%7P4&y*O_6mdX4m=uc?%IU(Hnev+a&j+7j$i)r zQg3uQ^J7E6g9ANj&L-IbOrOz4pI=4!UNIs<6*r8k0neKR(oeP@%1)R?Q93*BlS}+p zIK3ivSOF1ws#HW|1kc3_#Pl&2`4hf||>ekcaFGhQvkQResO$I1T zh84!l^`&!|KjSb4A!)85OKu_HI7W#iyg{O|#2DE}C1`=K*5W>h6ecbxc8zhb3Nf!{ zo?;R@vwBXMFprNqMnRfq_KNV=<}>`2WMYo^3=cQm_8#>x+N{%9{eJWDEou^f0Bzk+ z4v?zTzWh~W_y}wbyi}hB5wSdc{yegqldq$~SXZ{86Q_0;4>gXaKgi+_$>6cJ;1=op zsjb2`zo-hDan+CSf|P4+$`2uY23f9UqiX0FXL9dhWNBI_O{^Pc?0ul%u2=JuaC*^8 z>Goik((VFqD_DLp%5+Y?UxaV)7|x>8B@`H4Q1Mb(t;eUndD^pKeoK#1?Mks=#{SkU zsMJX|e^RQR-i6t&V;6X^$Xti}dF6L1n5Xr5hzsB=z(sppJlfC(w3bxO?4M|xDH+>) z7ZRUhf3p(YG8)KXjN`%Dg>dyYSg)*si`kM>8A}` z!0o^bQrFbZu70Dk`9*wOO7&r+6>Y1g#(b(N0A%P6PYWjmv5YfdwIcaL@YOYAZ}QT% z#mb?Ty$mK5GqVXr8?gt$d&6BLMJZ_=nzGqEwvnXy5Z6Z4G60K^vJRH3UxbQKHOLsV zvaSGEpGR>`wTYew>Z9K&rms-V>|kTTr6jU};OCkgIp}Q(=I@d&k{TAu7(X>eis|tn z{(zzK&KfhgbDic7ZStVSiDnRD^^T^xPwR-#3#azZjs60~`5hlu6&;Nx(G^}u7^o8*C?y(-3HN<-8@4y7@lNO)yf;L&9UcMAn7iH# z%M=R}o(L=P1NVsriAsf+NK8Fj8kRFnwYr!>S9qd5>T{o4dc<2=grVdJ>N1{VUa&h9 z>cEc`N5_i#woukLHSEZS6>P5v_!ZFjfId0kK#h#72uhBf}AOAVa@7h)nK_kGaR1>XM|OS+%CeOTlnC^|^o;*F zs4+TO4A%U+{rH?bi1W2+Yos?=a%b);{HGTvrssEL3ZxzI z)E_iIH%gc!FNw~H)fEU^k!^W_eheI9w@k#2TjBRg{c;cTm}7S!@mW#p@0h^Ue(J9A zO#7AAo=?{+cg-Hm#`cy@YJR?6+)6NiE2Dmfk!XX)=6+XP%_dAZ({aTvGY$k>NDG$Y zlTEr0P>Z&(hc<%tSf&-{(6$`c)uWbyotMMyoBhWj?yg4sQTRk*p+sv9;rlBui`3m` zUZ+$y_Yve5f5)E%q|;hHB*9fz1EOvy3NMD=kSUU|7ssK0S&<`@$T23ei_qsF9i1bj zi=PcHxDu%@emDa4AXZ#qs|#cX#L|MpYeQ7d0i3b5p)3`+^!fOP@H;ST^Ky<?BG0_-woHQ`wg@>Oux^~wqA!qOkS>8f%2ONeh16DC>US*Iz|E0^*Wq8s^`?- z!^g`am8g@aR=<|Um(c2;8hS)IGlJzr#?tT8h0584%1&~Q*B~2u589b83-~4E>u93E z_J*=&>Y8^oMZOPC}G%lygr2-+6+#KdMC9!+USK4S1@LTc@xy~oIL7) zmi{KzpSNz09yXnVI_a@Q25V;x94Qinc zgw@@z`i`RdWTZiD2rFH`)X*1#;`t}Wh~MLb-l*d9GKzu>BB(uslh1(UB^yPdy5Qj5 zpqFR%_6x#y+@3MGXHwdE2}d?R1iEJ$UdcS0AOeI*f1KfRxcnvx#8J&MpIiV+~Z{&=rCC>y*LgGI5-J3kzRKKD~k8FQgV631jW3 zvKx6{mI?2hsJNk)p9#zF>ArM`^S&uz3asQfZaPo&xc6V6lD0>BuHG3cKot1758@Ie zXKVe)^2QpwwK!`Dwi?Ky0R>WGCdx%}7x=KT?p=N0gu7=F{Yuz^I+F}@u1yt^iYqx$ zSb~3UmQiS(wOK_gVCT%+=N_M46Dj14jA;KEBq+KJh3(wG=De>o>aFC-jXmh2g;FPW zABNV+Sy2{^xp@>+ux4HHc+0z@TD*QF!j)S(jaQ4RtO91;15ZEOG*&`;M!gP~=J@yj z%v2zUwxMM0v8}8N%QGecbA&MX3Nb_K{P@fi zPB(Zhv*5u+2$_&b0iLr{3usspkCEguBgF-dc%x66DnKcsKFgz@4N7wMGK4})B+-~6 z$_5cd7v%z>AwG;`B_ZA%93jnZa6WB9YRGj*25~_u0voM%3k%fG4X0V~WvL+S@(Hln zy(ST~vy7C=tas~)7w~ZqHclQB0#gr~WA!`~yCbyWR(|jaw*f|b9G+DuT&NXHU@3Vz zvlEE8IKb@I(>xyHzrIPR8;0uB<_gWWo-nS{1&(jbx?#5?gvgd%y|kfnjAn`_=kBwn z_;yq;Pu1k#UWA^&J`k~v0idM}#lvk9j*XHl5Faa7++d>-Bd$r;8sLVVy8H!-xeh2x>84CNy;4<#hd8kCPvGNKwSt`}>dxh}@R zc%_v;s%Ke-F{yJkwVl)>NODel-quOQdzd%2g%P(zL>LH?aAG9jTHa4e7S#=GH-VF1 z$z2j0-Ja|?!P135POov~Fzp9_P)8~`8@d}nsypKL49Ii1|C#mmg`YfF_SFslhxEva z^LKu1+di;*|BUjBjeq85EI9Uh=~^{{Y9ZZ|*1mK?6~cWxsBC`FO1&HEYzfw|Y~`!^ z^cCOJ-%#D&y#3S4-4|kQfouDAOv3c{AMk%jL3vM+##Vd~5FexejufQ%pOJ$9A_HqQ zp*>aAuzou*voNqc2~&a=k|u))DZ^4zQ-UuBL8&Y&ChMh0J<38+u{gmQGPJ*Tw#Ih4 zM?zu(Ne7^|uI(0f+}7Np?G4)65w)WJ^xVmrGvksp{zSDGc*}jt`;+Ul+uiGNB?A(N z(LqlT4zHIU9-VEg2kc5~cch_rF=1Wpa^mVGjizPQJqbeBn1WmzKh)-^9eT0f4tT+{ zcO{4Bn1bAMJ;d4u=(J5VY_V+@9O&2|7j1=#wW~z!mK@k)kM5Hp?xnu)X|-#tzD*qZ zV-xiUD~E>bdg9<8tMfH_4o6Bnq}%e{4vO<03?_L>+qX@G&Uk8L&5cJ|oD91(ZqY{5 zJzmS0I@Q4You|=#TVUwYIf0s+x>fJ^1>g9yFf7fiM-I@v6N|@Nd%%O&TXog6C)1hI3;)Le5{JJ}N<|%?pXn*-T|AaGGhn;x;-bH-vy#x6NWRBW5zJ*ncX!nuA zWG3Gnwvs8f?!p5#P>q{T^&%NUbTA&t>X_y^`S%1Bs{u`N?UzafP1V=F7Y z7^7_^%T_=~{*rjs!42~4W@-v`H)|Gd1LdelpI{>oDU&dKy`dD*A#N}m?Uu7B>M6)i zFz7UCbuB5I*mLRpIXS0_z-?>b>r@qwwZ9An-fN3E-Bsy?i)(h&l52JVH(|6>cih@T zX;_cMDL(ZCPeu@8FGFUZ|+YUT$9-8si+YsI@x@S;cGm-_6uTtlx^qr=-W>)B z^&?xobLX)Z&9X?_K$;=4&^YSVbC_sUu%soaVn<=aOGfpKZG|eK$;m@pu#+Jzj)3p_ zgLQ7Kqh(~#RBXWOu}rgprr?4WA+dgQa=f!N0adlNWDIa|CRxh&4o(bxZ~HU^?}-81 zP5(nt=7l6MY>|O`ji;OA=6BD?k{xdT&N ztezd(NBgi;crkGH?5U2kuIlQA7ldI|%B~D?GEe;*;Q*O7)@62%Ie}jF{Lk+Tf*-|G z_hKmumZ#1JB<2*xAFjAl7G)j@Zh@JDtB93SNorhR;`Mx+17USlQ!tMSlZgdZ6Z5j) zdQ1A>T_qU4p?i68`#meWV?!3oKrd!q)|KAuKaY#SWKK7S1@hCQ6LX&C-||Z#iA6!f zuUe8x?3arq9J>gGRx>#}Loz6A+qVfQchOrzkOS&1buE~O%+;Ha12eH`%!#71`xnB! za}lJ>EBo^1`6*D%yz3IzAef~TWsR6UL7>v5Q2SU%OLdZA_UYY%E^P*f0&)v`J}@Ac zn&^7vDkm=Q3l3b?FF1%Pf>OTL6UbHGvNVyrlOmoa&6d6-!8kI0PtlHwEEZT%J`M>d z>-Ie?+=Sb{JrXEEqVhWm6u&kg z=_4nhqnw87RB3i#lkbM}x(l zMDoJV0o8h9^2FlR;Sy&&z~_O|V{AôPuetk^MkDc;^Woj-qZ9*+O+Ip?SBQu$a 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

}h#U?hD5IpJ=?R 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%0D4NxLa7L8&imP#?J}dE%d!KA>qFo()A5e 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 Gf&CxPb_ZPm literal 0 HcmV?d00001 diff --git a/org.tizen.dynamicanalyzer/src/msg/ecs.proto b/org.tizen.dynamicanalyzer/src/msg/ecs.proto new file mode 100644 index 0000000..697acd9 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/msg/ecs.proto @@ -0,0 +1,130 @@ +import "ecs_ids.proto"; + +package ECS; + +option java_package = "org.tizen.dynamicanalyzer.ui.info.snapshot.ecs"; + +// ======= Messages ======= + +message CheckVersionReq { + required string version_str = 1; +} + +message CheckVersionAns { + required int32 errcode = 1; + required string version_str = 2; +} + +message KeepAliveReq { + optional string time_str = 1; +} + +message KeepAliveAns { + optional string time_str = 1; +} + +message InjectorReq { + required string category = 1; + required int32 length = 2; + required int32 group = 3; + required int32 action = 4; + optional bytes data = 5; +} + +message InjectorAns { + required int32 errcode = 1; + optional string errstr = 2; + required string category = 3; +} + +message InjectorNtf { + required string category = 1; + required int32 length = 2; + required int32 group = 3; + required int32 action = 4; + optional bytes data = 5; +} + +message DeviceReq { + required string category = 1; + required int32 length = 2; + required int32 group = 3; + required int32 action = 4; + optional bytes data = 5; +} + +message DeviceAns { + required int32 errcode = 1; + optional string errstr = 2; + required string category = 3; + required int32 length = 4; + required int32 group = 5; + required int32 action = 6; + optional bytes data = 7; +} + +message DeviceNtf { + required string category = 1; + required int32 length = 2; + required int32 group = 3; + required int32 action = 4; + optional bytes data = 5; +} + +message MonitorReq { + required string command = 1; +} + +message MonitorAns { + required int32 errcode = 1; + optional string errmsg = 2; + required string command = 3; + optional bytes data = 4; +} + +message MonitorNtf { + required string command = 1; + optional bytes data = 2; +} + +// ======= Extensions messages ======= + +message NfcReq { + required string category = 1; + optional bytes data = 2; +} + +message NfcNtf { + required string category = 1; + optional bytes data = 2; +} + +// ======= Main master message ======= + +message Master { + required Master_Type type = 1; + + optional CheckVersionReq checkversion_req = 2; + optional CheckVersionAns checkversion_ans = 3; + + optional KeepAliveReq keepalive_req = 4; + optional KeepAliveAns keepalive_ans = 5; + + optional InjectorReq injector_req = 6; + optional InjectorAns injector_ans = 7; + optional InjectorNtf injector_ntf = 8; + + optional DeviceReq device_req = 9; + optional DeviceAns device_ans = 10; + optional DeviceNtf device_ntf = 11; + + optional MonitorReq monitor_req = 12; + optional MonitorAns monitor_ans = 13; + optional MonitorNtf monitor_ntf = 14; + + // Extensions 101 to 150; + optional NfcReq nfc_req = 101; + optional NfcNtf nfc_ntf = 102; +} + + diff --git a/org.tizen.dynamicanalyzer/src/msg/ecs_ids.proto b/org.tizen.dynamicanalyzer/src/msg/ecs_ids.proto new file mode 100644 index 0000000..dc981fb --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/msg/ecs_ids.proto @@ -0,0 +1,22 @@ +package ECS; + +option java_package = "org.tizen.dynamicanalyzer.ui.info.snapshot.ecs"; + +enum Master_Type { + CHECKVERSION_REQ = 2; + CHECKVERSION_ANS = 3; + KEEPALIVE_REQ = 4; + KEEPALIVE_ANS = 5; + INJECTOR_REQ = 6; + INJECTOR_ANS = 7; + INJECTOR_NTF = 8; + DEVICE_REQ = 9; + DEVICE_ANS = 10; + DEVICE_NTF = 11; + MONITOR_REQ = 12; + MONITOR_ANS = 13; + MONITOR_NTF = 14; + + NFC_REQ = 101; + NFC_NTF = 102; +} diff --git a/org.tizen.dynamicanalyzer/src/msg/gen.sh b/org.tizen.dynamicanalyzer/src/msg/gen.sh new file mode 100644 index 0000000..21cbf98 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/msg/gen.sh @@ -0,0 +1,4 @@ +#!/bin/sh + + +protoc -I=. --java_out=../ ecs.proto diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java index 4d14d27..94f4a9b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java @@ -31,6 +31,7 @@ import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; +import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.common.HostResult; import org.tizen.dynamicanalyzer.communicator.BaseCommunicator; import org.tizen.dynamicanalyzer.communicator.Communicator22; @@ -39,6 +40,7 @@ import org.tizen.dynamicanalyzer.project.AppInfo; import org.tizen.dynamicanalyzer.project.PackageInfo; import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; import org.tizen.dynamicanalyzer.swap.communicator.Communicator30; +import org.tizen.dynamicanalyzer.ui.info.snapshot.EmulatorSnapshot; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; import org.tizen.sdblib.IDevice; @@ -59,6 +61,8 @@ public class DeviceInfo { private int remotePort = -1; private Socket controlSock = null; private Socket dataSock = null; + + public EmulatorSnapshot emulatorSnapshot = null; public DeviceInfo(IDevice device) { this.device = device; @@ -182,4 +186,14 @@ public class DeviceInfo { public PackageInfo getSelectedPackage(String pkgId) { return pkgInfoHash.get(pkgId); } + + public boolean isEmulator() { + if (device != null) { + if (device.getSerialNumber() + .contains(CommonConstants.EMULATOR)) { + return true; + } + } + return false; + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java index e9bbf50..27b5b92 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java @@ -76,6 +76,8 @@ import org.tizen.dynamicanalyzer.swap.model.data.LogDataUtils; import org.tizen.dynamicanalyzer.swap.platform.BinarySettingData; import org.tizen.dynamicanalyzer.swap.platform.BinarySettingManager; import org.tizen.dynamicanalyzer.ui.file.FileChartManager; +import org.tizen.dynamicanalyzer.ui.info.snapshot.SocketClient; +import org.tizen.dynamicanalyzer.ui.info.snapshot.EmulatorSnapshot; import org.tizen.dynamicanalyzer.ui.network.NetworkChartManager; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.ui.thread.ThreadChartManager; @@ -93,6 +95,14 @@ public class Communicator30 extends BaseCommunicator { @Override public HostResult init(DeviceInfo devInfo) { + // connect ecs server + if(devInfo.isEmulator()) { + if(!SocketClient.getInstance().connect()) { + System.out.println("[warn] Connect to ecs server is failed"); + } + devInfo.emulatorSnapshot = new EmulatorSnapshot(); + } + // daemon start Process ps = CommunicatorUtils.execCommand(devInfo.getIDevice(), AnalyzerShellCommands.DACOMMAND_RUN_MANAGER); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java index 3da9d82..6f3c07a 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java @@ -44,11 +44,13 @@ import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; import org.tizen.dynamicanalyzer.swap.model.data.ReplayData; import org.tizen.dynamicanalyzer.swap.model.data.ScreenShotData; import org.tizen.dynamicanalyzer.swap.model.data.SystemData; +import org.tizen.dynamicanalyzer.ui.info.snapshot.SocketClient; import org.tizen.dynamicanalyzer.ui.page.BaseView; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; import org.tizen.dynamicanalyzer.utils.ImageUtil; +import org.tizen.dynamicanalyzer.utils.ImageUtilSWT; import org.tizen.sdblib.service.SyncResult; public class SWAPLogParser implements Runnable { @@ -222,11 +224,27 @@ public class SWAPLogParser implements Runnable { pushLog(log, logPack); } else { if (log instanceof ScreenShotData) { - String remoteImgPath = ((ScreenShotData) log) - .getImageFilePath(); + boolean bECS = false; + String remoteImgPath; + if(DACommunicator.isTargetEmulator() + && SocketClient.getInstance().isConnected()) { + DACommunicator.getSelectedDevice().emulatorSnapshot.send(); + remoteImgPath = DACommunicator.getSelectedDevice() + .emulatorSnapshot.getFilePath(); + bECS = true; + } else { + remoteImgPath = ((ScreenShotData) log) + .getImageFilePath(); + } + int rotate = ((ScreenShotData) log).getOrientation(); // TODO : fix - processImage(remoteImgPath, rotate); + if(bECS) { + processImagefromECS(remoteImgPath, rotate); + } else { + processImage(remoteImgPath, rotate); + } + ImageInfo imgInfo = new ImageInfo(); imgInfo.setSeq(Integer.toString(log.getSeq())); imgInfo.setTime(Long.toString(log.getTime())); @@ -308,6 +326,55 @@ public class SWAPLogParser implements Runnable { } + private void processImagefromECS(final String path, final int angle) { + final String fileName = getImageName(path); + + if (angle != 0) { + System.out.println("[ image rotate : " + angle + " ]"); + } + + new Thread(null, new Runnable() { + int count = 0; + + @Override + public void run() { + while (true && count < 5) { + File file = new File(path); + if (file.exists()) { + /* image resizing */ + String smallImagePath = AnalyzerManager.getProject() + .getSavePath() + + File.separator + + AnalyzerConstants.IMAGE_FOLDER_NAME + + File.separator + + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME + + File.separator + fileName; + ImageUtilSWT.transform(path, path, DEFAULT_IMG_WIDTH, + DEFAULT_IMG_HEIGHT, angle); + if (angle == 90 || angle == 270) { + ImageUtilSWT.resize(path, smallImagePath, + SMALL_IMG_HEIGHT, SMALL_IMG_WIDTH); + } else { + ImageUtilSWT.resize(path, smallImagePath, + SMALL_IMG_WIDTH, SMALL_IMG_HEIGHT); + } + + break; + } else { + System.out.println("Failed to get '" + path + "' file"); //$NON-NLS-1$ //$NON-NLS-2$ + try { + Thread.sleep(1000); + count++; + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + } + }, AnalyzerConstants.MESSAGE_INTERNAL_IMAGE_THREAD).start(); + + } + private String getImageName(String fullPath) { String name = null; name = fullPath diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EmulatorSnapshot.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EmulatorSnapshot.java new file mode 100644 index 0000000..47e3ba0 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EmulatorSnapshot.java @@ -0,0 +1,83 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.io.File; + +import org.json.simple.JSONObject; +import org.tizen.dynamicanalyzer.common.AnalyzerConstants; +import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.utils.JsonUtil; + +public class EmulatorSnapshot implements ILsn { + + private final String SNAPSHOT = "Snapshot"; + private int filecount = 0; + + public EmulatorSnapshot() { + EventMgr.getInstance().AddLsnSet(SNAPSHOT); + EventMgr.getInstance().AddLsn(SNAPSHOT, this); + } + + @Override + public void OnEventProc(String eventname, JSONObject jsParam) { + String message = jsParam.get(SocketConstants.MESSAGE_RETURN).toString(); + System.out.println("[info] " + message); + } + + @Override + public void OnEventProcPB(String eventname, + com.google.protobuf.GeneratedMessage param) { + } + + public String getFilePath() { + String filepath, filename; + filename = "snapshot" + filecount; + filepath = AnalyzerManager.getProject().getSavePath() + + File.separator + AnalyzerConstants.IMAGE_FOLDER_NAME + + File.separator + filename; + + return filepath; + } + + private String createSnapshotMsg() { + filecount++; + String msg = JsonUtil.encodeString(JsonUtil.CMD_EXECUTE, + JsonUtil.CMD_SCREENDUMP, JsonUtil.CMD_ARGS, + JsonUtil.encodeObject(JsonUtil.ARG_FILENAME, getFilePath()), + SNAPSHOT); + return msg; + } + + public void send() { + MessageSender.getInstance().sendMonitorReq(createSnapshotMsg()); + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EventMgr.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EventMgr.java new file mode 100644 index 0000000..fa49456 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/EventMgr.java @@ -0,0 +1,104 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.json.simple.JSONObject; + +public class EventMgr { + + private ListenMap> m_lsns = new ListenMap>(); + + private static EventMgr _inst; + + public static EventMgr getInstance() { + if (null == _inst) { + _inst = new EventMgr(); + } + return _inst; + } + + public void AddLsnSet(String name) { + if (m_lsns.Find(name) != null) { + return; + } + ListenSet lsn = new ListenSet(); + m_lsns.add(name, lsn); + } + + public void RemoveLsnSet(String name) { + m_lsns.remove(name); + } + + public void AddLsn(String name, ILsn lsn) { + ListenSet set = m_lsns.Find(name); + if (set == null) + return; + + set.add(lsn); + } + + public void RemoveLsn(String name, ILsn lsn) { + ListenSet set = m_lsns.Find(name); + if (set == null) + return; + + set.remove(lsn); + } + + public void Invoke(String name, JSONObject param) + { + ListenSet set = m_lsns.Find(name); + if (set == null) + return; + + for (int i = 0; i < set.size(); i++) { + ILsn lsn = (ILsn) set.get(i); + if (lsn == null) + continue; + lsn.OnEventProc(name, param); + } + } + + + public void InvokePB(String name, com.google.protobuf.GeneratedMessage param) + { + ListenSet set = m_lsns.Find(name); + if (set == null) + return; + + for (int i = 0; i < set.size(); i++) { + ILsn lsn = (ILsn) set.get(i); + if (lsn == null) + continue; + lsn.OnEventProcPB(name, param); + } + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ILsn.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ILsn.java new file mode 100644 index 0000000..3708eea --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ILsn.java @@ -0,0 +1,39 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.json.simple.JSONObject; + +public interface ILsn { + + void OnEventProc(String eventname, JSONObject jsParam); + void OnEventProcPB(String eventname, com.google.protobuf.GeneratedMessage param); +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMessage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMessage.java new file mode 100644 index 0000000..9e0f8bf --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMessage.java @@ -0,0 +1,39 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.json.simple.JSONObject; + +public interface IMessage { + + void receiveMessage(JSONObject obj); + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMsgProc.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMsgProc.java new file mode 100644 index 0000000..36a7131 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/IMsgProc.java @@ -0,0 +1,40 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; + +public interface IMsgProc { + + //void Proc(JSONObject jsResult, JSONObject jsData); + void Proc(Master msg); + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenMap.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenMap.java new file mode 100644 index 0000000..ad9f615 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenMap.java @@ -0,0 +1,56 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.util.Map; +import java.util.HashMap; + + +public class ListenMap { + + private Map listeners = new HashMap(); + + public void add(String name, T lsn) + { + listeners.put(name, lsn); + } + + public void remove(String name) + { + listeners.remove(name); + } + + public T Find(String name) + { + T t = listeners.get(name); + return t; + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenSet.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenSet.java new file mode 100644 index 0000000..a81fb10 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ListenSet.java @@ -0,0 +1,61 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.util.ArrayList; +import java.util.List; + + +public class ListenSet // implements ILsn +{ + private List listeners = new ArrayList(); + + public void add(T lsn) + { + listeners.add(lsn); + } + + public void remove(T lsn) + { + listeners.remove(lsn); + } + + public int size() + { + return listeners.size(); + } + + public T get(int index) + { + return listeners.get(index); + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageQueue.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageQueue.java new file mode 100644 index 0000000..907ac47 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageQueue.java @@ -0,0 +1,78 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.util.LinkedList; + +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; + +public class MessageQueue { + + private LinkedList m_msgQueue = new LinkedList(); + private static MessageQueue m_inst; + + public static MessageQueue getInstance() { + if (null == m_inst) { + m_inst = new MessageQueue(); + } + return m_inst; + } + + + public void QueueMsg(Master msg) + { + m_msgQueue.add(msg); + this.notifyAll(); + } + + public boolean isEmpty() + { + return m_msgQueue.isEmpty(); + } + + public Master Poll() + { + return m_msgQueue.poll(); + } + + /* + public void Wait() + { + try { + m_msgQueue.wait(); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }*/ + + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageSender.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageSender.java new file mode 100644 index 0000000..c5e2f0b --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MessageSender.java @@ -0,0 +1,99 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.io.IOException; + +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type; + +public class MessageSender { + + private static MessageSender m_inst; + + public static MessageSender getInstance() { + if (null == m_inst) { + m_inst = new MessageSender(); + } + return m_inst; + } + + private boolean sendMaster(Master master) { + int serialize_size = master.getSerializedSize(); + + try { + SocketClient.getInstance().getOutputStream() + .writeInt(serialize_size); + master.writeTo(SocketClient.getInstance().getOutputStream()); + SocketClient.getInstance().getOutputStream().flush(); + } catch (IOException e) { + System.out.println("[warn] " + e.getMessage()); + return false; + } + return true; + } + + public boolean sendMonitorReq(String data) { + + Master.Builder masterBuilder = Master.newBuilder(); + + masterBuilder.setType(Master_Type.MONITOR_REQ); + + MonitorReq.Builder monitorBuilder = MonitorReq.newBuilder(); + + monitorBuilder.setCommand(data); + + masterBuilder.setMonitorReq(monitorBuilder); + + Master master = masterBuilder.build(); + + return sendMaster(master); + } + + public void sendKeepAliveAns() { + Master.Builder masterBuilder = Master.newBuilder(); + + masterBuilder.setType(Master_Type.KEEPALIVE_ANS); + + KeepAliveAns.Builder kaBuilder = KeepAliveAns.newBuilder(); + + kaBuilder.setTimeStr("self"); + + masterBuilder.setKeepaliveAns(kaBuilder); + + Master master = masterBuilder.build(); + + sendMaster(master); + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgMgr.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgMgr.java new file mode 100644 index 0000000..ca76cd1 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgMgr.java @@ -0,0 +1,132 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.util.HashMap; +import java.util.Map; + +import org.json.simple.JSONObject; +import org.tizen.dynamicanalyzer.utils.JsonUtil; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type; + +public class MsgMgr { + + private Map _msg_map = new HashMap(); + + private String contents = null; + + MsgMgr() { + AddMsgProc(Master_Type.MONITOR_NTF, new MsgProc_MonitorNtf()); + AddMsgProc(Master_Type.KEEPALIVE_REQ, new MsgProc_KeepAliveReq()); + } + + private static MsgMgr _inst; + + public static MsgMgr getInstance() { + if (null == _inst) { + _inst = new MsgMgr(); + } + return _inst; + } + + public void AddMsgProc(Master_Type type, IMsgProc proc) { + _msg_map.put(type, proc); + } + + public IMsgProc FindMsgProc(Master_Type type) { + IMsgProc proc = _msg_map.get(type); + if (proc == null) + return null; + return proc; + } + + void ProcBufMsg(Master msg) { + Master_Type subtype = msg.getType(); + + IMsgProc proc = FindMsgProc(subtype); + + if (proc == null) { + System.out.println("[info] invalid message type - " + subtype.toString()); + return; + } + + if (msg.getType() == Master_Type.MONITOR_NTF) { + String message = msg.getMonitorNtf().getCommand(); + if (contents == null) { + contents = new String(message); + } else { + contents = contents.substring(0, contents.length() - 7); + contents += message; + } + + if (!messageComplete(contents)) { + return; + } else { + int lastBrace = contents.lastIndexOf("}"); + contents = contents.substring(0, lastBrace + 1); + JSONObject obj = JsonUtil.decodeObject(contents); + if (obj == null) { + return; + } + + EventMgr.getInstance().Invoke( + (String) obj.get(SocketConstants.MESSAGE_TYPE), obj); + contents = null; + } + } else { + proc.Proc(msg); + } + + } + + private boolean messageComplete(String msg) { + int braceCount = 0; + char value; + + for (int i = 0; i < msg.length(); i++) { + value = msg.charAt(i); + if (value == 123) { // { (123), } (125) + braceCount++; + } else if (value == 125) { + if (braceCount > 0) { + braceCount--; + } + } + } + + if (braceCount == 0) { + return true; + } + + return false; + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_KeepAliveReq.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_KeepAliveReq.java new file mode 100644 index 0000000..9bd0085 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_KeepAliveReq.java @@ -0,0 +1,46 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; + +public class MsgProc_KeepAliveReq implements IMsgProc { + + @Override + public void Proc(Master msg) { + + if (!msg.hasKeepaliveReq()) + return; + + MessageSender.getInstance().sendKeepAliveAns(); + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_MonitorNtf.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_MonitorNtf.java new file mode 100644 index 0000000..9dd13cf --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/MsgProc_MonitorNtf.java @@ -0,0 +1,52 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf; + +public class MsgProc_MonitorNtf implements IMsgProc { + + @Override + public void Proc(Master msg) { + + if (!msg.hasMonitorNtf()) + return; + + MonitorNtf ntf = msg.getMonitorNtf(); + + String cat = ntf.getCommand(); + + EventMgr.getInstance().InvokePB(cat, ntf); + + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketClient.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketClient.java new file mode 100644 index 0000000..9fcf899 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketClient.java @@ -0,0 +1,203 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.io.BufferedReader; +import java.io.Closeable; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.Socket; +import java.net.SocketException; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +public class SocketClient { + + private static SocketClient client; + + private Socket socket; + private String ip = SocketConstants.DefaultIp; + private int port = SocketConstants.DefaultPort; + + // private BufferedOutputStream output; + private DataOutputStream output; + private DataInputStream input; + + public DataOutputStream getOutputStream() { + return output; + } + + public DataInputStream getInputStream() { + return input; + } + + private LinkedList receiveQueue = new LinkedList(); + private List listeners = new ArrayList(); + + private boolean running = false; + + public static SocketClient getInstance() { + if (null == client) { + client = new SocketClient(); + } + return client; + } + + public boolean connect() { + return connect(port); + } + + public boolean connect(int port) { + + try { + socket = new Socket(ip, port); + System.out.println("[info] socket created." + "ip: " + ip + ", port: " + port); + + socket.setReuseAddress(true); + + output = new DataOutputStream(socket.getOutputStream()); + input = new DataInputStream(socket.getInputStream()); + + running = true; + + new Thread(null, new SocketReceive(), + SocketConstants.SOCKET_RECEIVE_THREAD).start(); + + new Thread(null, new SocketMessage(), + SocketConstants.SOCKET_MESSAGE_THREAD).start(); + + } catch (SocketException e) { + System.out.println("[warn] " + e.getMessage()); + return false; + } catch (IOException e) { + System.out.println("[warn] " + e.getMessage()); + return false; + } + + return true; + } + + public boolean tryClose(final Object... closeables) { + if (null == closeables) { + return false; + } + + for (Object obj : closeables) { + if (null == obj) { + continue; + } + try { + if (obj instanceof Closeable) { + ((Closeable) obj).close(); + } else if (obj instanceof BufferedReader) { + ((BufferedReader) obj).close(); + } else if (obj instanceof Socket) { + ((Socket) obj).close(); + } + } catch (final IOException e) { + System.out.println("[warn] " + e.getMessage()); + return false; + } + } + + return true; + } + + public boolean disconnect() { + boolean result = false; + running = false; + + if (null != receiveQueue) { + synchronized (receiveQueue) { + receiveQueue.notifyAll(); + } + } + + result = tryClose(socket); + + return result; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public boolean isConnected() { + if (null == socket) { + return false; + } + return socket.isConnected(); + } + + public Socket getSocket() { + return socket; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public InputStream getSockInputStream() throws IOException { + return socket.getInputStream(); + } + + public boolean isRunning() { + return running; + } + + public void setRunning(boolean run) { + running = run; + } + + public LinkedList getReceiveQueue() { + return receiveQueue; + } + + public void addListener(IMessage iMessage) { + listeners.add(iMessage); + } + + public List getListener() { + return listeners; + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketConstants.java new file mode 100644 index 0000000..bf7d194 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketConstants.java @@ -0,0 +1,57 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +public class SocketConstants { + public static String DefaultIp = "localhost"; + public static int DefaultPort = 27000; + + public final static int MAX_BUFFER = 4096; + + public final static int MAX_SEND_QUEUE_SIZE = 100000; + public final static int MAX_RECEIVE_QUEUE_SIZE = 100000; + + public final static String MESSAGE_TYPE = "type"; + public final static String MESSAGE_SELF = "self"; + public final static String MESSAGE_DATA = "data"; + public final static String MESSAGE_HEADER = "header"; + public final static String MESSAGE_ACTION = "action"; + public final static String MESSAGE_GROUP = "group"; + public final static String MESSAGE_RETURN = "return"; + public final static String MESSAGE_IJDATA = "ijdata"; + + public final static String SOCKET_RECEIVE_THREAD = "Socket Receive Thread"; + public final static String SOCKET_MESSAGE_THREAD = "Socket Message Thread"; + + public static String RECEIVE_SHARPS = "##"; + public static String RECEIVE_OPEN_BRACE = "{"; + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketMessage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketMessage.java new file mode 100644 index 0000000..9cff781 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketMessage.java @@ -0,0 +1,86 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import org.eclipse.swt.widgets.Display; +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; + +public class SocketMessage implements Runnable { + +// private List list = new ArrayList(); + + @Override + public void run() { + SocketClient client = SocketClient.getInstance(); + MessageQueue msgQueue = MessageQueue.getInstance(); + + + while (true) { + synchronized (msgQueue) { + if (msgQueue.isEmpty()) { + try { + msgQueue.wait(); + } catch (InterruptedException e) { + System.out.println("[severe] " + e.getMessage()); + } + } + while (true) + { + Master msg = msgQueue.Poll(); + if (msg != null) + { + processMsg(msg); + } + else + { + break; + } + } + + if (!client.isRunning()) { + break; + } + } + } + } + + + private void processMsg(final Master msg) { + + Display.getDefault().asyncExec(new Runnable() { + @Override + public void run() { + System.out.println("[info] processMsg"); + MsgMgr.getInstance().ProcBufMsg(msg); + } + }); + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketReceive.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketReceive.java new file mode 100644 index 0000000..04f9c9a --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SocketReceive.java @@ -0,0 +1,98 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.ui.info.snapshot; + +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.ByteBuffer; + +import org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master; + +import com.google.protobuf.CodedInputStream; + +public class SocketReceive implements Runnable { + @Override + public void run() { + SocketClient client = SocketClient.getInstance(); + System.out.println("[info] Socket Receive runs."); + + DataInputStream in = client.getInputStream(); + int size = 0; + try { + while ((size = in.readInt()) > 0) { + if (client.getSocket().isClosed() || !client.isRunning()) { + System.out.println("closed || not running."); + break; + } + + read_data(size, in); + + } + } catch (final EOFException e) { + client.disconnect(); + } catch (IOException e) { + client.disconnect(); + } + } + + private void read_data(int size, DataInputStream in) throws IOException { + CodedInputStream codedIn = null; + int available = in.available(); + + if (size <= available) { // case: protobuf message + byte[] buff = new byte[size]; + int read = in.read(buff); + if (read > size) { + return; + } + codedIn = CodedInputStream.newInstance(buff); + } else { // case: string message + BufferedReader reader = new BufferedReader( + new InputStreamReader(in)); + byte[] bSize = ByteBuffer.allocate(4).putInt(size).array(); + String message = new String(bSize, 0, 4) + reader.readLine(); + System.out.println("message len: " + message.length() + + ", message:" + message); + // TODO: handle string message + } + + if (codedIn != null) { + Master msg = Master.parseFrom(codedIn); + synchronized (MessageQueue.getInstance()) { + MessageQueue.getInstance().QueueMsg(msg); + } + } + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/Ecs.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/Ecs.java new file mode 100644 index 0000000..77ad643 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/Ecs.java @@ -0,0 +1,13848 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ecs.proto + +package org.tizen.dynamicanalyzer.ui.info.snapshot.ecs; + +public final class Ecs { + private Ecs() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface CheckVersionReqOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string version_str = 1; + /** + * required string version_str = 1; + */ + boolean hasVersionStr(); + /** + * required string version_str = 1; + */ + java.lang.String getVersionStr(); + /** + * required string version_str = 1; + */ + com.google.protobuf.ByteString + getVersionStrBytes(); + } + /** + * Protobuf type {@code ECS.CheckVersionReq} + */ + public static final class CheckVersionReq extends + com.google.protobuf.GeneratedMessage + implements CheckVersionReqOrBuilder { + // Use CheckVersionReq.newBuilder() to construct. + private CheckVersionReq(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private CheckVersionReq(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final CheckVersionReq defaultInstance; + public static CheckVersionReq getDefaultInstance() { + return defaultInstance; + } + + public CheckVersionReq getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CheckVersionReq( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + versionStr_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public CheckVersionReq parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CheckVersionReq(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string version_str = 1; + public static final int VERSION_STR_FIELD_NUMBER = 1; + private java.lang.Object versionStr_; + /** + * required string version_str = 1; + */ + public boolean hasVersionStr() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string version_str = 1; + */ + public java.lang.String getVersionStr() { + java.lang.Object ref = versionStr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + versionStr_ = s; + } + return s; + } + } + /** + * required string version_str = 1; + */ + public com.google.protobuf.ByteString + getVersionStrBytes() { + java.lang.Object ref = versionStr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + versionStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + versionStr_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasVersionStr()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getVersionStrBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getVersionStrBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.CheckVersionReq} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + versionStr_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionReq_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.versionStr_ = versionStr_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance()) return this; + if (other.hasVersionStr()) { + bitField0_ |= 0x00000001; + versionStr_ = other.versionStr_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasVersionStr()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string version_str = 1; + private java.lang.Object versionStr_ = ""; + /** + * required string version_str = 1; + */ + public boolean hasVersionStr() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string version_str = 1; + */ + public java.lang.String getVersionStr() { + java.lang.Object ref = versionStr_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + versionStr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string version_str = 1; + */ + public com.google.protobuf.ByteString + getVersionStrBytes() { + java.lang.Object ref = versionStr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + versionStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string version_str = 1; + */ + public Builder setVersionStr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + versionStr_ = value; + onChanged(); + return this; + } + /** + * required string version_str = 1; + */ + public Builder clearVersionStr() { + bitField0_ = (bitField0_ & ~0x00000001); + versionStr_ = getDefaultInstance().getVersionStr(); + onChanged(); + return this; + } + /** + * required string version_str = 1; + */ + public Builder setVersionStrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + versionStr_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.CheckVersionReq) + } + + static { + defaultInstance = new CheckVersionReq(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.CheckVersionReq) + } + + public interface CheckVersionAnsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required int32 errcode = 1; + /** + * required int32 errcode = 1; + */ + boolean hasErrcode(); + /** + * required int32 errcode = 1; + */ + int getErrcode(); + + // required string version_str = 2; + /** + * required string version_str = 2; + */ + boolean hasVersionStr(); + /** + * required string version_str = 2; + */ + java.lang.String getVersionStr(); + /** + * required string version_str = 2; + */ + com.google.protobuf.ByteString + getVersionStrBytes(); + } + /** + * Protobuf type {@code ECS.CheckVersionAns} + */ + public static final class CheckVersionAns extends + com.google.protobuf.GeneratedMessage + implements CheckVersionAnsOrBuilder { + // Use CheckVersionAns.newBuilder() to construct. + private CheckVersionAns(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private CheckVersionAns(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final CheckVersionAns defaultInstance; + public static CheckVersionAns getDefaultInstance() { + return defaultInstance; + } + + public CheckVersionAns getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CheckVersionAns( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + errcode_ = input.readInt32(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + versionStr_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public CheckVersionAns parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CheckVersionAns(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required int32 errcode = 1; + public static final int ERRCODE_FIELD_NUMBER = 1; + private int errcode_; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + + // required string version_str = 2; + public static final int VERSION_STR_FIELD_NUMBER = 2; + private java.lang.Object versionStr_; + /** + * required string version_str = 2; + */ + public boolean hasVersionStr() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string version_str = 2; + */ + public java.lang.String getVersionStr() { + java.lang.Object ref = versionStr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + versionStr_ = s; + } + return s; + } + } + /** + * required string version_str = 2; + */ + public com.google.protobuf.ByteString + getVersionStrBytes() { + java.lang.Object ref = versionStr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + versionStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + errcode_ = 0; + versionStr_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasErrcode()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasVersionStr()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getVersionStrBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getVersionStrBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.CheckVersionAns} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + errcode_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + versionStr_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_CheckVersionAns_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.errcode_ = errcode_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.versionStr_ = versionStr_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance()) return this; + if (other.hasErrcode()) { + setErrcode(other.getErrcode()); + } + if (other.hasVersionStr()) { + bitField0_ |= 0x00000002; + versionStr_ = other.versionStr_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasErrcode()) { + + return false; + } + if (!hasVersionStr()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required int32 errcode = 1; + private int errcode_ ; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + /** + * required int32 errcode = 1; + */ + public Builder setErrcode(int value) { + bitField0_ |= 0x00000001; + errcode_ = value; + onChanged(); + return this; + } + /** + * required int32 errcode = 1; + */ + public Builder clearErrcode() { + bitField0_ = (bitField0_ & ~0x00000001); + errcode_ = 0; + onChanged(); + return this; + } + + // required string version_str = 2; + private java.lang.Object versionStr_ = ""; + /** + * required string version_str = 2; + */ + public boolean hasVersionStr() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required string version_str = 2; + */ + public java.lang.String getVersionStr() { + java.lang.Object ref = versionStr_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + versionStr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string version_str = 2; + */ + public com.google.protobuf.ByteString + getVersionStrBytes() { + java.lang.Object ref = versionStr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + versionStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string version_str = 2; + */ + public Builder setVersionStr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + versionStr_ = value; + onChanged(); + return this; + } + /** + * required string version_str = 2; + */ + public Builder clearVersionStr() { + bitField0_ = (bitField0_ & ~0x00000002); + versionStr_ = getDefaultInstance().getVersionStr(); + onChanged(); + return this; + } + /** + * required string version_str = 2; + */ + public Builder setVersionStrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + versionStr_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.CheckVersionAns) + } + + static { + defaultInstance = new CheckVersionAns(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.CheckVersionAns) + } + + public interface KeepAliveReqOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string time_str = 1; + /** + * optional string time_str = 1; + */ + boolean hasTimeStr(); + /** + * optional string time_str = 1; + */ + java.lang.String getTimeStr(); + /** + * optional string time_str = 1; + */ + com.google.protobuf.ByteString + getTimeStrBytes(); + } + /** + * Protobuf type {@code ECS.KeepAliveReq} + */ + public static final class KeepAliveReq extends + com.google.protobuf.GeneratedMessage + implements KeepAliveReqOrBuilder { + // Use KeepAliveReq.newBuilder() to construct. + private KeepAliveReq(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private KeepAliveReq(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final KeepAliveReq defaultInstance; + public static KeepAliveReq getDefaultInstance() { + return defaultInstance; + } + + public KeepAliveReq getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KeepAliveReq( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + timeStr_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public KeepAliveReq parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KeepAliveReq(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional string time_str = 1; + public static final int TIME_STR_FIELD_NUMBER = 1; + private java.lang.Object timeStr_; + /** + * optional string time_str = 1; + */ + public boolean hasTimeStr() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string time_str = 1; + */ + public java.lang.String getTimeStr() { + java.lang.Object ref = timeStr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + timeStr_ = s; + } + return s; + } + } + /** + * optional string time_str = 1; + */ + public com.google.protobuf.ByteString + getTimeStrBytes() { + java.lang.Object ref = timeStr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + timeStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + timeStr_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getTimeStrBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getTimeStrBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.KeepAliveReq} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + timeStr_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveReq_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.timeStr_ = timeStr_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance()) return this; + if (other.hasTimeStr()) { + bitField0_ |= 0x00000001; + timeStr_ = other.timeStr_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional string time_str = 1; + private java.lang.Object timeStr_ = ""; + /** + * optional string time_str = 1; + */ + public boolean hasTimeStr() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string time_str = 1; + */ + public java.lang.String getTimeStr() { + java.lang.Object ref = timeStr_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + timeStr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string time_str = 1; + */ + public com.google.protobuf.ByteString + getTimeStrBytes() { + java.lang.Object ref = timeStr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + timeStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string time_str = 1; + */ + public Builder setTimeStr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + timeStr_ = value; + onChanged(); + return this; + } + /** + * optional string time_str = 1; + */ + public Builder clearTimeStr() { + bitField0_ = (bitField0_ & ~0x00000001); + timeStr_ = getDefaultInstance().getTimeStr(); + onChanged(); + return this; + } + /** + * optional string time_str = 1; + */ + public Builder setTimeStrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + timeStr_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.KeepAliveReq) + } + + static { + defaultInstance = new KeepAliveReq(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.KeepAliveReq) + } + + public interface KeepAliveAnsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string time_str = 1; + /** + * optional string time_str = 1; + */ + boolean hasTimeStr(); + /** + * optional string time_str = 1; + */ + java.lang.String getTimeStr(); + /** + * optional string time_str = 1; + */ + com.google.protobuf.ByteString + getTimeStrBytes(); + } + /** + * Protobuf type {@code ECS.KeepAliveAns} + */ + public static final class KeepAliveAns extends + com.google.protobuf.GeneratedMessage + implements KeepAliveAnsOrBuilder { + // Use KeepAliveAns.newBuilder() to construct. + private KeepAliveAns(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private KeepAliveAns(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final KeepAliveAns defaultInstance; + public static KeepAliveAns getDefaultInstance() { + return defaultInstance; + } + + public KeepAliveAns getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private KeepAliveAns( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + timeStr_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public KeepAliveAns parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new KeepAliveAns(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional string time_str = 1; + public static final int TIME_STR_FIELD_NUMBER = 1; + private java.lang.Object timeStr_; + /** + * optional string time_str = 1; + */ + public boolean hasTimeStr() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string time_str = 1; + */ + public java.lang.String getTimeStr() { + java.lang.Object ref = timeStr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + timeStr_ = s; + } + return s; + } + } + /** + * optional string time_str = 1; + */ + public com.google.protobuf.ByteString + getTimeStrBytes() { + java.lang.Object ref = timeStr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + timeStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + timeStr_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getTimeStrBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getTimeStrBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.KeepAliveAns} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + timeStr_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_KeepAliveAns_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.timeStr_ = timeStr_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance()) return this; + if (other.hasTimeStr()) { + bitField0_ |= 0x00000001; + timeStr_ = other.timeStr_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional string time_str = 1; + private java.lang.Object timeStr_ = ""; + /** + * optional string time_str = 1; + */ + public boolean hasTimeStr() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string time_str = 1; + */ + public java.lang.String getTimeStr() { + java.lang.Object ref = timeStr_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + timeStr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string time_str = 1; + */ + public com.google.protobuf.ByteString + getTimeStrBytes() { + java.lang.Object ref = timeStr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + timeStr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string time_str = 1; + */ + public Builder setTimeStr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + timeStr_ = value; + onChanged(); + return this; + } + /** + * optional string time_str = 1; + */ + public Builder clearTimeStr() { + bitField0_ = (bitField0_ & ~0x00000001); + timeStr_ = getDefaultInstance().getTimeStr(); + onChanged(); + return this; + } + /** + * optional string time_str = 1; + */ + public Builder setTimeStrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + timeStr_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.KeepAliveAns) + } + + static { + defaultInstance = new KeepAliveAns(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.KeepAliveAns) + } + + public interface InjectorReqOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string category = 1; + /** + * required string category = 1; + */ + boolean hasCategory(); + /** + * required string category = 1; + */ + java.lang.String getCategory(); + /** + * required string category = 1; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // required int32 length = 2; + /** + * required int32 length = 2; + */ + boolean hasLength(); + /** + * required int32 length = 2; + */ + int getLength(); + + // required int32 group = 3; + /** + * required int32 group = 3; + */ + boolean hasGroup(); + /** + * required int32 group = 3; + */ + int getGroup(); + + // required int32 action = 4; + /** + * required int32 action = 4; + */ + boolean hasAction(); + /** + * required int32 action = 4; + */ + int getAction(); + + // optional bytes data = 5; + /** + * optional bytes data = 5; + */ + boolean hasData(); + /** + * optional bytes data = 5; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.InjectorReq} + */ + public static final class InjectorReq extends + com.google.protobuf.GeneratedMessage + implements InjectorReqOrBuilder { + // Use InjectorReq.newBuilder() to construct. + private InjectorReq(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private InjectorReq(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final InjectorReq defaultInstance; + public static InjectorReq getDefaultInstance() { + return defaultInstance; + } + + public InjectorReq getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InjectorReq( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + category_ = input.readBytes(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + length_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + group_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + action_ = input.readInt32(); + break; + } + case 42: { + bitField0_ |= 0x00000010; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public InjectorReq parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InjectorReq(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string category = 1; + public static final int CATEGORY_FIELD_NUMBER = 1; + private java.lang.Object category_; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required int32 length = 2; + public static final int LENGTH_FIELD_NUMBER = 2; + private int length_; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + + // required int32 group = 3; + public static final int GROUP_FIELD_NUMBER = 3; + private int group_; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + + // required int32 action = 4; + public static final int ACTION_FIELD_NUMBER = 4; + private int action_; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + + // optional bytes data = 5; + public static final int DATA_FIELD_NUMBER = 5; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + category_ = ""; + length_ = 0; + group_ = 0; + action_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLength()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasGroup()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasAction()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt32(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBytes(5, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(5, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.InjectorReq} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + group_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + action_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorReq_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.length_ = length_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.group_ = group_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.action_ = action_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance()) return this; + if (other.hasCategory()) { + bitField0_ |= 0x00000001; + category_ = other.category_; + onChanged(); + } + if (other.hasLength()) { + setLength(other.getLength()); + } + if (other.hasGroup()) { + setGroup(other.getGroup()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCategory()) { + + return false; + } + if (!hasLength()) { + + return false; + } + if (!hasGroup()) { + + return false; + } + if (!hasAction()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string category = 1; + private java.lang.Object category_ = ""; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 1; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000001); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + + // required int32 length = 2; + private int length_ ; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + /** + * required int32 length = 2; + */ + public Builder setLength(int value) { + bitField0_ |= 0x00000002; + length_ = value; + onChanged(); + return this; + } + /** + * required int32 length = 2; + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000002); + length_ = 0; + onChanged(); + return this; + } + + // required int32 group = 3; + private int group_ ; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + /** + * required int32 group = 3; + */ + public Builder setGroup(int value) { + bitField0_ |= 0x00000004; + group_ = value; + onChanged(); + return this; + } + /** + * required int32 group = 3; + */ + public Builder clearGroup() { + bitField0_ = (bitField0_ & ~0x00000004); + group_ = 0; + onChanged(); + return this; + } + + // required int32 action = 4; + private int action_ ; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + /** + * required int32 action = 4; + */ + public Builder setAction(int value) { + bitField0_ |= 0x00000008; + action_ = value; + onChanged(); + return this; + } + /** + * required int32 action = 4; + */ + public Builder clearAction() { + bitField0_ = (bitField0_ & ~0x00000008); + action_ = 0; + onChanged(); + return this; + } + + // optional bytes data = 5; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 5; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 5; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000010); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.InjectorReq) + } + + static { + defaultInstance = new InjectorReq(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.InjectorReq) + } + + public interface InjectorAnsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required int32 errcode = 1; + /** + * required int32 errcode = 1; + */ + boolean hasErrcode(); + /** + * required int32 errcode = 1; + */ + int getErrcode(); + + // optional string errstr = 2; + /** + * optional string errstr = 2; + */ + boolean hasErrstr(); + /** + * optional string errstr = 2; + */ + java.lang.String getErrstr(); + /** + * optional string errstr = 2; + */ + com.google.protobuf.ByteString + getErrstrBytes(); + + // required string category = 3; + /** + * required string category = 3; + */ + boolean hasCategory(); + /** + * required string category = 3; + */ + java.lang.String getCategory(); + /** + * required string category = 3; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + } + /** + * Protobuf type {@code ECS.InjectorAns} + */ + public static final class InjectorAns extends + com.google.protobuf.GeneratedMessage + implements InjectorAnsOrBuilder { + // Use InjectorAns.newBuilder() to construct. + private InjectorAns(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private InjectorAns(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final InjectorAns defaultInstance; + public static InjectorAns getDefaultInstance() { + return defaultInstance; + } + + public InjectorAns getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InjectorAns( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + errcode_ = input.readInt32(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + errstr_ = input.readBytes(); + break; + } + case 26: { + bitField0_ |= 0x00000004; + category_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public InjectorAns parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InjectorAns(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required int32 errcode = 1; + public static final int ERRCODE_FIELD_NUMBER = 1; + private int errcode_; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + + // optional string errstr = 2; + public static final int ERRSTR_FIELD_NUMBER = 2; + private java.lang.Object errstr_; + /** + * optional string errstr = 2; + */ + public boolean hasErrstr() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string errstr = 2; + */ + public java.lang.String getErrstr() { + java.lang.Object ref = errstr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + errstr_ = s; + } + return s; + } + } + /** + * optional string errstr = 2; + */ + public com.google.protobuf.ByteString + getErrstrBytes() { + java.lang.Object ref = errstr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + errstr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required string category = 3; + public static final int CATEGORY_FIELD_NUMBER = 3; + private java.lang.Object category_; + /** + * required string category = 3; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required string category = 3; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 3; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + errcode_ = 0; + errstr_ = ""; + category_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasErrcode()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getErrstrBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, getCategoryBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getErrstrBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, getCategoryBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.InjectorAns} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + errcode_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + errstr_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorAns_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.errcode_ = errcode_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.errstr_ = errstr_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.category_ = category_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance()) return this; + if (other.hasErrcode()) { + setErrcode(other.getErrcode()); + } + if (other.hasErrstr()) { + bitField0_ |= 0x00000002; + errstr_ = other.errstr_; + onChanged(); + } + if (other.hasCategory()) { + bitField0_ |= 0x00000004; + category_ = other.category_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasErrcode()) { + + return false; + } + if (!hasCategory()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required int32 errcode = 1; + private int errcode_ ; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + /** + * required int32 errcode = 1; + */ + public Builder setErrcode(int value) { + bitField0_ |= 0x00000001; + errcode_ = value; + onChanged(); + return this; + } + /** + * required int32 errcode = 1; + */ + public Builder clearErrcode() { + bitField0_ = (bitField0_ & ~0x00000001); + errcode_ = 0; + onChanged(); + return this; + } + + // optional string errstr = 2; + private java.lang.Object errstr_ = ""; + /** + * optional string errstr = 2; + */ + public boolean hasErrstr() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string errstr = 2; + */ + public java.lang.String getErrstr() { + java.lang.Object ref = errstr_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + errstr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string errstr = 2; + */ + public com.google.protobuf.ByteString + getErrstrBytes() { + java.lang.Object ref = errstr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + errstr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string errstr = 2; + */ + public Builder setErrstr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + errstr_ = value; + onChanged(); + return this; + } + /** + * optional string errstr = 2; + */ + public Builder clearErrstr() { + bitField0_ = (bitField0_ & ~0x00000002); + errstr_ = getDefaultInstance().getErrstr(); + onChanged(); + return this; + } + /** + * optional string errstr = 2; + */ + public Builder setErrstrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + errstr_ = value; + onChanged(); + return this; + } + + // required string category = 3; + private java.lang.Object category_ = ""; + /** + * required string category = 3; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required string category = 3; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 3; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 3; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 3; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000004); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 3; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + category_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.InjectorAns) + } + + static { + defaultInstance = new InjectorAns(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.InjectorAns) + } + + public interface InjectorNtfOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string category = 1; + /** + * required string category = 1; + */ + boolean hasCategory(); + /** + * required string category = 1; + */ + java.lang.String getCategory(); + /** + * required string category = 1; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // required int32 length = 2; + /** + * required int32 length = 2; + */ + boolean hasLength(); + /** + * required int32 length = 2; + */ + int getLength(); + + // required int32 group = 3; + /** + * required int32 group = 3; + */ + boolean hasGroup(); + /** + * required int32 group = 3; + */ + int getGroup(); + + // required int32 action = 4; + /** + * required int32 action = 4; + */ + boolean hasAction(); + /** + * required int32 action = 4; + */ + int getAction(); + + // optional bytes data = 5; + /** + * optional bytes data = 5; + */ + boolean hasData(); + /** + * optional bytes data = 5; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.InjectorNtf} + */ + public static final class InjectorNtf extends + com.google.protobuf.GeneratedMessage + implements InjectorNtfOrBuilder { + // Use InjectorNtf.newBuilder() to construct. + private InjectorNtf(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private InjectorNtf(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final InjectorNtf defaultInstance; + public static InjectorNtf getDefaultInstance() { + return defaultInstance; + } + + public InjectorNtf getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InjectorNtf( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + category_ = input.readBytes(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + length_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + group_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + action_ = input.readInt32(); + break; + } + case 42: { + bitField0_ |= 0x00000010; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public InjectorNtf parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InjectorNtf(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string category = 1; + public static final int CATEGORY_FIELD_NUMBER = 1; + private java.lang.Object category_; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required int32 length = 2; + public static final int LENGTH_FIELD_NUMBER = 2; + private int length_; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + + // required int32 group = 3; + public static final int GROUP_FIELD_NUMBER = 3; + private int group_; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + + // required int32 action = 4; + public static final int ACTION_FIELD_NUMBER = 4; + private int action_; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + + // optional bytes data = 5; + public static final int DATA_FIELD_NUMBER = 5; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + category_ = ""; + length_ = 0; + group_ = 0; + action_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLength()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasGroup()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasAction()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt32(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBytes(5, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(5, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.InjectorNtf} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + group_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + action_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_InjectorNtf_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.length_ = length_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.group_ = group_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.action_ = action_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance()) return this; + if (other.hasCategory()) { + bitField0_ |= 0x00000001; + category_ = other.category_; + onChanged(); + } + if (other.hasLength()) { + setLength(other.getLength()); + } + if (other.hasGroup()) { + setGroup(other.getGroup()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCategory()) { + + return false; + } + if (!hasLength()) { + + return false; + } + if (!hasGroup()) { + + return false; + } + if (!hasAction()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string category = 1; + private java.lang.Object category_ = ""; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 1; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000001); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + + // required int32 length = 2; + private int length_ ; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + /** + * required int32 length = 2; + */ + public Builder setLength(int value) { + bitField0_ |= 0x00000002; + length_ = value; + onChanged(); + return this; + } + /** + * required int32 length = 2; + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000002); + length_ = 0; + onChanged(); + return this; + } + + // required int32 group = 3; + private int group_ ; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + /** + * required int32 group = 3; + */ + public Builder setGroup(int value) { + bitField0_ |= 0x00000004; + group_ = value; + onChanged(); + return this; + } + /** + * required int32 group = 3; + */ + public Builder clearGroup() { + bitField0_ = (bitField0_ & ~0x00000004); + group_ = 0; + onChanged(); + return this; + } + + // required int32 action = 4; + private int action_ ; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + /** + * required int32 action = 4; + */ + public Builder setAction(int value) { + bitField0_ |= 0x00000008; + action_ = value; + onChanged(); + return this; + } + /** + * required int32 action = 4; + */ + public Builder clearAction() { + bitField0_ = (bitField0_ & ~0x00000008); + action_ = 0; + onChanged(); + return this; + } + + // optional bytes data = 5; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 5; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 5; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000010); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.InjectorNtf) + } + + static { + defaultInstance = new InjectorNtf(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.InjectorNtf) + } + + public interface DeviceReqOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string category = 1; + /** + * required string category = 1; + */ + boolean hasCategory(); + /** + * required string category = 1; + */ + java.lang.String getCategory(); + /** + * required string category = 1; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // required int32 length = 2; + /** + * required int32 length = 2; + */ + boolean hasLength(); + /** + * required int32 length = 2; + */ + int getLength(); + + // required int32 group = 3; + /** + * required int32 group = 3; + */ + boolean hasGroup(); + /** + * required int32 group = 3; + */ + int getGroup(); + + // required int32 action = 4; + /** + * required int32 action = 4; + */ + boolean hasAction(); + /** + * required int32 action = 4; + */ + int getAction(); + + // optional bytes data = 5; + /** + * optional bytes data = 5; + */ + boolean hasData(); + /** + * optional bytes data = 5; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.DeviceReq} + */ + public static final class DeviceReq extends + com.google.protobuf.GeneratedMessage + implements DeviceReqOrBuilder { + // Use DeviceReq.newBuilder() to construct. + private DeviceReq(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DeviceReq(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DeviceReq defaultInstance; + public static DeviceReq getDefaultInstance() { + return defaultInstance; + } + + public DeviceReq getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DeviceReq( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + category_ = input.readBytes(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + length_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + group_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + action_ = input.readInt32(); + break; + } + case 42: { + bitField0_ |= 0x00000010; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DeviceReq parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DeviceReq(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string category = 1; + public static final int CATEGORY_FIELD_NUMBER = 1; + private java.lang.Object category_; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required int32 length = 2; + public static final int LENGTH_FIELD_NUMBER = 2; + private int length_; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + + // required int32 group = 3; + public static final int GROUP_FIELD_NUMBER = 3; + private int group_; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + + // required int32 action = 4; + public static final int ACTION_FIELD_NUMBER = 4; + private int action_; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + + // optional bytes data = 5; + public static final int DATA_FIELD_NUMBER = 5; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + category_ = ""; + length_ = 0; + group_ = 0; + action_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLength()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasGroup()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasAction()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt32(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBytes(5, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(5, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.DeviceReq} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + group_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + action_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceReq_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.length_ = length_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.group_ = group_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.action_ = action_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance()) return this; + if (other.hasCategory()) { + bitField0_ |= 0x00000001; + category_ = other.category_; + onChanged(); + } + if (other.hasLength()) { + setLength(other.getLength()); + } + if (other.hasGroup()) { + setGroup(other.getGroup()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCategory()) { + + return false; + } + if (!hasLength()) { + + return false; + } + if (!hasGroup()) { + + return false; + } + if (!hasAction()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string category = 1; + private java.lang.Object category_ = ""; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 1; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000001); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + + // required int32 length = 2; + private int length_ ; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + /** + * required int32 length = 2; + */ + public Builder setLength(int value) { + bitField0_ |= 0x00000002; + length_ = value; + onChanged(); + return this; + } + /** + * required int32 length = 2; + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000002); + length_ = 0; + onChanged(); + return this; + } + + // required int32 group = 3; + private int group_ ; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + /** + * required int32 group = 3; + */ + public Builder setGroup(int value) { + bitField0_ |= 0x00000004; + group_ = value; + onChanged(); + return this; + } + /** + * required int32 group = 3; + */ + public Builder clearGroup() { + bitField0_ = (bitField0_ & ~0x00000004); + group_ = 0; + onChanged(); + return this; + } + + // required int32 action = 4; + private int action_ ; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + /** + * required int32 action = 4; + */ + public Builder setAction(int value) { + bitField0_ |= 0x00000008; + action_ = value; + onChanged(); + return this; + } + /** + * required int32 action = 4; + */ + public Builder clearAction() { + bitField0_ = (bitField0_ & ~0x00000008); + action_ = 0; + onChanged(); + return this; + } + + // optional bytes data = 5; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 5; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 5; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000010); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.DeviceReq) + } + + static { + defaultInstance = new DeviceReq(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.DeviceReq) + } + + public interface DeviceAnsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required int32 errcode = 1; + /** + * required int32 errcode = 1; + */ + boolean hasErrcode(); + /** + * required int32 errcode = 1; + */ + int getErrcode(); + + // optional string errstr = 2; + /** + * optional string errstr = 2; + */ + boolean hasErrstr(); + /** + * optional string errstr = 2; + */ + java.lang.String getErrstr(); + /** + * optional string errstr = 2; + */ + com.google.protobuf.ByteString + getErrstrBytes(); + + // required string category = 3; + /** + * required string category = 3; + */ + boolean hasCategory(); + /** + * required string category = 3; + */ + java.lang.String getCategory(); + /** + * required string category = 3; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // required int32 length = 4; + /** + * required int32 length = 4; + */ + boolean hasLength(); + /** + * required int32 length = 4; + */ + int getLength(); + + // required int32 group = 5; + /** + * required int32 group = 5; + */ + boolean hasGroup(); + /** + * required int32 group = 5; + */ + int getGroup(); + + // required int32 action = 6; + /** + * required int32 action = 6; + */ + boolean hasAction(); + /** + * required int32 action = 6; + */ + int getAction(); + + // optional bytes data = 7; + /** + * optional bytes data = 7; + */ + boolean hasData(); + /** + * optional bytes data = 7; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.DeviceAns} + */ + public static final class DeviceAns extends + com.google.protobuf.GeneratedMessage + implements DeviceAnsOrBuilder { + // Use DeviceAns.newBuilder() to construct. + private DeviceAns(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DeviceAns(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DeviceAns defaultInstance; + public static DeviceAns getDefaultInstance() { + return defaultInstance; + } + + public DeviceAns getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DeviceAns( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + errcode_ = input.readInt32(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + errstr_ = input.readBytes(); + break; + } + case 26: { + bitField0_ |= 0x00000004; + category_ = input.readBytes(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + length_ = input.readInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + group_ = input.readInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + action_ = input.readInt32(); + break; + } + case 58: { + bitField0_ |= 0x00000040; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DeviceAns parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DeviceAns(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required int32 errcode = 1; + public static final int ERRCODE_FIELD_NUMBER = 1; + private int errcode_; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + + // optional string errstr = 2; + public static final int ERRSTR_FIELD_NUMBER = 2; + private java.lang.Object errstr_; + /** + * optional string errstr = 2; + */ + public boolean hasErrstr() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string errstr = 2; + */ + public java.lang.String getErrstr() { + java.lang.Object ref = errstr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + errstr_ = s; + } + return s; + } + } + /** + * optional string errstr = 2; + */ + public com.google.protobuf.ByteString + getErrstrBytes() { + java.lang.Object ref = errstr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + errstr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required string category = 3; + public static final int CATEGORY_FIELD_NUMBER = 3; + private java.lang.Object category_; + /** + * required string category = 3; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required string category = 3; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 3; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required int32 length = 4; + public static final int LENGTH_FIELD_NUMBER = 4; + private int length_; + /** + * required int32 length = 4; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 length = 4; + */ + public int getLength() { + return length_; + } + + // required int32 group = 5; + public static final int GROUP_FIELD_NUMBER = 5; + private int group_; + /** + * required int32 group = 5; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * required int32 group = 5; + */ + public int getGroup() { + return group_; + } + + // required int32 action = 6; + public static final int ACTION_FIELD_NUMBER = 6; + private int action_; + /** + * required int32 action = 6; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * required int32 action = 6; + */ + public int getAction() { + return action_; + } + + // optional bytes data = 7; + public static final int DATA_FIELD_NUMBER = 7; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 7; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional bytes data = 7; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + errcode_ = 0; + errstr_ = ""; + category_ = ""; + length_ = 0; + group_ = 0; + action_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasErrcode()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLength()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasGroup()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasAction()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getErrstrBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, getCategoryBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt32(4, length_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeInt32(5, group_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeInt32(6, action_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeBytes(7, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getErrstrBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, getCategoryBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, length_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, group_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(6, action_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(7, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.DeviceAns} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + errcode_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + errstr_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + length_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + group_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + action_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceAns_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.errcode_ = errcode_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.errstr_ = errstr_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.length_ = length_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.group_ = group_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.action_ = action_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance()) return this; + if (other.hasErrcode()) { + setErrcode(other.getErrcode()); + } + if (other.hasErrstr()) { + bitField0_ |= 0x00000002; + errstr_ = other.errstr_; + onChanged(); + } + if (other.hasCategory()) { + bitField0_ |= 0x00000004; + category_ = other.category_; + onChanged(); + } + if (other.hasLength()) { + setLength(other.getLength()); + } + if (other.hasGroup()) { + setGroup(other.getGroup()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasErrcode()) { + + return false; + } + if (!hasCategory()) { + + return false; + } + if (!hasLength()) { + + return false; + } + if (!hasGroup()) { + + return false; + } + if (!hasAction()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required int32 errcode = 1; + private int errcode_ ; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + /** + * required int32 errcode = 1; + */ + public Builder setErrcode(int value) { + bitField0_ |= 0x00000001; + errcode_ = value; + onChanged(); + return this; + } + /** + * required int32 errcode = 1; + */ + public Builder clearErrcode() { + bitField0_ = (bitField0_ & ~0x00000001); + errcode_ = 0; + onChanged(); + return this; + } + + // optional string errstr = 2; + private java.lang.Object errstr_ = ""; + /** + * optional string errstr = 2; + */ + public boolean hasErrstr() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string errstr = 2; + */ + public java.lang.String getErrstr() { + java.lang.Object ref = errstr_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + errstr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string errstr = 2; + */ + public com.google.protobuf.ByteString + getErrstrBytes() { + java.lang.Object ref = errstr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + errstr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string errstr = 2; + */ + public Builder setErrstr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + errstr_ = value; + onChanged(); + return this; + } + /** + * optional string errstr = 2; + */ + public Builder clearErrstr() { + bitField0_ = (bitField0_ & ~0x00000002); + errstr_ = getDefaultInstance().getErrstr(); + onChanged(); + return this; + } + /** + * optional string errstr = 2; + */ + public Builder setErrstrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + errstr_ = value; + onChanged(); + return this; + } + + // required string category = 3; + private java.lang.Object category_ = ""; + /** + * required string category = 3; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required string category = 3; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 3; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 3; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 3; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000004); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 3; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + category_ = value; + onChanged(); + return this; + } + + // required int32 length = 4; + private int length_ ; + /** + * required int32 length = 4; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 length = 4; + */ + public int getLength() { + return length_; + } + /** + * required int32 length = 4; + */ + public Builder setLength(int value) { + bitField0_ |= 0x00000008; + length_ = value; + onChanged(); + return this; + } + /** + * required int32 length = 4; + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000008); + length_ = 0; + onChanged(); + return this; + } + + // required int32 group = 5; + private int group_ ; + /** + * required int32 group = 5; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * required int32 group = 5; + */ + public int getGroup() { + return group_; + } + /** + * required int32 group = 5; + */ + public Builder setGroup(int value) { + bitField0_ |= 0x00000010; + group_ = value; + onChanged(); + return this; + } + /** + * required int32 group = 5; + */ + public Builder clearGroup() { + bitField0_ = (bitField0_ & ~0x00000010); + group_ = 0; + onChanged(); + return this; + } + + // required int32 action = 6; + private int action_ ; + /** + * required int32 action = 6; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * required int32 action = 6; + */ + public int getAction() { + return action_; + } + /** + * required int32 action = 6; + */ + public Builder setAction(int value) { + bitField0_ |= 0x00000020; + action_ = value; + onChanged(); + return this; + } + /** + * required int32 action = 6; + */ + public Builder clearAction() { + bitField0_ = (bitField0_ & ~0x00000020); + action_ = 0; + onChanged(); + return this; + } + + // optional bytes data = 7; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 7; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional bytes data = 7; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 7; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000040; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 7; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000040); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.DeviceAns) + } + + static { + defaultInstance = new DeviceAns(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.DeviceAns) + } + + public interface DeviceNtfOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string category = 1; + /** + * required string category = 1; + */ + boolean hasCategory(); + /** + * required string category = 1; + */ + java.lang.String getCategory(); + /** + * required string category = 1; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // required int32 length = 2; + /** + * required int32 length = 2; + */ + boolean hasLength(); + /** + * required int32 length = 2; + */ + int getLength(); + + // required int32 group = 3; + /** + * required int32 group = 3; + */ + boolean hasGroup(); + /** + * required int32 group = 3; + */ + int getGroup(); + + // required int32 action = 4; + /** + * required int32 action = 4; + */ + boolean hasAction(); + /** + * required int32 action = 4; + */ + int getAction(); + + // optional bytes data = 5; + /** + * optional bytes data = 5; + */ + boolean hasData(); + /** + * optional bytes data = 5; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.DeviceNtf} + */ + public static final class DeviceNtf extends + com.google.protobuf.GeneratedMessage + implements DeviceNtfOrBuilder { + // Use DeviceNtf.newBuilder() to construct. + private DeviceNtf(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DeviceNtf(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DeviceNtf defaultInstance; + public static DeviceNtf getDefaultInstance() { + return defaultInstance; + } + + public DeviceNtf getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DeviceNtf( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + category_ = input.readBytes(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + length_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + group_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + action_ = input.readInt32(); + break; + } + case 42: { + bitField0_ |= 0x00000010; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DeviceNtf parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DeviceNtf(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string category = 1; + public static final int CATEGORY_FIELD_NUMBER = 1; + private java.lang.Object category_; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required int32 length = 2; + public static final int LENGTH_FIELD_NUMBER = 2; + private int length_; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + + // required int32 group = 3; + public static final int GROUP_FIELD_NUMBER = 3; + private int group_; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + + // required int32 action = 4; + public static final int ACTION_FIELD_NUMBER = 4; + private int action_; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + + // optional bytes data = 5; + public static final int DATA_FIELD_NUMBER = 5; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + category_ = ""; + length_ = 0; + group_ = 0; + action_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLength()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasGroup()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasAction()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt32(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBytes(5, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, length_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, group_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, action_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(5, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.DeviceNtf} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + group_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + action_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_DeviceNtf_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.length_ = length_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.group_ = group_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.action_ = action_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance()) return this; + if (other.hasCategory()) { + bitField0_ |= 0x00000001; + category_ = other.category_; + onChanged(); + } + if (other.hasLength()) { + setLength(other.getLength()); + } + if (other.hasGroup()) { + setGroup(other.getGroup()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCategory()) { + + return false; + } + if (!hasLength()) { + + return false; + } + if (!hasGroup()) { + + return false; + } + if (!hasAction()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string category = 1; + private java.lang.Object category_ = ""; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 1; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000001); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + + // required int32 length = 2; + private int length_ ; + /** + * required int32 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * required int32 length = 2; + */ + public int getLength() { + return length_; + } + /** + * required int32 length = 2; + */ + public Builder setLength(int value) { + bitField0_ |= 0x00000002; + length_ = value; + onChanged(); + return this; + } + /** + * required int32 length = 2; + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000002); + length_ = 0; + onChanged(); + return this; + } + + // required int32 group = 3; + private int group_ ; + /** + * required int32 group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required int32 group = 3; + */ + public int getGroup() { + return group_; + } + /** + * required int32 group = 3; + */ + public Builder setGroup(int value) { + bitField0_ |= 0x00000004; + group_ = value; + onChanged(); + return this; + } + /** + * required int32 group = 3; + */ + public Builder clearGroup() { + bitField0_ = (bitField0_ & ~0x00000004); + group_ = 0; + onChanged(); + return this; + } + + // required int32 action = 4; + private int action_ ; + /** + * required int32 action = 4; + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * required int32 action = 4; + */ + public int getAction() { + return action_; + } + /** + * required int32 action = 4; + */ + public Builder setAction(int value) { + bitField0_ |= 0x00000008; + action_ = value; + onChanged(); + return this; + } + /** + * required int32 action = 4; + */ + public Builder clearAction() { + bitField0_ = (bitField0_ & ~0x00000008); + action_ = 0; + onChanged(); + return this; + } + + // optional bytes data = 5; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 5; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes data = 5; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 5; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 5; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000010); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.DeviceNtf) + } + + static { + defaultInstance = new DeviceNtf(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.DeviceNtf) + } + + public interface MonitorReqOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string command = 1; + /** + * required string command = 1; + */ + boolean hasCommand(); + /** + * required string command = 1; + */ + java.lang.String getCommand(); + /** + * required string command = 1; + */ + com.google.protobuf.ByteString + getCommandBytes(); + } + /** + * Protobuf type {@code ECS.MonitorReq} + */ + public static final class MonitorReq extends + com.google.protobuf.GeneratedMessage + implements MonitorReqOrBuilder { + // Use MonitorReq.newBuilder() to construct. + private MonitorReq(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private MonitorReq(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final MonitorReq defaultInstance; + public static MonitorReq getDefaultInstance() { + return defaultInstance; + } + + public MonitorReq getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MonitorReq( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + command_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public MonitorReq parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new MonitorReq(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string command = 1; + public static final int COMMAND_FIELD_NUMBER = 1; + private java.lang.Object command_; + /** + * required string command = 1; + */ + public boolean hasCommand() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string command = 1; + */ + public java.lang.String getCommand() { + java.lang.Object ref = command_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + command_ = s; + } + return s; + } + } + /** + * required string command = 1; + */ + public com.google.protobuf.ByteString + getCommandBytes() { + java.lang.Object ref = command_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + command_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + command_ = ""; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCommand()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCommandBytes()); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCommandBytes()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.MonitorReq} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + command_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorReq_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.command_ = command_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance()) return this; + if (other.hasCommand()) { + bitField0_ |= 0x00000001; + command_ = other.command_; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCommand()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string command = 1; + private java.lang.Object command_ = ""; + /** + * required string command = 1; + */ + public boolean hasCommand() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string command = 1; + */ + public java.lang.String getCommand() { + java.lang.Object ref = command_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + command_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string command = 1; + */ + public com.google.protobuf.ByteString + getCommandBytes() { + java.lang.Object ref = command_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + command_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string command = 1; + */ + public Builder setCommand( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + command_ = value; + onChanged(); + return this; + } + /** + * required string command = 1; + */ + public Builder clearCommand() { + bitField0_ = (bitField0_ & ~0x00000001); + command_ = getDefaultInstance().getCommand(); + onChanged(); + return this; + } + /** + * required string command = 1; + */ + public Builder setCommandBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + command_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.MonitorReq) + } + + static { + defaultInstance = new MonitorReq(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.MonitorReq) + } + + public interface MonitorAnsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required int32 errcode = 1; + /** + * required int32 errcode = 1; + */ + boolean hasErrcode(); + /** + * required int32 errcode = 1; + */ + int getErrcode(); + + // optional string errmsg = 2; + /** + * optional string errmsg = 2; + */ + boolean hasErrmsg(); + /** + * optional string errmsg = 2; + */ + java.lang.String getErrmsg(); + /** + * optional string errmsg = 2; + */ + com.google.protobuf.ByteString + getErrmsgBytes(); + + // required string command = 3; + /** + * required string command = 3; + */ + boolean hasCommand(); + /** + * required string command = 3; + */ + java.lang.String getCommand(); + /** + * required string command = 3; + */ + com.google.protobuf.ByteString + getCommandBytes(); + + // optional bytes data = 4; + /** + * optional bytes data = 4; + */ + boolean hasData(); + /** + * optional bytes data = 4; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.MonitorAns} + */ + public static final class MonitorAns extends + com.google.protobuf.GeneratedMessage + implements MonitorAnsOrBuilder { + // Use MonitorAns.newBuilder() to construct. + private MonitorAns(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private MonitorAns(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final MonitorAns defaultInstance; + public static MonitorAns getDefaultInstance() { + return defaultInstance; + } + + public MonitorAns getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MonitorAns( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + errcode_ = input.readInt32(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + errmsg_ = input.readBytes(); + break; + } + case 26: { + bitField0_ |= 0x00000004; + command_ = input.readBytes(); + break; + } + case 34: { + bitField0_ |= 0x00000008; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public MonitorAns parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new MonitorAns(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required int32 errcode = 1; + public static final int ERRCODE_FIELD_NUMBER = 1; + private int errcode_; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + + // optional string errmsg = 2; + public static final int ERRMSG_FIELD_NUMBER = 2; + private java.lang.Object errmsg_; + /** + * optional string errmsg = 2; + */ + public boolean hasErrmsg() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string errmsg = 2; + */ + public java.lang.String getErrmsg() { + java.lang.Object ref = errmsg_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + errmsg_ = s; + } + return s; + } + } + /** + * optional string errmsg = 2; + */ + public com.google.protobuf.ByteString + getErrmsgBytes() { + java.lang.Object ref = errmsg_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + errmsg_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // required string command = 3; + public static final int COMMAND_FIELD_NUMBER = 3; + private java.lang.Object command_; + /** + * required string command = 3; + */ + public boolean hasCommand() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required string command = 3; + */ + public java.lang.String getCommand() { + java.lang.Object ref = command_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + command_ = s; + } + return s; + } + } + /** + * required string command = 3; + */ + public com.google.protobuf.ByteString + getCommandBytes() { + java.lang.Object ref = command_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + command_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional bytes data = 4; + public static final int DATA_FIELD_NUMBER = 4; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 4; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional bytes data = 4; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + errcode_ = 0; + errmsg_ = ""; + command_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasErrcode()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasCommand()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getErrmsgBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, getCommandBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBytes(4, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, errcode_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getErrmsgBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, getCommandBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(4, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.MonitorAns} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorAns_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorAns_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + errcode_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + errmsg_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + command_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorAns_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.errcode_ = errcode_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.errmsg_ = errmsg_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.command_ = command_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance()) return this; + if (other.hasErrcode()) { + setErrcode(other.getErrcode()); + } + if (other.hasErrmsg()) { + bitField0_ |= 0x00000002; + errmsg_ = other.errmsg_; + onChanged(); + } + if (other.hasCommand()) { + bitField0_ |= 0x00000004; + command_ = other.command_; + onChanged(); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasErrcode()) { + + return false; + } + if (!hasCommand()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required int32 errcode = 1; + private int errcode_ ; + /** + * required int32 errcode = 1; + */ + public boolean hasErrcode() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required int32 errcode = 1; + */ + public int getErrcode() { + return errcode_; + } + /** + * required int32 errcode = 1; + */ + public Builder setErrcode(int value) { + bitField0_ |= 0x00000001; + errcode_ = value; + onChanged(); + return this; + } + /** + * required int32 errcode = 1; + */ + public Builder clearErrcode() { + bitField0_ = (bitField0_ & ~0x00000001); + errcode_ = 0; + onChanged(); + return this; + } + + // optional string errmsg = 2; + private java.lang.Object errmsg_ = ""; + /** + * optional string errmsg = 2; + */ + public boolean hasErrmsg() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string errmsg = 2; + */ + public java.lang.String getErrmsg() { + java.lang.Object ref = errmsg_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + errmsg_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string errmsg = 2; + */ + public com.google.protobuf.ByteString + getErrmsgBytes() { + java.lang.Object ref = errmsg_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + errmsg_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string errmsg = 2; + */ + public Builder setErrmsg( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + errmsg_ = value; + onChanged(); + return this; + } + /** + * optional string errmsg = 2; + */ + public Builder clearErrmsg() { + bitField0_ = (bitField0_ & ~0x00000002); + errmsg_ = getDefaultInstance().getErrmsg(); + onChanged(); + return this; + } + /** + * optional string errmsg = 2; + */ + public Builder setErrmsgBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + errmsg_ = value; + onChanged(); + return this; + } + + // required string command = 3; + private java.lang.Object command_ = ""; + /** + * required string command = 3; + */ + public boolean hasCommand() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * required string command = 3; + */ + public java.lang.String getCommand() { + java.lang.Object ref = command_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + command_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string command = 3; + */ + public com.google.protobuf.ByteString + getCommandBytes() { + java.lang.Object ref = command_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + command_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string command = 3; + */ + public Builder setCommand( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + command_ = value; + onChanged(); + return this; + } + /** + * required string command = 3; + */ + public Builder clearCommand() { + bitField0_ = (bitField0_ & ~0x00000004); + command_ = getDefaultInstance().getCommand(); + onChanged(); + return this; + } + /** + * required string command = 3; + */ + public Builder setCommandBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + command_ = value; + onChanged(); + return this; + } + + // optional bytes data = 4; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 4; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional bytes data = 4; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 4; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 4; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000008); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.MonitorAns) + } + + static { + defaultInstance = new MonitorAns(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.MonitorAns) + } + + public interface MonitorNtfOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string command = 1; + /** + * required string command = 1; + */ + boolean hasCommand(); + /** + * required string command = 1; + */ + java.lang.String getCommand(); + /** + * required string command = 1; + */ + com.google.protobuf.ByteString + getCommandBytes(); + + // optional bytes data = 2; + /** + * optional bytes data = 2; + */ + boolean hasData(); + /** + * optional bytes data = 2; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.MonitorNtf} + */ + public static final class MonitorNtf extends + com.google.protobuf.GeneratedMessage + implements MonitorNtfOrBuilder { + // Use MonitorNtf.newBuilder() to construct. + private MonitorNtf(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private MonitorNtf(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final MonitorNtf defaultInstance; + public static MonitorNtf getDefaultInstance() { + return defaultInstance; + } + + public MonitorNtf getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MonitorNtf( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + command_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public MonitorNtf parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new MonitorNtf(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string command = 1; + public static final int COMMAND_FIELD_NUMBER = 1; + private java.lang.Object command_; + /** + * required string command = 1; + */ + public boolean hasCommand() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string command = 1; + */ + public java.lang.String getCommand() { + java.lang.Object ref = command_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + command_ = s; + } + return s; + } + } + /** + * required string command = 1; + */ + public com.google.protobuf.ByteString + getCommandBytes() { + java.lang.Object ref = command_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + command_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional bytes data = 2; + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 2; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional bytes data = 2; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + command_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCommand()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCommandBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCommandBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.MonitorNtf} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + command_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_MonitorNtf_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.command_ = command_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance()) return this; + if (other.hasCommand()) { + bitField0_ |= 0x00000001; + command_ = other.command_; + onChanged(); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCommand()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string command = 1; + private java.lang.Object command_ = ""; + /** + * required string command = 1; + */ + public boolean hasCommand() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string command = 1; + */ + public java.lang.String getCommand() { + java.lang.Object ref = command_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + command_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string command = 1; + */ + public com.google.protobuf.ByteString + getCommandBytes() { + java.lang.Object ref = command_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + command_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string command = 1; + */ + public Builder setCommand( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + command_ = value; + onChanged(); + return this; + } + /** + * required string command = 1; + */ + public Builder clearCommand() { + bitField0_ = (bitField0_ & ~0x00000001); + command_ = getDefaultInstance().getCommand(); + onChanged(); + return this; + } + /** + * required string command = 1; + */ + public Builder setCommandBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + command_ = value; + onChanged(); + return this; + } + + // optional bytes data = 2; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 2; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional bytes data = 2; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 2; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 2; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000002); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.MonitorNtf) + } + + static { + defaultInstance = new MonitorNtf(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.MonitorNtf) + } + + public interface NfcReqOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string category = 1; + /** + * required string category = 1; + */ + boolean hasCategory(); + /** + * required string category = 1; + */ + java.lang.String getCategory(); + /** + * required string category = 1; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // optional bytes data = 2; + /** + * optional bytes data = 2; + */ + boolean hasData(); + /** + * optional bytes data = 2; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.NfcReq} + */ + public static final class NfcReq extends + com.google.protobuf.GeneratedMessage + implements NfcReqOrBuilder { + // Use NfcReq.newBuilder() to construct. + private NfcReq(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private NfcReq(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final NfcReq defaultInstance; + public static NfcReq getDefaultInstance() { + return defaultInstance; + } + + public NfcReq getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private NfcReq( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + category_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public NfcReq parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new NfcReq(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string category = 1; + public static final int CATEGORY_FIELD_NUMBER = 1; + private java.lang.Object category_; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional bytes data = 2; + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 2; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional bytes data = 2; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + category_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.NfcReq} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcReq_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcReq_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcReq_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance()) return this; + if (other.hasCategory()) { + bitField0_ |= 0x00000001; + category_ = other.category_; + onChanged(); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCategory()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string category = 1; + private java.lang.Object category_ = ""; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 1; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000001); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + + // optional bytes data = 2; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 2; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional bytes data = 2; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 2; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 2; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000002); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.NfcReq) + } + + static { + defaultInstance = new NfcReq(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.NfcReq) + } + + public interface NfcNtfOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string category = 1; + /** + * required string category = 1; + */ + boolean hasCategory(); + /** + * required string category = 1; + */ + java.lang.String getCategory(); + /** + * required string category = 1; + */ + com.google.protobuf.ByteString + getCategoryBytes(); + + // optional bytes data = 2; + /** + * optional bytes data = 2; + */ + boolean hasData(); + /** + * optional bytes data = 2; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code ECS.NfcNtf} + */ + public static final class NfcNtf extends + com.google.protobuf.GeneratedMessage + implements NfcNtfOrBuilder { + // Use NfcNtf.newBuilder() to construct. + private NfcNtf(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private NfcNtf(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final NfcNtf defaultInstance; + public static NfcNtf getDefaultInstance() { + return defaultInstance; + } + + public NfcNtf getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private NfcNtf( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 10: { + bitField0_ |= 0x00000001; + category_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + data_ = input.readBytes(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public NfcNtf parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new NfcNtf(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required string category = 1; + public static final int CATEGORY_FIELD_NUMBER = 1; + private java.lang.Object category_; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + category_ = s; + } + return s; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional bytes data = 2; + public static final int DATA_FIELD_NUMBER = 2; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 2; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional bytes data = 2; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + category_ = ""; + data_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasCategory()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, data_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, getCategoryBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, data_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.NfcNtf} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcNtf_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcNtf_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + category_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_NfcNtf_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.category_ = category_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance()) return this; + if (other.hasCategory()) { + bitField0_ |= 0x00000001; + category_ = other.category_; + onChanged(); + } + if (other.hasData()) { + setData(other.getData()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasCategory()) { + + return false; + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required string category = 1; + private java.lang.Object category_ = ""; + /** + * required string category = 1; + */ + public boolean hasCategory() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required string category = 1; + */ + public java.lang.String getCategory() { + java.lang.Object ref = category_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + category_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * required string category = 1; + */ + public com.google.protobuf.ByteString + getCategoryBytes() { + java.lang.Object ref = category_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + category_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * required string category = 1; + */ + public Builder setCategory( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder clearCategory() { + bitField0_ = (bitField0_ & ~0x00000001); + category_ = getDefaultInstance().getCategory(); + onChanged(); + return this; + } + /** + * required string category = 1; + */ + public Builder setCategoryBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + category_ = value; + onChanged(); + return this; + } + + // optional bytes data = 2; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 2; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional bytes data = 2; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 2; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 2; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000002); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:ECS.NfcNtf) + } + + static { + defaultInstance = new NfcNtf(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.NfcNtf) + } + + public interface MasterOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required .ECS.Master_Type type = 1; + /** + * required .ECS.Master_Type type = 1; + */ + boolean hasType(); + /** + * required .ECS.Master_Type type = 1; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type getType(); + + // optional .ECS.CheckVersionReq checkversion_req = 2; + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + boolean hasCheckversionReq(); + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq getCheckversionReq(); + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder getCheckversionReqOrBuilder(); + + // optional .ECS.CheckVersionAns checkversion_ans = 3; + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + boolean hasCheckversionAns(); + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns getCheckversionAns(); + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder getCheckversionAnsOrBuilder(); + + // optional .ECS.KeepAliveReq keepalive_req = 4; + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + boolean hasKeepaliveReq(); + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq getKeepaliveReq(); + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder getKeepaliveReqOrBuilder(); + + // optional .ECS.KeepAliveAns keepalive_ans = 5; + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + boolean hasKeepaliveAns(); + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns getKeepaliveAns(); + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder getKeepaliveAnsOrBuilder(); + + // optional .ECS.InjectorReq injector_req = 6; + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + boolean hasInjectorReq(); + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq getInjectorReq(); + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder getInjectorReqOrBuilder(); + + // optional .ECS.InjectorAns injector_ans = 7; + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + boolean hasInjectorAns(); + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns getInjectorAns(); + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder getInjectorAnsOrBuilder(); + + // optional .ECS.InjectorNtf injector_ntf = 8; + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + boolean hasInjectorNtf(); + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf getInjectorNtf(); + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder getInjectorNtfOrBuilder(); + + // optional .ECS.DeviceReq device_req = 9; + /** + * optional .ECS.DeviceReq device_req = 9; + */ + boolean hasDeviceReq(); + /** + * optional .ECS.DeviceReq device_req = 9; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq getDeviceReq(); + /** + * optional .ECS.DeviceReq device_req = 9; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder getDeviceReqOrBuilder(); + + // optional .ECS.DeviceAns device_ans = 10; + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + boolean hasDeviceAns(); + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns getDeviceAns(); + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder getDeviceAnsOrBuilder(); + + // optional .ECS.DeviceNtf device_ntf = 11; + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + boolean hasDeviceNtf(); + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf getDeviceNtf(); + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder getDeviceNtfOrBuilder(); + + // optional .ECS.MonitorReq monitor_req = 12; + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + boolean hasMonitorReq(); + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq getMonitorReq(); + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder getMonitorReqOrBuilder(); + + // optional .ECS.MonitorAns monitor_ans = 13; + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + boolean hasMonitorAns(); + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns getMonitorAns(); + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder getMonitorAnsOrBuilder(); + + // optional .ECS.MonitorNtf monitor_ntf = 14; + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + boolean hasMonitorNtf(); + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf getMonitorNtf(); + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder getMonitorNtfOrBuilder(); + + // optional .ECS.NfcReq nfc_req = 101; + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *

+     * Extensions 101 to 150;
+     * 
+ */ + boolean hasNfcReq(); + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+     * Extensions 101 to 150;
+     * 
+ */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq getNfcReq(); + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+     * Extensions 101 to 150;
+     * 
+ */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder getNfcReqOrBuilder(); + + // optional .ECS.NfcNtf nfc_ntf = 102; + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + boolean hasNfcNtf(); + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf getNfcNtf(); + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder getNfcNtfOrBuilder(); + } + /** + * Protobuf type {@code ECS.Master} + */ + public static final class Master extends + com.google.protobuf.GeneratedMessage + implements MasterOrBuilder { + // Use Master.newBuilder() to construct. + private Master(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Master(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Master defaultInstance; + public static Master getDefaultInstance() { + return defaultInstance; + } + + public Master getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Master( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + int rawValue = input.readEnum(); + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type value = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(1, rawValue); + } else { + bitField0_ |= 0x00000001; + type_ = value; + } + break; + } + case 18: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = checkversionReq_.toBuilder(); + } + checkversionReq_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(checkversionReq_); + checkversionReq_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 26: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = checkversionAns_.toBuilder(); + } + checkversionAns_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(checkversionAns_); + checkversionAns_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + case 34: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = keepaliveReq_.toBuilder(); + } + keepaliveReq_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(keepaliveReq_); + keepaliveReq_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + break; + } + case 42: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder subBuilder = null; + if (((bitField0_ & 0x00000010) == 0x00000010)) { + subBuilder = keepaliveAns_.toBuilder(); + } + keepaliveAns_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(keepaliveAns_); + keepaliveAns_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000010; + break; + } + case 50: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder subBuilder = null; + if (((bitField0_ & 0x00000020) == 0x00000020)) { + subBuilder = injectorReq_.toBuilder(); + } + injectorReq_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(injectorReq_); + injectorReq_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000020; + break; + } + case 58: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder subBuilder = null; + if (((bitField0_ & 0x00000040) == 0x00000040)) { + subBuilder = injectorAns_.toBuilder(); + } + injectorAns_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(injectorAns_); + injectorAns_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000040; + break; + } + case 66: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder subBuilder = null; + if (((bitField0_ & 0x00000080) == 0x00000080)) { + subBuilder = injectorNtf_.toBuilder(); + } + injectorNtf_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(injectorNtf_); + injectorNtf_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000080; + break; + } + case 74: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder subBuilder = null; + if (((bitField0_ & 0x00000100) == 0x00000100)) { + subBuilder = deviceReq_.toBuilder(); + } + deviceReq_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceReq_); + deviceReq_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000100; + break; + } + case 82: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder subBuilder = null; + if (((bitField0_ & 0x00000200) == 0x00000200)) { + subBuilder = deviceAns_.toBuilder(); + } + deviceAns_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceAns_); + deviceAns_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000200; + break; + } + case 90: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder subBuilder = null; + if (((bitField0_ & 0x00000400) == 0x00000400)) { + subBuilder = deviceNtf_.toBuilder(); + } + deviceNtf_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceNtf_); + deviceNtf_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000400; + break; + } + case 98: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder subBuilder = null; + if (((bitField0_ & 0x00000800) == 0x00000800)) { + subBuilder = monitorReq_.toBuilder(); + } + monitorReq_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(monitorReq_); + monitorReq_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000800; + break; + } + case 106: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder subBuilder = null; + if (((bitField0_ & 0x00001000) == 0x00001000)) { + subBuilder = monitorAns_.toBuilder(); + } + monitorAns_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(monitorAns_); + monitorAns_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00001000; + break; + } + case 114: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder subBuilder = null; + if (((bitField0_ & 0x00002000) == 0x00002000)) { + subBuilder = monitorNtf_.toBuilder(); + } + monitorNtf_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(monitorNtf_); + monitorNtf_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00002000; + break; + } + case 810: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder subBuilder = null; + if (((bitField0_ & 0x00004000) == 0x00004000)) { + subBuilder = nfcReq_.toBuilder(); + } + nfcReq_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(nfcReq_); + nfcReq_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00004000; + break; + } + case 818: { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder subBuilder = null; + if (((bitField0_ & 0x00008000) == 0x00008000)) { + subBuilder = nfcNtf_.toBuilder(); + } + nfcNtf_ = input.readMessage(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(nfcNtf_); + nfcNtf_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00008000; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_Master_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_Master_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Master parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Master(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // required .ECS.Master_Type type = 1; + public static final int TYPE_FIELD_NUMBER = 1; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type type_; + /** + * required .ECS.Master_Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required .ECS.Master_Type type = 1; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type getType() { + return type_; + } + + // optional .ECS.CheckVersionReq checkversion_req = 2; + public static final int CHECKVERSION_REQ_FIELD_NUMBER = 2; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq checkversionReq_; + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public boolean hasCheckversionReq() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq getCheckversionReq() { + return checkversionReq_; + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder getCheckversionReqOrBuilder() { + return checkversionReq_; + } + + // optional .ECS.CheckVersionAns checkversion_ans = 3; + public static final int CHECKVERSION_ANS_FIELD_NUMBER = 3; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns checkversionAns_; + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public boolean hasCheckversionAns() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns getCheckversionAns() { + return checkversionAns_; + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder getCheckversionAnsOrBuilder() { + return checkversionAns_; + } + + // optional .ECS.KeepAliveReq keepalive_req = 4; + public static final int KEEPALIVE_REQ_FIELD_NUMBER = 4; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq keepaliveReq_; + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public boolean hasKeepaliveReq() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq getKeepaliveReq() { + return keepaliveReq_; + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder getKeepaliveReqOrBuilder() { + return keepaliveReq_; + } + + // optional .ECS.KeepAliveAns keepalive_ans = 5; + public static final int KEEPALIVE_ANS_FIELD_NUMBER = 5; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns keepaliveAns_; + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public boolean hasKeepaliveAns() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns getKeepaliveAns() { + return keepaliveAns_; + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder getKeepaliveAnsOrBuilder() { + return keepaliveAns_; + } + + // optional .ECS.InjectorReq injector_req = 6; + public static final int INJECTOR_REQ_FIELD_NUMBER = 6; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq injectorReq_; + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public boolean hasInjectorReq() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq getInjectorReq() { + return injectorReq_; + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder getInjectorReqOrBuilder() { + return injectorReq_; + } + + // optional .ECS.InjectorAns injector_ans = 7; + public static final int INJECTOR_ANS_FIELD_NUMBER = 7; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns injectorAns_; + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public boolean hasInjectorAns() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns getInjectorAns() { + return injectorAns_; + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder getInjectorAnsOrBuilder() { + return injectorAns_; + } + + // optional .ECS.InjectorNtf injector_ntf = 8; + public static final int INJECTOR_NTF_FIELD_NUMBER = 8; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf injectorNtf_; + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public boolean hasInjectorNtf() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf getInjectorNtf() { + return injectorNtf_; + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder getInjectorNtfOrBuilder() { + return injectorNtf_; + } + + // optional .ECS.DeviceReq device_req = 9; + public static final int DEVICE_REQ_FIELD_NUMBER = 9; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq deviceReq_; + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public boolean hasDeviceReq() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq getDeviceReq() { + return deviceReq_; + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder getDeviceReqOrBuilder() { + return deviceReq_; + } + + // optional .ECS.DeviceAns device_ans = 10; + public static final int DEVICE_ANS_FIELD_NUMBER = 10; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns deviceAns_; + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public boolean hasDeviceAns() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns getDeviceAns() { + return deviceAns_; + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder getDeviceAnsOrBuilder() { + return deviceAns_; + } + + // optional .ECS.DeviceNtf device_ntf = 11; + public static final int DEVICE_NTF_FIELD_NUMBER = 11; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf deviceNtf_; + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public boolean hasDeviceNtf() { + return ((bitField0_ & 0x00000400) == 0x00000400); + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf getDeviceNtf() { + return deviceNtf_; + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder getDeviceNtfOrBuilder() { + return deviceNtf_; + } + + // optional .ECS.MonitorReq monitor_req = 12; + public static final int MONITOR_REQ_FIELD_NUMBER = 12; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq monitorReq_; + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public boolean hasMonitorReq() { + return ((bitField0_ & 0x00000800) == 0x00000800); + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq getMonitorReq() { + return monitorReq_; + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder getMonitorReqOrBuilder() { + return monitorReq_; + } + + // optional .ECS.MonitorAns monitor_ans = 13; + public static final int MONITOR_ANS_FIELD_NUMBER = 13; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns monitorAns_; + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public boolean hasMonitorAns() { + return ((bitField0_ & 0x00001000) == 0x00001000); + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns getMonitorAns() { + return monitorAns_; + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder getMonitorAnsOrBuilder() { + return monitorAns_; + } + + // optional .ECS.MonitorNtf monitor_ntf = 14; + public static final int MONITOR_NTF_FIELD_NUMBER = 14; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf monitorNtf_; + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public boolean hasMonitorNtf() { + return ((bitField0_ & 0x00002000) == 0x00002000); + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf getMonitorNtf() { + return monitorNtf_; + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder getMonitorNtfOrBuilder() { + return monitorNtf_; + } + + // optional .ECS.NfcReq nfc_req = 101; + public static final int NFC_REQ_FIELD_NUMBER = 101; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq nfcReq_; + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+     * Extensions 101 to 150;
+     * 
+ */ + public boolean hasNfcReq() { + return ((bitField0_ & 0x00004000) == 0x00004000); + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+     * Extensions 101 to 150;
+     * 
+ */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq getNfcReq() { + return nfcReq_; + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+     * Extensions 101 to 150;
+     * 
+ */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder getNfcReqOrBuilder() { + return nfcReq_; + } + + // optional .ECS.NfcNtf nfc_ntf = 102; + public static final int NFC_NTF_FIELD_NUMBER = 102; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf nfcNtf_; + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public boolean hasNfcNtf() { + return ((bitField0_ & 0x00008000) == 0x00008000); + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf getNfcNtf() { + return nfcNtf_; + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder getNfcNtfOrBuilder() { + return nfcNtf_; + } + + private void initFields() { + type_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type.CHECKVERSION_REQ; + checkversionReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance(); + checkversionAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance(); + keepaliveReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance(); + keepaliveAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance(); + injectorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance(); + injectorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance(); + injectorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance(); + deviceReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance(); + deviceAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance(); + deviceNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance(); + monitorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance(); + monitorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance(); + monitorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance(); + nfcReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance(); + nfcNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasType()) { + memoizedIsInitialized = 0; + return false; + } + if (hasCheckversionReq()) { + if (!getCheckversionReq().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCheckversionAns()) { + if (!getCheckversionAns().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasInjectorReq()) { + if (!getInjectorReq().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasInjectorAns()) { + if (!getInjectorAns().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasInjectorNtf()) { + if (!getInjectorNtf().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasDeviceReq()) { + if (!getDeviceReq().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasDeviceAns()) { + if (!getDeviceAns().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasDeviceNtf()) { + if (!getDeviceNtf().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasMonitorReq()) { + if (!getMonitorReq().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasMonitorAns()) { + if (!getMonitorAns().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasMonitorNtf()) { + if (!getMonitorNtf().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasNfcReq()) { + if (!getNfcReq().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasNfcNtf()) { + if (!getNfcNtf().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeEnum(1, type_.getNumber()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeMessage(2, checkversionReq_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, checkversionAns_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeMessage(4, keepaliveReq_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeMessage(5, keepaliveAns_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeMessage(6, injectorReq_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeMessage(7, injectorAns_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + output.writeMessage(8, injectorNtf_); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + output.writeMessage(9, deviceReq_); + } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + output.writeMessage(10, deviceAns_); + } + if (((bitField0_ & 0x00000400) == 0x00000400)) { + output.writeMessage(11, deviceNtf_); + } + if (((bitField0_ & 0x00000800) == 0x00000800)) { + output.writeMessage(12, monitorReq_); + } + if (((bitField0_ & 0x00001000) == 0x00001000)) { + output.writeMessage(13, monitorAns_); + } + if (((bitField0_ & 0x00002000) == 0x00002000)) { + output.writeMessage(14, monitorNtf_); + } + if (((bitField0_ & 0x00004000) == 0x00004000)) { + output.writeMessage(101, nfcReq_); + } + if (((bitField0_ & 0x00008000) == 0x00008000)) { + output.writeMessage(102, nfcNtf_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, type_.getNumber()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, checkversionReq_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, checkversionAns_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, keepaliveReq_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, keepaliveAns_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, injectorReq_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, injectorAns_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(8, injectorNtf_); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(9, deviceReq_); + } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(10, deviceAns_); + } + if (((bitField0_ & 0x00000400) == 0x00000400)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(11, deviceNtf_); + } + if (((bitField0_ & 0x00000800) == 0x00000800)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(12, monitorReq_); + } + if (((bitField0_ & 0x00001000) == 0x00001000)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(13, monitorAns_); + } + if (((bitField0_ & 0x00002000) == 0x00002000)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(14, monitorNtf_); + } + if (((bitField0_ & 0x00004000) == 0x00004000)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(101, nfcReq_); + } + if (((bitField0_ & 0x00008000) == 0x00008000)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(102, nfcNtf_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code ECS.Master} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MasterOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_Master_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_Master_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.class, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.Builder.class); + } + + // Construct using org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getCheckversionReqFieldBuilder(); + getCheckversionAnsFieldBuilder(); + getKeepaliveReqFieldBuilder(); + getKeepaliveAnsFieldBuilder(); + getInjectorReqFieldBuilder(); + getInjectorAnsFieldBuilder(); + getInjectorNtfFieldBuilder(); + getDeviceReqFieldBuilder(); + getDeviceAnsFieldBuilder(); + getDeviceNtfFieldBuilder(); + getMonitorReqFieldBuilder(); + getMonitorAnsFieldBuilder(); + getMonitorNtfFieldBuilder(); + getNfcReqFieldBuilder(); + getNfcNtfFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + type_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type.CHECKVERSION_REQ; + bitField0_ = (bitField0_ & ~0x00000001); + if (checkversionReqBuilder_ == null) { + checkversionReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance(); + } else { + checkversionReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (checkversionAnsBuilder_ == null) { + checkversionAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance(); + } else { + checkversionAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (keepaliveReqBuilder_ == null) { + keepaliveReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance(); + } else { + keepaliveReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + if (keepaliveAnsBuilder_ == null) { + keepaliveAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance(); + } else { + keepaliveAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + if (injectorReqBuilder_ == null) { + injectorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance(); + } else { + injectorReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + if (injectorAnsBuilder_ == null) { + injectorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance(); + } else { + injectorAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + if (injectorNtfBuilder_ == null) { + injectorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance(); + } else { + injectorNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000080); + if (deviceReqBuilder_ == null) { + deviceReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance(); + } else { + deviceReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000100); + if (deviceAnsBuilder_ == null) { + deviceAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance(); + } else { + deviceAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000200); + if (deviceNtfBuilder_ == null) { + deviceNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance(); + } else { + deviceNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000400); + if (monitorReqBuilder_ == null) { + monitorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance(); + } else { + monitorReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000800); + if (monitorAnsBuilder_ == null) { + monitorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance(); + } else { + monitorAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00001000); + if (monitorNtfBuilder_ == null) { + monitorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance(); + } else { + monitorNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00002000); + if (nfcReqBuilder_ == null) { + nfcReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance(); + } else { + nfcReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00004000); + if (nfcNtfBuilder_ == null) { + nfcNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance(); + } else { + nfcNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00008000); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.internal_static_ECS_Master_descriptor; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master getDefaultInstanceForType() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.getDefaultInstance(); + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master build() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master buildPartial() { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master result = new org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.type_ = type_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + if (checkversionReqBuilder_ == null) { + result.checkversionReq_ = checkversionReq_; + } else { + result.checkversionReq_ = checkversionReqBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + if (checkversionAnsBuilder_ == null) { + result.checkversionAns_ = checkversionAns_; + } else { + result.checkversionAns_ = checkversionAnsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + if (keepaliveReqBuilder_ == null) { + result.keepaliveReq_ = keepaliveReq_; + } else { + result.keepaliveReq_ = keepaliveReqBuilder_.build(); + } + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + if (keepaliveAnsBuilder_ == null) { + result.keepaliveAns_ = keepaliveAns_; + } else { + result.keepaliveAns_ = keepaliveAnsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + if (injectorReqBuilder_ == null) { + result.injectorReq_ = injectorReq_; + } else { + result.injectorReq_ = injectorReqBuilder_.build(); + } + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; + } + if (injectorAnsBuilder_ == null) { + result.injectorAns_ = injectorAns_; + } else { + result.injectorAns_ = injectorAnsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000080) == 0x00000080)) { + to_bitField0_ |= 0x00000080; + } + if (injectorNtfBuilder_ == null) { + result.injectorNtf_ = injectorNtf_; + } else { + result.injectorNtf_ = injectorNtfBuilder_.build(); + } + if (((from_bitField0_ & 0x00000100) == 0x00000100)) { + to_bitField0_ |= 0x00000100; + } + if (deviceReqBuilder_ == null) { + result.deviceReq_ = deviceReq_; + } else { + result.deviceReq_ = deviceReqBuilder_.build(); + } + if (((from_bitField0_ & 0x00000200) == 0x00000200)) { + to_bitField0_ |= 0x00000200; + } + if (deviceAnsBuilder_ == null) { + result.deviceAns_ = deviceAns_; + } else { + result.deviceAns_ = deviceAnsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000400) == 0x00000400)) { + to_bitField0_ |= 0x00000400; + } + if (deviceNtfBuilder_ == null) { + result.deviceNtf_ = deviceNtf_; + } else { + result.deviceNtf_ = deviceNtfBuilder_.build(); + } + if (((from_bitField0_ & 0x00000800) == 0x00000800)) { + to_bitField0_ |= 0x00000800; + } + if (monitorReqBuilder_ == null) { + result.monitorReq_ = monitorReq_; + } else { + result.monitorReq_ = monitorReqBuilder_.build(); + } + if (((from_bitField0_ & 0x00001000) == 0x00001000)) { + to_bitField0_ |= 0x00001000; + } + if (monitorAnsBuilder_ == null) { + result.monitorAns_ = monitorAns_; + } else { + result.monitorAns_ = monitorAnsBuilder_.build(); + } + if (((from_bitField0_ & 0x00002000) == 0x00002000)) { + to_bitField0_ |= 0x00002000; + } + if (monitorNtfBuilder_ == null) { + result.monitorNtf_ = monitorNtf_; + } else { + result.monitorNtf_ = monitorNtfBuilder_.build(); + } + if (((from_bitField0_ & 0x00004000) == 0x00004000)) { + to_bitField0_ |= 0x00004000; + } + if (nfcReqBuilder_ == null) { + result.nfcReq_ = nfcReq_; + } else { + result.nfcReq_ = nfcReqBuilder_.build(); + } + if (((from_bitField0_ & 0x00008000) == 0x00008000)) { + to_bitField0_ |= 0x00008000; + } + if (nfcNtfBuilder_ == null) { + result.nfcNtf_ = nfcNtf_; + } else { + result.nfcNtf_ = nfcNtfBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master) { + return mergeFrom((org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master other) { + if (other == org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master.getDefaultInstance()) return this; + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasCheckversionReq()) { + mergeCheckversionReq(other.getCheckversionReq()); + } + if (other.hasCheckversionAns()) { + mergeCheckversionAns(other.getCheckversionAns()); + } + if (other.hasKeepaliveReq()) { + mergeKeepaliveReq(other.getKeepaliveReq()); + } + if (other.hasKeepaliveAns()) { + mergeKeepaliveAns(other.getKeepaliveAns()); + } + if (other.hasInjectorReq()) { + mergeInjectorReq(other.getInjectorReq()); + } + if (other.hasInjectorAns()) { + mergeInjectorAns(other.getInjectorAns()); + } + if (other.hasInjectorNtf()) { + mergeInjectorNtf(other.getInjectorNtf()); + } + if (other.hasDeviceReq()) { + mergeDeviceReq(other.getDeviceReq()); + } + if (other.hasDeviceAns()) { + mergeDeviceAns(other.getDeviceAns()); + } + if (other.hasDeviceNtf()) { + mergeDeviceNtf(other.getDeviceNtf()); + } + if (other.hasMonitorReq()) { + mergeMonitorReq(other.getMonitorReq()); + } + if (other.hasMonitorAns()) { + mergeMonitorAns(other.getMonitorAns()); + } + if (other.hasMonitorNtf()) { + mergeMonitorNtf(other.getMonitorNtf()); + } + if (other.hasNfcReq()) { + mergeNfcReq(other.getNfcReq()); + } + if (other.hasNfcNtf()) { + mergeNfcNtf(other.getNfcNtf()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + if (!hasType()) { + + return false; + } + if (hasCheckversionReq()) { + if (!getCheckversionReq().isInitialized()) { + + return false; + } + } + if (hasCheckversionAns()) { + if (!getCheckversionAns().isInitialized()) { + + return false; + } + } + if (hasInjectorReq()) { + if (!getInjectorReq().isInitialized()) { + + return false; + } + } + if (hasInjectorAns()) { + if (!getInjectorAns().isInitialized()) { + + return false; + } + } + if (hasInjectorNtf()) { + if (!getInjectorNtf().isInitialized()) { + + return false; + } + } + if (hasDeviceReq()) { + if (!getDeviceReq().isInitialized()) { + + return false; + } + } + if (hasDeviceAns()) { + if (!getDeviceAns().isInitialized()) { + + return false; + } + } + if (hasDeviceNtf()) { + if (!getDeviceNtf().isInitialized()) { + + return false; + } + } + if (hasMonitorReq()) { + if (!getMonitorReq().isInitialized()) { + + return false; + } + } + if (hasMonitorAns()) { + if (!getMonitorAns().isInitialized()) { + + return false; + } + } + if (hasMonitorNtf()) { + if (!getMonitorNtf().isInitialized()) { + + return false; + } + } + if (hasNfcReq()) { + if (!getNfcReq().isInitialized()) { + + return false; + } + } + if (hasNfcNtf()) { + if (!getNfcNtf().isInitialized()) { + + return false; + } + } + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.Master) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // required .ECS.Master_Type type = 1; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type type_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type.CHECKVERSION_REQ; + /** + * required .ECS.Master_Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * required .ECS.Master_Type type = 1; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type getType() { + return type_; + } + /** + * required .ECS.Master_Type type = 1; + */ + public Builder setType(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value; + onChanged(); + return this; + } + /** + * required .ECS.Master_Type type = 1; + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.Master_Type.CHECKVERSION_REQ; + onChanged(); + return this; + } + + // optional .ECS.CheckVersionReq checkversion_req = 2; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq checkversionReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder> checkversionReqBuilder_; + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public boolean hasCheckversionReq() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq getCheckversionReq() { + if (checkversionReqBuilder_ == null) { + return checkversionReq_; + } else { + return checkversionReqBuilder_.getMessage(); + } + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public Builder setCheckversionReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq value) { + if (checkversionReqBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + checkversionReq_ = value; + onChanged(); + } else { + checkversionReqBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public Builder setCheckversionReq( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder builderForValue) { + if (checkversionReqBuilder_ == null) { + checkversionReq_ = builderForValue.build(); + onChanged(); + } else { + checkversionReqBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public Builder mergeCheckversionReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq value) { + if (checkversionReqBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + checkversionReq_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance()) { + checkversionReq_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.newBuilder(checkversionReq_).mergeFrom(value).buildPartial(); + } else { + checkversionReq_ = value; + } + onChanged(); + } else { + checkversionReqBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public Builder clearCheckversionReq() { + if (checkversionReqBuilder_ == null) { + checkversionReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.getDefaultInstance(); + onChanged(); + } else { + checkversionReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder getCheckversionReqBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getCheckversionReqFieldBuilder().getBuilder(); + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder getCheckversionReqOrBuilder() { + if (checkversionReqBuilder_ != null) { + return checkversionReqBuilder_.getMessageOrBuilder(); + } else { + return checkversionReq_; + } + } + /** + * optional .ECS.CheckVersionReq checkversion_req = 2; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder> + getCheckversionReqFieldBuilder() { + if (checkversionReqBuilder_ == null) { + checkversionReqBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionReqOrBuilder>( + checkversionReq_, + getParentForChildren(), + isClean()); + checkversionReq_ = null; + } + return checkversionReqBuilder_; + } + + // optional .ECS.CheckVersionAns checkversion_ans = 3; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns checkversionAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder> checkversionAnsBuilder_; + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public boolean hasCheckversionAns() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns getCheckversionAns() { + if (checkversionAnsBuilder_ == null) { + return checkversionAns_; + } else { + return checkversionAnsBuilder_.getMessage(); + } + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public Builder setCheckversionAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns value) { + if (checkversionAnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + checkversionAns_ = value; + onChanged(); + } else { + checkversionAnsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public Builder setCheckversionAns( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder builderForValue) { + if (checkversionAnsBuilder_ == null) { + checkversionAns_ = builderForValue.build(); + onChanged(); + } else { + checkversionAnsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public Builder mergeCheckversionAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns value) { + if (checkversionAnsBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + checkversionAns_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance()) { + checkversionAns_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.newBuilder(checkversionAns_).mergeFrom(value).buildPartial(); + } else { + checkversionAns_ = value; + } + onChanged(); + } else { + checkversionAnsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public Builder clearCheckversionAns() { + if (checkversionAnsBuilder_ == null) { + checkversionAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.getDefaultInstance(); + onChanged(); + } else { + checkversionAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder getCheckversionAnsBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getCheckversionAnsFieldBuilder().getBuilder(); + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder getCheckversionAnsOrBuilder() { + if (checkversionAnsBuilder_ != null) { + return checkversionAnsBuilder_.getMessageOrBuilder(); + } else { + return checkversionAns_; + } + } + /** + * optional .ECS.CheckVersionAns checkversion_ans = 3; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder> + getCheckversionAnsFieldBuilder() { + if (checkversionAnsBuilder_ == null) { + checkversionAnsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.CheckVersionAnsOrBuilder>( + checkversionAns_, + getParentForChildren(), + isClean()); + checkversionAns_ = null; + } + return checkversionAnsBuilder_; + } + + // optional .ECS.KeepAliveReq keepalive_req = 4; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq keepaliveReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder> keepaliveReqBuilder_; + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public boolean hasKeepaliveReq() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq getKeepaliveReq() { + if (keepaliveReqBuilder_ == null) { + return keepaliveReq_; + } else { + return keepaliveReqBuilder_.getMessage(); + } + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public Builder setKeepaliveReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq value) { + if (keepaliveReqBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + keepaliveReq_ = value; + onChanged(); + } else { + keepaliveReqBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public Builder setKeepaliveReq( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder builderForValue) { + if (keepaliveReqBuilder_ == null) { + keepaliveReq_ = builderForValue.build(); + onChanged(); + } else { + keepaliveReqBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public Builder mergeKeepaliveReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq value) { + if (keepaliveReqBuilder_ == null) { + if (((bitField0_ & 0x00000008) == 0x00000008) && + keepaliveReq_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance()) { + keepaliveReq_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.newBuilder(keepaliveReq_).mergeFrom(value).buildPartial(); + } else { + keepaliveReq_ = value; + } + onChanged(); + } else { + keepaliveReqBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public Builder clearKeepaliveReq() { + if (keepaliveReqBuilder_ == null) { + keepaliveReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.getDefaultInstance(); + onChanged(); + } else { + keepaliveReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder getKeepaliveReqBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getKeepaliveReqFieldBuilder().getBuilder(); + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder getKeepaliveReqOrBuilder() { + if (keepaliveReqBuilder_ != null) { + return keepaliveReqBuilder_.getMessageOrBuilder(); + } else { + return keepaliveReq_; + } + } + /** + * optional .ECS.KeepAliveReq keepalive_req = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder> + getKeepaliveReqFieldBuilder() { + if (keepaliveReqBuilder_ == null) { + keepaliveReqBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveReqOrBuilder>( + keepaliveReq_, + getParentForChildren(), + isClean()); + keepaliveReq_ = null; + } + return keepaliveReqBuilder_; + } + + // optional .ECS.KeepAliveAns keepalive_ans = 5; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns keepaliveAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder> keepaliveAnsBuilder_; + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public boolean hasKeepaliveAns() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns getKeepaliveAns() { + if (keepaliveAnsBuilder_ == null) { + return keepaliveAns_; + } else { + return keepaliveAnsBuilder_.getMessage(); + } + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public Builder setKeepaliveAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns value) { + if (keepaliveAnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + keepaliveAns_ = value; + onChanged(); + } else { + keepaliveAnsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public Builder setKeepaliveAns( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder builderForValue) { + if (keepaliveAnsBuilder_ == null) { + keepaliveAns_ = builderForValue.build(); + onChanged(); + } else { + keepaliveAnsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public Builder mergeKeepaliveAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns value) { + if (keepaliveAnsBuilder_ == null) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + keepaliveAns_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance()) { + keepaliveAns_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.newBuilder(keepaliveAns_).mergeFrom(value).buildPartial(); + } else { + keepaliveAns_ = value; + } + onChanged(); + } else { + keepaliveAnsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public Builder clearKeepaliveAns() { + if (keepaliveAnsBuilder_ == null) { + keepaliveAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.getDefaultInstance(); + onChanged(); + } else { + keepaliveAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder getKeepaliveAnsBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getKeepaliveAnsFieldBuilder().getBuilder(); + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder getKeepaliveAnsOrBuilder() { + if (keepaliveAnsBuilder_ != null) { + return keepaliveAnsBuilder_.getMessageOrBuilder(); + } else { + return keepaliveAns_; + } + } + /** + * optional .ECS.KeepAliveAns keepalive_ans = 5; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder> + getKeepaliveAnsFieldBuilder() { + if (keepaliveAnsBuilder_ == null) { + keepaliveAnsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.KeepAliveAnsOrBuilder>( + keepaliveAns_, + getParentForChildren(), + isClean()); + keepaliveAns_ = null; + } + return keepaliveAnsBuilder_; + } + + // optional .ECS.InjectorReq injector_req = 6; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq injectorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder> injectorReqBuilder_; + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public boolean hasInjectorReq() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq getInjectorReq() { + if (injectorReqBuilder_ == null) { + return injectorReq_; + } else { + return injectorReqBuilder_.getMessage(); + } + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public Builder setInjectorReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq value) { + if (injectorReqBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + injectorReq_ = value; + onChanged(); + } else { + injectorReqBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public Builder setInjectorReq( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder builderForValue) { + if (injectorReqBuilder_ == null) { + injectorReq_ = builderForValue.build(); + onChanged(); + } else { + injectorReqBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public Builder mergeInjectorReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq value) { + if (injectorReqBuilder_ == null) { + if (((bitField0_ & 0x00000020) == 0x00000020) && + injectorReq_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance()) { + injectorReq_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.newBuilder(injectorReq_).mergeFrom(value).buildPartial(); + } else { + injectorReq_ = value; + } + onChanged(); + } else { + injectorReqBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public Builder clearInjectorReq() { + if (injectorReqBuilder_ == null) { + injectorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.getDefaultInstance(); + onChanged(); + } else { + injectorReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder getInjectorReqBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return getInjectorReqFieldBuilder().getBuilder(); + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder getInjectorReqOrBuilder() { + if (injectorReqBuilder_ != null) { + return injectorReqBuilder_.getMessageOrBuilder(); + } else { + return injectorReq_; + } + } + /** + * optional .ECS.InjectorReq injector_req = 6; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder> + getInjectorReqFieldBuilder() { + if (injectorReqBuilder_ == null) { + injectorReqBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorReqOrBuilder>( + injectorReq_, + getParentForChildren(), + isClean()); + injectorReq_ = null; + } + return injectorReqBuilder_; + } + + // optional .ECS.InjectorAns injector_ans = 7; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns injectorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder> injectorAnsBuilder_; + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public boolean hasInjectorAns() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns getInjectorAns() { + if (injectorAnsBuilder_ == null) { + return injectorAns_; + } else { + return injectorAnsBuilder_.getMessage(); + } + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public Builder setInjectorAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns value) { + if (injectorAnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + injectorAns_ = value; + onChanged(); + } else { + injectorAnsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + return this; + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public Builder setInjectorAns( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder builderForValue) { + if (injectorAnsBuilder_ == null) { + injectorAns_ = builderForValue.build(); + onChanged(); + } else { + injectorAnsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + return this; + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public Builder mergeInjectorAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns value) { + if (injectorAnsBuilder_ == null) { + if (((bitField0_ & 0x00000040) == 0x00000040) && + injectorAns_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance()) { + injectorAns_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.newBuilder(injectorAns_).mergeFrom(value).buildPartial(); + } else { + injectorAns_ = value; + } + onChanged(); + } else { + injectorAnsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000040; + return this; + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public Builder clearInjectorAns() { + if (injectorAnsBuilder_ == null) { + injectorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.getDefaultInstance(); + onChanged(); + } else { + injectorAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder getInjectorAnsBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return getInjectorAnsFieldBuilder().getBuilder(); + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder getInjectorAnsOrBuilder() { + if (injectorAnsBuilder_ != null) { + return injectorAnsBuilder_.getMessageOrBuilder(); + } else { + return injectorAns_; + } + } + /** + * optional .ECS.InjectorAns injector_ans = 7; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder> + getInjectorAnsFieldBuilder() { + if (injectorAnsBuilder_ == null) { + injectorAnsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorAnsOrBuilder>( + injectorAns_, + getParentForChildren(), + isClean()); + injectorAns_ = null; + } + return injectorAnsBuilder_; + } + + // optional .ECS.InjectorNtf injector_ntf = 8; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf injectorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder> injectorNtfBuilder_; + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public boolean hasInjectorNtf() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf getInjectorNtf() { + if (injectorNtfBuilder_ == null) { + return injectorNtf_; + } else { + return injectorNtfBuilder_.getMessage(); + } + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public Builder setInjectorNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf value) { + if (injectorNtfBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + injectorNtf_ = value; + onChanged(); + } else { + injectorNtfBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + return this; + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public Builder setInjectorNtf( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder builderForValue) { + if (injectorNtfBuilder_ == null) { + injectorNtf_ = builderForValue.build(); + onChanged(); + } else { + injectorNtfBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + return this; + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public Builder mergeInjectorNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf value) { + if (injectorNtfBuilder_ == null) { + if (((bitField0_ & 0x00000080) == 0x00000080) && + injectorNtf_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance()) { + injectorNtf_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.newBuilder(injectorNtf_).mergeFrom(value).buildPartial(); + } else { + injectorNtf_ = value; + } + onChanged(); + } else { + injectorNtfBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000080; + return this; + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public Builder clearInjectorNtf() { + if (injectorNtfBuilder_ == null) { + injectorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.getDefaultInstance(); + onChanged(); + } else { + injectorNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000080); + return this; + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder getInjectorNtfBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return getInjectorNtfFieldBuilder().getBuilder(); + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder getInjectorNtfOrBuilder() { + if (injectorNtfBuilder_ != null) { + return injectorNtfBuilder_.getMessageOrBuilder(); + } else { + return injectorNtf_; + } + } + /** + * optional .ECS.InjectorNtf injector_ntf = 8; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder> + getInjectorNtfFieldBuilder() { + if (injectorNtfBuilder_ == null) { + injectorNtfBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.InjectorNtfOrBuilder>( + injectorNtf_, + getParentForChildren(), + isClean()); + injectorNtf_ = null; + } + return injectorNtfBuilder_; + } + + // optional .ECS.DeviceReq device_req = 9; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq deviceReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder> deviceReqBuilder_; + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public boolean hasDeviceReq() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq getDeviceReq() { + if (deviceReqBuilder_ == null) { + return deviceReq_; + } else { + return deviceReqBuilder_.getMessage(); + } + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public Builder setDeviceReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq value) { + if (deviceReqBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deviceReq_ = value; + onChanged(); + } else { + deviceReqBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + return this; + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public Builder setDeviceReq( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder builderForValue) { + if (deviceReqBuilder_ == null) { + deviceReq_ = builderForValue.build(); + onChanged(); + } else { + deviceReqBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + return this; + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public Builder mergeDeviceReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq value) { + if (deviceReqBuilder_ == null) { + if (((bitField0_ & 0x00000100) == 0x00000100) && + deviceReq_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance()) { + deviceReq_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.newBuilder(deviceReq_).mergeFrom(value).buildPartial(); + } else { + deviceReq_ = value; + } + onChanged(); + } else { + deviceReqBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000100; + return this; + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public Builder clearDeviceReq() { + if (deviceReqBuilder_ == null) { + deviceReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.getDefaultInstance(); + onChanged(); + } else { + deviceReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder getDeviceReqBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return getDeviceReqFieldBuilder().getBuilder(); + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder getDeviceReqOrBuilder() { + if (deviceReqBuilder_ != null) { + return deviceReqBuilder_.getMessageOrBuilder(); + } else { + return deviceReq_; + } + } + /** + * optional .ECS.DeviceReq device_req = 9; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder> + getDeviceReqFieldBuilder() { + if (deviceReqBuilder_ == null) { + deviceReqBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceReqOrBuilder>( + deviceReq_, + getParentForChildren(), + isClean()); + deviceReq_ = null; + } + return deviceReqBuilder_; + } + + // optional .ECS.DeviceAns device_ans = 10; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns deviceAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder> deviceAnsBuilder_; + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public boolean hasDeviceAns() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns getDeviceAns() { + if (deviceAnsBuilder_ == null) { + return deviceAns_; + } else { + return deviceAnsBuilder_.getMessage(); + } + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public Builder setDeviceAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns value) { + if (deviceAnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deviceAns_ = value; + onChanged(); + } else { + deviceAnsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; + return this; + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public Builder setDeviceAns( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder builderForValue) { + if (deviceAnsBuilder_ == null) { + deviceAns_ = builderForValue.build(); + onChanged(); + } else { + deviceAnsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + return this; + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public Builder mergeDeviceAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns value) { + if (deviceAnsBuilder_ == null) { + if (((bitField0_ & 0x00000200) == 0x00000200) && + deviceAns_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance()) { + deviceAns_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.newBuilder(deviceAns_).mergeFrom(value).buildPartial(); + } else { + deviceAns_ = value; + } + onChanged(); + } else { + deviceAnsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000200; + return this; + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public Builder clearDeviceAns() { + if (deviceAnsBuilder_ == null) { + deviceAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.getDefaultInstance(); + onChanged(); + } else { + deviceAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000200); + return this; + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder getDeviceAnsBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return getDeviceAnsFieldBuilder().getBuilder(); + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder getDeviceAnsOrBuilder() { + if (deviceAnsBuilder_ != null) { + return deviceAnsBuilder_.getMessageOrBuilder(); + } else { + return deviceAns_; + } + } + /** + * optional .ECS.DeviceAns device_ans = 10; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder> + getDeviceAnsFieldBuilder() { + if (deviceAnsBuilder_ == null) { + deviceAnsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceAnsOrBuilder>( + deviceAns_, + getParentForChildren(), + isClean()); + deviceAns_ = null; + } + return deviceAnsBuilder_; + } + + // optional .ECS.DeviceNtf device_ntf = 11; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf deviceNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder> deviceNtfBuilder_; + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public boolean hasDeviceNtf() { + return ((bitField0_ & 0x00000400) == 0x00000400); + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf getDeviceNtf() { + if (deviceNtfBuilder_ == null) { + return deviceNtf_; + } else { + return deviceNtfBuilder_.getMessage(); + } + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public Builder setDeviceNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf value) { + if (deviceNtfBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deviceNtf_ = value; + onChanged(); + } else { + deviceNtfBuilder_.setMessage(value); + } + bitField0_ |= 0x00000400; + return this; + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public Builder setDeviceNtf( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder builderForValue) { + if (deviceNtfBuilder_ == null) { + deviceNtf_ = builderForValue.build(); + onChanged(); + } else { + deviceNtfBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000400; + return this; + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public Builder mergeDeviceNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf value) { + if (deviceNtfBuilder_ == null) { + if (((bitField0_ & 0x00000400) == 0x00000400) && + deviceNtf_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance()) { + deviceNtf_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.newBuilder(deviceNtf_).mergeFrom(value).buildPartial(); + } else { + deviceNtf_ = value; + } + onChanged(); + } else { + deviceNtfBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000400; + return this; + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public Builder clearDeviceNtf() { + if (deviceNtfBuilder_ == null) { + deviceNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.getDefaultInstance(); + onChanged(); + } else { + deviceNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000400); + return this; + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder getDeviceNtfBuilder() { + bitField0_ |= 0x00000400; + onChanged(); + return getDeviceNtfFieldBuilder().getBuilder(); + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder getDeviceNtfOrBuilder() { + if (deviceNtfBuilder_ != null) { + return deviceNtfBuilder_.getMessageOrBuilder(); + } else { + return deviceNtf_; + } + } + /** + * optional .ECS.DeviceNtf device_ntf = 11; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder> + getDeviceNtfFieldBuilder() { + if (deviceNtfBuilder_ == null) { + deviceNtfBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.DeviceNtfOrBuilder>( + deviceNtf_, + getParentForChildren(), + isClean()); + deviceNtf_ = null; + } + return deviceNtfBuilder_; + } + + // optional .ECS.MonitorReq monitor_req = 12; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq monitorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder> monitorReqBuilder_; + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public boolean hasMonitorReq() { + return ((bitField0_ & 0x00000800) == 0x00000800); + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq getMonitorReq() { + if (monitorReqBuilder_ == null) { + return monitorReq_; + } else { + return monitorReqBuilder_.getMessage(); + } + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public Builder setMonitorReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq value) { + if (monitorReqBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + monitorReq_ = value; + onChanged(); + } else { + monitorReqBuilder_.setMessage(value); + } + bitField0_ |= 0x00000800; + return this; + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public Builder setMonitorReq( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder builderForValue) { + if (monitorReqBuilder_ == null) { + monitorReq_ = builderForValue.build(); + onChanged(); + } else { + monitorReqBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000800; + return this; + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public Builder mergeMonitorReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq value) { + if (monitorReqBuilder_ == null) { + if (((bitField0_ & 0x00000800) == 0x00000800) && + monitorReq_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance()) { + monitorReq_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.newBuilder(monitorReq_).mergeFrom(value).buildPartial(); + } else { + monitorReq_ = value; + } + onChanged(); + } else { + monitorReqBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000800; + return this; + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public Builder clearMonitorReq() { + if (monitorReqBuilder_ == null) { + monitorReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.getDefaultInstance(); + onChanged(); + } else { + monitorReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000800); + return this; + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder getMonitorReqBuilder() { + bitField0_ |= 0x00000800; + onChanged(); + return getMonitorReqFieldBuilder().getBuilder(); + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder getMonitorReqOrBuilder() { + if (monitorReqBuilder_ != null) { + return monitorReqBuilder_.getMessageOrBuilder(); + } else { + return monitorReq_; + } + } + /** + * optional .ECS.MonitorReq monitor_req = 12; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder> + getMonitorReqFieldBuilder() { + if (monitorReqBuilder_ == null) { + monitorReqBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorReqOrBuilder>( + monitorReq_, + getParentForChildren(), + isClean()); + monitorReq_ = null; + } + return monitorReqBuilder_; + } + + // optional .ECS.MonitorAns monitor_ans = 13; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns monitorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder> monitorAnsBuilder_; + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public boolean hasMonitorAns() { + return ((bitField0_ & 0x00001000) == 0x00001000); + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns getMonitorAns() { + if (monitorAnsBuilder_ == null) { + return monitorAns_; + } else { + return monitorAnsBuilder_.getMessage(); + } + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public Builder setMonitorAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns value) { + if (monitorAnsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + monitorAns_ = value; + onChanged(); + } else { + monitorAnsBuilder_.setMessage(value); + } + bitField0_ |= 0x00001000; + return this; + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public Builder setMonitorAns( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder builderForValue) { + if (monitorAnsBuilder_ == null) { + monitorAns_ = builderForValue.build(); + onChanged(); + } else { + monitorAnsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00001000; + return this; + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public Builder mergeMonitorAns(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns value) { + if (monitorAnsBuilder_ == null) { + if (((bitField0_ & 0x00001000) == 0x00001000) && + monitorAns_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance()) { + monitorAns_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.newBuilder(monitorAns_).mergeFrom(value).buildPartial(); + } else { + monitorAns_ = value; + } + onChanged(); + } else { + monitorAnsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00001000; + return this; + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public Builder clearMonitorAns() { + if (monitorAnsBuilder_ == null) { + monitorAns_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.getDefaultInstance(); + onChanged(); + } else { + monitorAnsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00001000); + return this; + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder getMonitorAnsBuilder() { + bitField0_ |= 0x00001000; + onChanged(); + return getMonitorAnsFieldBuilder().getBuilder(); + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder getMonitorAnsOrBuilder() { + if (monitorAnsBuilder_ != null) { + return monitorAnsBuilder_.getMessageOrBuilder(); + } else { + return monitorAns_; + } + } + /** + * optional .ECS.MonitorAns monitor_ans = 13; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder> + getMonitorAnsFieldBuilder() { + if (monitorAnsBuilder_ == null) { + monitorAnsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAns.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorAnsOrBuilder>( + monitorAns_, + getParentForChildren(), + isClean()); + monitorAns_ = null; + } + return monitorAnsBuilder_; + } + + // optional .ECS.MonitorNtf monitor_ntf = 14; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf monitorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder> monitorNtfBuilder_; + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public boolean hasMonitorNtf() { + return ((bitField0_ & 0x00002000) == 0x00002000); + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf getMonitorNtf() { + if (monitorNtfBuilder_ == null) { + return monitorNtf_; + } else { + return monitorNtfBuilder_.getMessage(); + } + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public Builder setMonitorNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf value) { + if (monitorNtfBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + monitorNtf_ = value; + onChanged(); + } else { + monitorNtfBuilder_.setMessage(value); + } + bitField0_ |= 0x00002000; + return this; + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public Builder setMonitorNtf( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder builderForValue) { + if (monitorNtfBuilder_ == null) { + monitorNtf_ = builderForValue.build(); + onChanged(); + } else { + monitorNtfBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00002000; + return this; + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public Builder mergeMonitorNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf value) { + if (monitorNtfBuilder_ == null) { + if (((bitField0_ & 0x00002000) == 0x00002000) && + monitorNtf_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance()) { + monitorNtf_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.newBuilder(monitorNtf_).mergeFrom(value).buildPartial(); + } else { + monitorNtf_ = value; + } + onChanged(); + } else { + monitorNtfBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00002000; + return this; + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public Builder clearMonitorNtf() { + if (monitorNtfBuilder_ == null) { + monitorNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.getDefaultInstance(); + onChanged(); + } else { + monitorNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00002000); + return this; + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder getMonitorNtfBuilder() { + bitField0_ |= 0x00002000; + onChanged(); + return getMonitorNtfFieldBuilder().getBuilder(); + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder getMonitorNtfOrBuilder() { + if (monitorNtfBuilder_ != null) { + return monitorNtfBuilder_.getMessageOrBuilder(); + } else { + return monitorNtf_; + } + } + /** + * optional .ECS.MonitorNtf monitor_ntf = 14; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder> + getMonitorNtfFieldBuilder() { + if (monitorNtfBuilder_ == null) { + monitorNtfBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.MonitorNtfOrBuilder>( + monitorNtf_, + getParentForChildren(), + isClean()); + monitorNtf_ = null; + } + return monitorNtfBuilder_; + } + + // optional .ECS.NfcReq nfc_req = 101; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq nfcReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder> nfcReqBuilder_; + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public boolean hasNfcReq() { + return ((bitField0_ & 0x00004000) == 0x00004000); + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq getNfcReq() { + if (nfcReqBuilder_ == null) { + return nfcReq_; + } else { + return nfcReqBuilder_.getMessage(); + } + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public Builder setNfcReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq value) { + if (nfcReqBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + nfcReq_ = value; + onChanged(); + } else { + nfcReqBuilder_.setMessage(value); + } + bitField0_ |= 0x00004000; + return this; + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public Builder setNfcReq( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder builderForValue) { + if (nfcReqBuilder_ == null) { + nfcReq_ = builderForValue.build(); + onChanged(); + } else { + nfcReqBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00004000; + return this; + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public Builder mergeNfcReq(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq value) { + if (nfcReqBuilder_ == null) { + if (((bitField0_ & 0x00004000) == 0x00004000) && + nfcReq_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance()) { + nfcReq_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.newBuilder(nfcReq_).mergeFrom(value).buildPartial(); + } else { + nfcReq_ = value; + } + onChanged(); + } else { + nfcReqBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00004000; + return this; + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public Builder clearNfcReq() { + if (nfcReqBuilder_ == null) { + nfcReq_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.getDefaultInstance(); + onChanged(); + } else { + nfcReqBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00004000); + return this; + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder getNfcReqBuilder() { + bitField0_ |= 0x00004000; + onChanged(); + return getNfcReqFieldBuilder().getBuilder(); + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder getNfcReqOrBuilder() { + if (nfcReqBuilder_ != null) { + return nfcReqBuilder_.getMessageOrBuilder(); + } else { + return nfcReq_; + } + } + /** + * optional .ECS.NfcReq nfc_req = 101; + * + *
+       * Extensions 101 to 150;
+       * 
+ */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder> + getNfcReqFieldBuilder() { + if (nfcReqBuilder_ == null) { + nfcReqBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReq.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcReqOrBuilder>( + nfcReq_, + getParentForChildren(), + isClean()); + nfcReq_ = null; + } + return nfcReqBuilder_; + } + + // optional .ECS.NfcNtf nfc_ntf = 102; + private org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf nfcNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder> nfcNtfBuilder_; + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public boolean hasNfcNtf() { + return ((bitField0_ & 0x00008000) == 0x00008000); + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf getNfcNtf() { + if (nfcNtfBuilder_ == null) { + return nfcNtf_; + } else { + return nfcNtfBuilder_.getMessage(); + } + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public Builder setNfcNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf value) { + if (nfcNtfBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + nfcNtf_ = value; + onChanged(); + } else { + nfcNtfBuilder_.setMessage(value); + } + bitField0_ |= 0x00008000; + return this; + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public Builder setNfcNtf( + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder builderForValue) { + if (nfcNtfBuilder_ == null) { + nfcNtf_ = builderForValue.build(); + onChanged(); + } else { + nfcNtfBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00008000; + return this; + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public Builder mergeNfcNtf(org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf value) { + if (nfcNtfBuilder_ == null) { + if (((bitField0_ & 0x00008000) == 0x00008000) && + nfcNtf_ != org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance()) { + nfcNtf_ = + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.newBuilder(nfcNtf_).mergeFrom(value).buildPartial(); + } else { + nfcNtf_ = value; + } + onChanged(); + } else { + nfcNtfBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00008000; + return this; + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public Builder clearNfcNtf() { + if (nfcNtfBuilder_ == null) { + nfcNtf_ = org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.getDefaultInstance(); + onChanged(); + } else { + nfcNtfBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00008000); + return this; + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder getNfcNtfBuilder() { + bitField0_ |= 0x00008000; + onChanged(); + return getNfcNtfFieldBuilder().getBuilder(); + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + public org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder getNfcNtfOrBuilder() { + if (nfcNtfBuilder_ != null) { + return nfcNtfBuilder_.getMessageOrBuilder(); + } else { + return nfcNtf_; + } + } + /** + * optional .ECS.NfcNtf nfc_ntf = 102; + */ + private com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder> + getNfcNtfFieldBuilder() { + if (nfcNtfBuilder_ == null) { + nfcNtfBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtf.Builder, org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.Ecs.NfcNtfOrBuilder>( + nfcNtf_, + getParentForChildren(), + isClean()); + nfcNtf_ = null; + } + return nfcNtfBuilder_; + } + + // @@protoc_insertion_point(builder_scope:ECS.Master) + } + + static { + defaultInstance = new Master(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:ECS.Master) + } + + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_CheckVersionReq_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_CheckVersionReq_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_CheckVersionAns_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_CheckVersionAns_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_KeepAliveReq_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_KeepAliveReq_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_KeepAliveAns_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_KeepAliveAns_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_InjectorReq_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_InjectorReq_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_InjectorAns_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_InjectorAns_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_InjectorNtf_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_InjectorNtf_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_DeviceReq_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_DeviceReq_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_DeviceAns_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_DeviceAns_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_DeviceNtf_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_DeviceNtf_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_MonitorReq_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_MonitorReq_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_MonitorAns_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_MonitorAns_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_MonitorNtf_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_MonitorNtf_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_NfcReq_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_NfcReq_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_NfcNtf_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_NfcNtf_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_ECS_Master_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_ECS_Master_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\tecs.proto\022\003ECS\032\recs_ids.proto\"&\n\017Check" + + "VersionReq\022\023\n\013version_str\030\001 \002(\t\"7\n\017Check" + + "VersionAns\022\017\n\007errcode\030\001 \002(\005\022\023\n\013version_s" + + "tr\030\002 \002(\t\" \n\014KeepAliveReq\022\020\n\010time_str\030\001 \001" + + "(\t\" \n\014KeepAliveAns\022\020\n\010time_str\030\001 \001(\t\"\\\n\013" + + "InjectorReq\022\020\n\010category\030\001 \002(\t\022\016\n\006length\030" + + "\002 \002(\005\022\r\n\005group\030\003 \002(\005\022\016\n\006action\030\004 \002(\005\022\014\n\004" + + "data\030\005 \001(\014\"@\n\013InjectorAns\022\017\n\007errcode\030\001 \002" + + "(\005\022\016\n\006errstr\030\002 \001(\t\022\020\n\010category\030\003 \002(\t\"\\\n\013" + + "InjectorNtf\022\020\n\010category\030\001 \002(\t\022\016\n\006length\030", + "\002 \002(\005\022\r\n\005group\030\003 \002(\005\022\016\n\006action\030\004 \002(\005\022\014\n\004" + + "data\030\005 \001(\014\"Z\n\tDeviceReq\022\020\n\010category\030\001 \002(" + + "\t\022\016\n\006length\030\002 \002(\005\022\r\n\005group\030\003 \002(\005\022\016\n\006acti" + + "on\030\004 \002(\005\022\014\n\004data\030\005 \001(\014\"{\n\tDeviceAns\022\017\n\007e" + + "rrcode\030\001 \002(\005\022\016\n\006errstr\030\002 \001(\t\022\020\n\010category" + + "\030\003 \002(\t\022\016\n\006length\030\004 \002(\005\022\r\n\005group\030\005 \002(\005\022\016\n" + + "\006action\030\006 \002(\005\022\014\n\004data\030\007 \001(\014\"Z\n\tDeviceNtf" + + "\022\020\n\010category\030\001 \002(\t\022\016\n\006length\030\002 \002(\005\022\r\n\005gr" + + "oup\030\003 \002(\005\022\016\n\006action\030\004 \002(\005\022\014\n\004data\030\005 \001(\014\"" + + "\035\n\nMonitorReq\022\017\n\007command\030\001 \002(\t\"L\n\nMonito", + "rAns\022\017\n\007errcode\030\001 \002(\005\022\016\n\006errmsg\030\002 \001(\t\022\017\n" + + "\007command\030\003 \002(\t\022\014\n\004data\030\004 \001(\014\"+\n\nMonitorN" + + "tf\022\017\n\007command\030\001 \002(\t\022\014\n\004data\030\002 \001(\014\"(\n\006Nfc" + + "Req\022\020\n\010category\030\001 \002(\t\022\014\n\004data\030\002 \001(\014\"(\n\006N" + + "fcNtf\022\020\n\010category\030\001 \002(\t\022\014\n\004data\030\002 \001(\014\"\356\004" + + "\n\006Master\022\036\n\004type\030\001 \002(\0162\020.ECS.Master_Type" + + "\022.\n\020checkversion_req\030\002 \001(\0132\024.ECS.CheckVe" + + "rsionReq\022.\n\020checkversion_ans\030\003 \001(\0132\024.ECS" + + ".CheckVersionAns\022(\n\rkeepalive_req\030\004 \001(\0132" + + "\021.ECS.KeepAliveReq\022(\n\rkeepalive_ans\030\005 \001(", + "\0132\021.ECS.KeepAliveAns\022&\n\014injector_req\030\006 \001" + + "(\0132\020.ECS.InjectorReq\022&\n\014injector_ans\030\007 \001" + + "(\0132\020.ECS.InjectorAns\022&\n\014injector_ntf\030\010 \001" + + "(\0132\020.ECS.InjectorNtf\022\"\n\ndevice_req\030\t \001(\013" + + "2\016.ECS.DeviceReq\022\"\n\ndevice_ans\030\n \001(\0132\016.E" + + "CS.DeviceAns\022\"\n\ndevice_ntf\030\013 \001(\0132\016.ECS.D" + + "eviceNtf\022$\n\013monitor_req\030\014 \001(\0132\017.ECS.Moni" + + "torReq\022$\n\013monitor_ans\030\r \001(\0132\017.ECS.Monito" + + "rAns\022$\n\013monitor_ntf\030\016 \001(\0132\017.ECS.MonitorN" + + "tf\022\034\n\007nfc_req\030e \001(\0132\013.ECS.NfcReq\022\034\n\007nfc_", + "ntf\030f \001(\0132\013.ECS.NfcNtfB0\n.org.tizen.dyna" + + "micanalyzer.ui.info.snapshot.ecs" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + internal_static_ECS_CheckVersionReq_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_ECS_CheckVersionReq_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_CheckVersionReq_descriptor, + new java.lang.String[] { "VersionStr", }); + internal_static_ECS_CheckVersionAns_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_ECS_CheckVersionAns_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_CheckVersionAns_descriptor, + new java.lang.String[] { "Errcode", "VersionStr", }); + internal_static_ECS_KeepAliveReq_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_ECS_KeepAliveReq_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_KeepAliveReq_descriptor, + new java.lang.String[] { "TimeStr", }); + internal_static_ECS_KeepAliveAns_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_ECS_KeepAliveAns_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_KeepAliveAns_descriptor, + new java.lang.String[] { "TimeStr", }); + internal_static_ECS_InjectorReq_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_ECS_InjectorReq_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_InjectorReq_descriptor, + new java.lang.String[] { "Category", "Length", "Group", "Action", "Data", }); + internal_static_ECS_InjectorAns_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_ECS_InjectorAns_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_InjectorAns_descriptor, + new java.lang.String[] { "Errcode", "Errstr", "Category", }); + internal_static_ECS_InjectorNtf_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_ECS_InjectorNtf_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_InjectorNtf_descriptor, + new java.lang.String[] { "Category", "Length", "Group", "Action", "Data", }); + internal_static_ECS_DeviceReq_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_ECS_DeviceReq_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_DeviceReq_descriptor, + new java.lang.String[] { "Category", "Length", "Group", "Action", "Data", }); + internal_static_ECS_DeviceAns_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_ECS_DeviceAns_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_DeviceAns_descriptor, + new java.lang.String[] { "Errcode", "Errstr", "Category", "Length", "Group", "Action", "Data", }); + internal_static_ECS_DeviceNtf_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_ECS_DeviceNtf_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_DeviceNtf_descriptor, + new java.lang.String[] { "Category", "Length", "Group", "Action", "Data", }); + internal_static_ECS_MonitorReq_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_ECS_MonitorReq_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_MonitorReq_descriptor, + new java.lang.String[] { "Command", }); + internal_static_ECS_MonitorAns_descriptor = + getDescriptor().getMessageTypes().get(11); + internal_static_ECS_MonitorAns_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_MonitorAns_descriptor, + new java.lang.String[] { "Errcode", "Errmsg", "Command", "Data", }); + internal_static_ECS_MonitorNtf_descriptor = + getDescriptor().getMessageTypes().get(12); + internal_static_ECS_MonitorNtf_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_MonitorNtf_descriptor, + new java.lang.String[] { "Command", "Data", }); + internal_static_ECS_NfcReq_descriptor = + getDescriptor().getMessageTypes().get(13); + internal_static_ECS_NfcReq_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_NfcReq_descriptor, + new java.lang.String[] { "Category", "Data", }); + internal_static_ECS_NfcNtf_descriptor = + getDescriptor().getMessageTypes().get(14); + internal_static_ECS_NfcNtf_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_NfcNtf_descriptor, + new java.lang.String[] { "Category", "Data", }); + internal_static_ECS_Master_descriptor = + getDescriptor().getMessageTypes().get(15); + internal_static_ECS_Master_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_ECS_Master_descriptor, + new java.lang.String[] { "Type", "CheckversionReq", "CheckversionAns", "KeepaliveReq", "KeepaliveAns", "InjectorReq", "InjectorAns", "InjectorNtf", "DeviceReq", "DeviceAns", "DeviceNtf", "MonitorReq", "MonitorAns", "MonitorNtf", "NfcReq", "NfcNtf", }); + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.getDescriptor(), + }, assigner); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/EcsIds.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/EcsIds.java new file mode 100644 index 0000000..5dfd1c1 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/ecs/EcsIds.java @@ -0,0 +1,244 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ecs_ids.proto + +package org.tizen.dynamicanalyzer.ui.info.snapshot.ecs; + +public final class EcsIds { + private EcsIds() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + /** + * Protobuf enum {@code ECS.Master_Type} + */ + public enum Master_Type + implements com.google.protobuf.ProtocolMessageEnum { + /** + * CHECKVERSION_REQ = 2; + */ + CHECKVERSION_REQ(0, 2), + /** + * CHECKVERSION_ANS = 3; + */ + CHECKVERSION_ANS(1, 3), + /** + * KEEPALIVE_REQ = 4; + */ + KEEPALIVE_REQ(2, 4), + /** + * KEEPALIVE_ANS = 5; + */ + KEEPALIVE_ANS(3, 5), + /** + * INJECTOR_REQ = 6; + */ + INJECTOR_REQ(4, 6), + /** + * INJECTOR_ANS = 7; + */ + INJECTOR_ANS(5, 7), + /** + * INJECTOR_NTF = 8; + */ + INJECTOR_NTF(6, 8), + /** + * DEVICE_REQ = 9; + */ + DEVICE_REQ(7, 9), + /** + * DEVICE_ANS = 10; + */ + DEVICE_ANS(8, 10), + /** + * DEVICE_NTF = 11; + */ + DEVICE_NTF(9, 11), + /** + * MONITOR_REQ = 12; + */ + MONITOR_REQ(10, 12), + /** + * MONITOR_ANS = 13; + */ + MONITOR_ANS(11, 13), + /** + * MONITOR_NTF = 14; + */ + MONITOR_NTF(12, 14), + /** + * NFC_REQ = 101; + */ + NFC_REQ(13, 101), + /** + * NFC_NTF = 102; + */ + NFC_NTF(14, 102), + ; + + /** + * CHECKVERSION_REQ = 2; + */ + public static final int CHECKVERSION_REQ_VALUE = 2; + /** + * CHECKVERSION_ANS = 3; + */ + public static final int CHECKVERSION_ANS_VALUE = 3; + /** + * KEEPALIVE_REQ = 4; + */ + public static final int KEEPALIVE_REQ_VALUE = 4; + /** + * KEEPALIVE_ANS = 5; + */ + public static final int KEEPALIVE_ANS_VALUE = 5; + /** + * INJECTOR_REQ = 6; + */ + public static final int INJECTOR_REQ_VALUE = 6; + /** + * INJECTOR_ANS = 7; + */ + public static final int INJECTOR_ANS_VALUE = 7; + /** + * INJECTOR_NTF = 8; + */ + public static final int INJECTOR_NTF_VALUE = 8; + /** + * DEVICE_REQ = 9; + */ + public static final int DEVICE_REQ_VALUE = 9; + /** + * DEVICE_ANS = 10; + */ + public static final int DEVICE_ANS_VALUE = 10; + /** + * DEVICE_NTF = 11; + */ + public static final int DEVICE_NTF_VALUE = 11; + /** + * MONITOR_REQ = 12; + */ + public static final int MONITOR_REQ_VALUE = 12; + /** + * MONITOR_ANS = 13; + */ + public static final int MONITOR_ANS_VALUE = 13; + /** + * MONITOR_NTF = 14; + */ + public static final int MONITOR_NTF_VALUE = 14; + /** + * NFC_REQ = 101; + */ + public static final int NFC_REQ_VALUE = 101; + /** + * NFC_NTF = 102; + */ + public static final int NFC_NTF_VALUE = 102; + + + public final int getNumber() { return value; } + + public static Master_Type valueOf(int value) { + switch (value) { + case 2: return CHECKVERSION_REQ; + case 3: return CHECKVERSION_ANS; + case 4: return KEEPALIVE_REQ; + case 5: return KEEPALIVE_ANS; + case 6: return INJECTOR_REQ; + case 7: return INJECTOR_ANS; + case 8: return INJECTOR_NTF; + case 9: return DEVICE_REQ; + case 10: return DEVICE_ANS; + case 11: return DEVICE_NTF; + case 12: return MONITOR_REQ; + case 13: return MONITOR_ANS; + case 14: return MONITOR_NTF; + case 101: return NFC_REQ; + case 102: return NFC_NTF; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Master_Type findValueByNumber(int number) { + return Master_Type.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.tizen.dynamicanalyzer.ui.info.snapshot.ecs.EcsIds.getDescriptor().getEnumTypes().get(0); + } + + private static final Master_Type[] VALUES = values(); + + public static Master_Type valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private Master_Type(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:ECS.Master_Type) + } + + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\recs_ids.proto\022\003ECS*\222\002\n\013Master_Type\022\024\n\020" + + "CHECKVERSION_REQ\020\002\022\024\n\020CHECKVERSION_ANS\020\003" + + "\022\021\n\rKEEPALIVE_REQ\020\004\022\021\n\rKEEPALIVE_ANS\020\005\022\020" + + "\n\014INJECTOR_REQ\020\006\022\020\n\014INJECTOR_ANS\020\007\022\020\n\014IN" + + "JECTOR_NTF\020\010\022\016\n\nDEVICE_REQ\020\t\022\016\n\nDEVICE_A" + + "NS\020\n\022\016\n\nDEVICE_NTF\020\013\022\017\n\013MONITOR_REQ\020\014\022\017\n" + + "\013MONITOR_ANS\020\r\022\017\n\013MONITOR_NTF\020\016\022\013\n\007NFC_R" + + "EQ\020e\022\013\n\007NFC_NTF\020fB0\n.org.tizen.dynamican" + + "alyzer.ui.info.snapshot.ecs" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java index 9985a15..6cab103 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java @@ -34,6 +34,7 @@ import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; @@ -41,6 +42,7 @@ import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; import org.tizen.dynamicanalyzer.swap.logparser.Logs; import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.swap.model.data.ScreenShotData; +import org.tizen.dynamicanalyzer.ui.info.snapshot.SocketClient; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.widgets.chart.DAChart; import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeries; @@ -112,7 +114,16 @@ public class ScreenshotChart extends TimelineChart { + File.separator + AnalyzerConstants.IMAGE_FOLDER_NAME + File.separator + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME; - String imagePathLog = logData.getImageFilePath(); + String imagePathLog; + + if(DACommunicator.isTargetEmulator() + && SocketClient.getInstance().isConnected()) { + imagePathLog = DACommunicator.getSelectedDevice() + .emulatorSnapshot.getFilePath(); + } else { + imagePathLog = logData.getImageFilePath(); + } + String[] splitedImagePathLog = imagePathLog.split("/"); //$NON-NLS-1$ String fileName = splitedImagePathLog[splitedImagePathLog.length - 1]; imagePath += File.separator + fileName; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/ImageUtilSWT.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/ImageUtilSWT.java new file mode 100644 index 0000000..e56fc6b --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/ImageUtilSWT.java @@ -0,0 +1,177 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Woojin Jung + * Juyoung Kim + * Munkyu Im + * GiWoong Kim + * YeongKyoon Lee + * HyunJun Son + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.utils; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.SWTError; +import org.eclipse.swt.SWTException; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.graphics.ImageLoader; +import org.eclipse.swt.widgets.Display; + +public class ImageUtilSWT { + + /* + * reference web page : http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Rotateandflipanimage.htm + */ + private static ImageData rotateImageData( ImageData srcData, int direction ) { + int bytesPerPixel = srcData.bytesPerLine / srcData.width; + int destBytesPerLine = ( direction == SWT.DOWN ) ? srcData.width * bytesPerPixel : srcData.height + * bytesPerPixel; + byte[] newData = new byte[srcData.data.length]; + int width = 0, height = 0; + for ( int srcY = 0; srcY < srcData.height; srcY++ ) { + for ( int srcX = 0; srcX < srcData.width; srcX++ ) { + int destX = 0, destY = 0, destIndex = 0, srcIndex = 0; + switch ( direction ) { + case SWT.LEFT: // left 90 degrees + destX = srcY; + destY = srcData.width - srcX - 1; + width = srcData.height; + height = srcData.width; + break; + case SWT.RIGHT: // right 90 degrees + destX = srcData.height - srcY - 1; + destY = srcX; + width = srcData.height; + height = srcData.width; + break; + case SWT.DOWN: // 180 degrees + destX = srcData.width - srcX - 1; + destY = srcData.height - srcY - 1; + width = srcData.width; + height = srcData.height; + break; + } + destIndex = ( destY * destBytesPerLine ) + ( destX * bytesPerPixel ); + srcIndex = ( srcY * srcData.bytesPerLine ) + ( srcX * bytesPerPixel ); + System.arraycopy( srcData.data, srcIndex, newData, destIndex, bytesPerPixel ); + } + } + // destBytesPerLine is used as scanlinePad to ensure that no padding is + // required + return new ImageData( width, height, srcData.depth, srcData.palette, destBytesPerLine, newData ); + } + + private static void saveFile(Image image, String filePath) { + if ( null == filePath ) { + return; + } + + FileOutputStream fos = null; + + try { + ImageLoader loader = new ImageLoader(); + loader.data = new ImageData[] { image.getImageData() }; + + fos = new FileOutputStream( filePath, false ); + loader.save( fos, SWT.IMAGE_PNG ); + } catch ( FileNotFoundException ex ) { + ex.printStackTrace(); + } catch ( Exception ex ) { + ex.printStackTrace(); + } finally { + try { + if (null != fos) { + fos.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + private static Image createResizedImage(Image imageOrigin, + int width, int height) { + if (imageOrigin == null) { + return null; + } + + ImageData imageDataSrc = imageOrigin.getImageData(); + ImageData imageDataDst = (ImageData) imageDataSrc.clone(); + + imageDataDst = imageDataDst.scaledTo(width, height); + + return new Image(Display.getDefault(), imageDataDst); + } + + public static void transform(String originFilePath, String newFilePath, + int width, int height, int angle) { + Image img = null; + ImageData newImageData = null; + + try { + img = new Image(Display.getDefault(), originFilePath); + Image scaledImage = createResizedImage(img, width, height); + + if (angle == 0) { + newImageData = scaledImage.getImageData(); + } else if (angle == 90) { + newImageData = rotateImageData(scaledImage.getImageData(), SWT.RIGHT); + } else if (angle == 270) { + newImageData = rotateImageData(scaledImage.getImageData(), SWT.LEFT); + } else if (angle == 180) { + newImageData = rotateImageData(scaledImage.getImageData(), SWT.DOWN); + } + Image newImage = new Image(Display.getDefault(), newImageData); + saveFile(newImage, newFilePath); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (SWTError err) { + err.printStackTrace(); + } catch (SWTException e) { + e.printStackTrace(); + } + } + + public static void resize(String originFilePath, String newFilePath, + int width, int height) { + Image img = null; + + try { + img = new Image(Display.getDefault(), originFilePath); + Image scaledImage = createResizedImage(img, width, height); + + saveFile(scaledImage, newFilePath); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (SWTError err) { + err.printStackTrace(); + } catch (SWTException e) { + e.printStackTrace(); + } + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/JsonUtil.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/JsonUtil.java new file mode 100644 index 0000000..cb925e1 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/JsonUtil.java @@ -0,0 +1,141 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * WooJin Jung + * Juyoung Kim + * Jinhyung Choi + * MunKyu Im + * Daiyoung Kim + * YeongKyoon Lee + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ + +package org.tizen.dynamicanalyzer.utils; + +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; +import org.tizen.dynamicanalyzer.ui.info.snapshot.SocketConstants; + +public class JsonUtil { + public static final String CMD_SCREENDUMP = "screendump"; + public static final String CMD_EXECUTE = "execute"; + public static final String CMD_ARGS = "arguments"; + public static final String ARG_FILENAME = "filename"; + + private static JSONParser parser = new JSONParser(); + + public static JSONObject decodeObject(String message) { + JSONObject obj = null; + if (null == message) { + System.out.println("decodeObject - message string is null."); + return obj; + } + try { + obj = (JSONObject) parser.parse(message); + } catch (ParseException e) { + e.printStackTrace(); + System.out.println("[info] position: " + e.getPosition()); + System.out.println("[info] " + e.toString()); + } + return obj; + } + + public static JSONArray decodeArray(String message) { + JSONArray obj = null; + if (null == message) { + System.out.println("decodeArray - message string is null."); + return obj; + } + try { + obj = (JSONArray) parser.parse(message); + } catch (ParseException e) { + System.out.println("[info] position: " + e.getPosition()); + System.out.println("[info] " + e.toString()); + } + return obj; + } + + public static String decodeString(String message) { + if (null == message) { + System.out.println("decodeArray - message string is null."); + return null; + } + JSONObject obj = decodeObject(message); + if (null == obj) { + return null; + } + return obj.toJSONString(); + } + + @SuppressWarnings("unchecked") + public static String encodeString(String key, String value) { + if (null == value) { + return null; + } + JSONObject obj = new JSONObject(); + + obj.put(key, value); + + return obj.toJSONString().trim(); + } + + @SuppressWarnings("unchecked") + public static String encodeString(String key1, String value1, String key2, + String value2) { + JSONObject obj = new JSONObject(); + obj.put(key1, value1); + obj.put(key2, value2); + + return obj.toJSONString().trim(); + } + + @SuppressWarnings("unchecked") + public static String encodeString(String key1, String value1, String key2, + JSONObject objs) { + JSONObject obj = new JSONObject(); + obj.put(key1, value1); + obj.put(key2, objs); + + return obj.toJSONString().trim(); + } + + @SuppressWarnings("unchecked") + public static String encodeString(String key1, String value1, String key2, + JSONObject objs, String type) { + JSONObject obj = new JSONObject(); + obj.put(key1, value1); + obj.put(key2, objs); + obj.put(SocketConstants.MESSAGE_TYPE, type); + + return obj.toJSONString().trim(); + } + + @SuppressWarnings("unchecked") + public static JSONObject encodeObject(String key, String value) { + JSONObject obj = new JSONObject(); + + obj.put(key, value); + + return obj; + } +} -- 2.7.4