From 186690bd3c929b463daa6b472c9c4adfd7384e87 Mon Sep 17 00:00:00 2001 From: Kate Alhola Date: Thu, 11 Feb 2010 23:59:43 +0200 Subject: [PATCH] document tune up --- tpsession-0.1/doc/MaemoTelepathy.odt | Bin 234751 -> 140389 bytes tpsession-0.1/doc/doxygen.log | 9 +++++++++ tpsession-0.1/tpsession/libtpsession.so.0.1.0 | Bin 2006413 -> 2006397 bytes tpsession-0.1/tpsession/tpsessionaccount.cpp | 7 +++++++ www/MaemoTelepathy.html | 14 +++++++++----- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/tpsession-0.1/doc/MaemoTelepathy.odt b/tpsession-0.1/doc/MaemoTelepathy.odt index 1b42c6184a5801efeae7103cc4e5cea515b6c70a..91ceaaeb92f64da40840ed8971acc7dd120219b4 100644 GIT binary patch delta 11065 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 delta 106022 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 S(818bRzN6j#Mn1-)&BzvSItEL diff --git a/tpsession-0.1/doc/doxygen.log b/tpsession-0.1/doc/doxygen.log index a81e995..2b72a0a 100644 --- a/tpsession-0.1/doc/doxygen.log +++ b/tpsession-0.1/doc/doxygen.log @@ -42,6 +42,15 @@ Possible candidates: /home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionaccount.cpp:47: Warning: The following parameters of TpSessionAccount::messageReceived(const Tp::ReceivedMessage &_t1, TpSessionAccount *_t2) are not documented: parameter '_t1' parameter '_t2' +/home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionaccount.cpp:56: Warning: argument 'TpSession' of command @param is not found in the argument list of TpSessionAccount::newChannel(TpSessionAccount *_t1, QString CjhannelType, QString peerId, const Tp::ChannelDetails &_t4) +/home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionaccount.cpp:56: Warning: argument 'ChannelType' of command @param is not found in the argument list of TpSessionAccount::newChannel(TpSessionAccount *_t1, QString CjhannelType, QString peerId, const Tp::ChannelDetails &_t4) +/home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionaccount.cpp:56: Warning: argument 'peedId' of command @param is not found in the argument list of TpSessionAccount::newChannel(TpSessionAccount *_t1, QString CjhannelType, QString peerId, const Tp::ChannelDetails &_t4) +/home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionaccount.cpp:56: Warning: argument 'channeDetails' of command @param is not found in the argument list of TpSessionAccount::newChannel(TpSessionAccount *_t1, QString CjhannelType, QString peerId, const Tp::ChannelDetails &_t4) +/home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionaccount.cpp:56: Warning: The following parameters of TpSessionAccount::newChannel(TpSessionAccount *_t1, QString CjhannelType, QString peerId, const Tp::ChannelDetails &_t4) are not documented: + parameter '_t1' + parameter 'CjhannelType' + parameter 'peerId' + parameter '_t4' /home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionchannel.cpp:91: Warning: argument 'conn' of command @param is not found in the argument list of TpSessionChannel::TpSessionChannel(Tp::TextChannelPtr ch) /home/kathy/sb/fremantle/tpsession/tpsession-0.1/tpsession/tpsessionchannel.cpp:91: Warning: The following parameters of TpSessionChannel::TpSessionChannel(Tp::TextChannelPtr ch) are not documented: parameter 'ch' diff --git a/tpsession-0.1/tpsession/libtpsession.so.0.1.0 b/tpsession-0.1/tpsession/libtpsession.so.0.1.0 index 79429afeb75a9067053d865492229ffb69db4138..6edca457d9e5427d584aac58d90deeed5eb65ef3 100755 GIT binary patch delta 24594 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 z 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 b09uzi^J@f6;@5HdkYB~Jk2DD0+vk4(;;?Q! delta 25038 zcmeIac~n-_7e9Q@z4+V<508SV7biePMMQ8!R1_2xL{w6o=b3T<%K>q~9KtNkd0Uy_ zl%}aPC}wI}W>#ia=9CsW*Y3c8?&wU;S^ZUoU*89F|y=%R!b?!Z9PiLQf_St8+ z=i%So84EtmSQH@czg%NS4N?1{$fCH1B2xs?R}V#$SWo&R5hn&y*GHnOxJlWMM40$3 z@B2q0(M_c6sHSF@5$?37j2a>a(bY0)m{>rSZEAgO(=C;b>1suz+lV2OWh4?KiyS$2|=G{D6rf07BH!n8R z)~2b*$(#L=t#gF$X3xXKJTZB~bX5*A&OrfbUgBbUdLd4u*=d7pp6Z z;v=R5?8u(fQ&akO2Ka^l5R8on_Zz>D)RdQI2t~a16v1dQq5%lvKfbLhns~1myY`lf z8iGaiAfPodq=50qi}5ee_*1%>(ne|{P8R7^021}aO;za{IW1XL%ARIDM~i>12*vU5 zzH|*z0*k4)2ZDq(2g#s^5c1%s;Y`xIm?WLPPBrcf>I_;-bigF0$k44%r#gVH6{}9Do z@#D{`61!JXQji=U%sZvh2el0!s&PgSEStMsqyT*?7^vJE)cuU!Q_YR0EobyDYVMo# z=#1XaJ9mSmSqAoFEFzai{h}wx&M@2-WC|rq)P5cv5r!IPOWimp7KsUp*QZ8PHbKVgEWG_FAgCBYtsv&{)e1?qoPp3s(vch;_hF5|{fg4zWku=wTd9s25718W{BVpH?w2_zqFDu$CTwR>JU93WdGl6id_oMOWbYBOzGZz5w=Go#1tvIJgG-R5? zlIE4Os%~w!jRuM$s*250)>sP9*L#&^d))ZU>I=tudOKgQ?9B#XSOxTt zWx6l(^{BBU(M^_*`fRqmfZV+6z4xBbi{1gJ(okg@$*+pL! zY662leuPEDE6EfijKoW}pI`wlNCqUW5L&rYqlFGRIj;`75o(aPq#bb50m2&B)? z{}zbGMF^>^Rg>Ex!EnX>xg+e{7rz1F0J{0RZdMooID4oMn6t!w#(YD*=k*}*6}3ID zR}ed>=Xt%J_?>2+$5<#V5%SQ7WA@0F7%~L?v5g z4G{*i0!+6={D~)AQXO4HDvdi^+)h)J=XFnXB7(|Z6JiDli`)?O>F~kGl5su|A)2kQsB+-S=T+j!r%Ue?9MZKlCPLnU{VM3>k z7xfrBkI`dHy?8qPc~OrHIENVS9Dz%gL0ffk;&#yi>PClxYT09Y?h-~I>z@VyyU`?? zbV-jGz-}~;X_oZ7#Qr%A<@I6}oO&0aaOe*%GWbIPvc*O@BA0+9pQXU5HzA)b-jPh7 z;%S6Qr_Pj2hsb_eA0j+x>}CC(>MO3O%3PsEVOChe=CRtm5)6)|{#5r5wD|_5|DpHF zWH&l2;pM=SEdo(qEt=zb1yHxc0>d2z40k-=6SLrJ{SPS0U?jJf#S51iwE#dc4F!eK zP{P-U*(fZTrzmSgI&z1Q%NApi+bV)UGWZWwc}=XySIfZw3Gb>(JoCLPexLzY^d{mC zExw{x6>+rniat)F8C&i=|Zln%*?(8;ITy8IC2p z(Tt7aca%?|%u(nD@;syYp+^cau>V1FEGd-DZ39r!c4|6_Olp{!vWn<9I zIimiD#V{EuBLLVSxOZKoRu5mirbk3bFZfbX(vTd>EbeG$`6+G}*y2vUu6Gd2>Fw)! zb2R&>>uBgO(r)No>>r`~tl0Ar^}nG9h$}RmU+%P;U%~VlzuHp%4ZTv`q1Ro+pCPbf z6i!g|GzKc}yvoTEul$HH@G4cmsn>u(qww;#-B6V|qKluVl#jOZ+mEWq+W}uHu2JSq z-QVK@WMGUg6$)*-saNmT97s#6m`$i?j>xH?D&E@|{5r=X_YZ#HVcP8^qRFd8v~`*G zRZ(*%9QV4)@K?pbZveZlE+q4o-l*~WrD-8)x%lF`qU2}?i!klp2M2^lpMvmU%DAQ1 zDjR&WNS3LF(Ux1fzoa5-wc^R&_=bvU#zh8x@NkxR5ldX8+8e`+m zVd1oj8r{|_lwT#es{X;oToVcSLF#o|ujPBMh?#S+{7VyFRLZ_rNK0<(bwnNda4BURbNxR~J( zk}Y0FIY-bR1$tZ!cl7yTSwUSat+Rzc%GQisz#OSRQ`b9sw5UXj?&#r}!N3kaq$ue~ zdMbunTL9*va1hDSd5{#*3$SdFi01~u4C|eEJuO=_Lz&yf)dn=%YH87FQuMbFy+*dkwuD1d zvG_$&{3I&4i?-!aqkB$y`z5?sR{x!dFj7|dUAFRE#DxNs%eTlDOOW3vMzI!6cm`M_ zUZla+6`OXU{LI*NiV>w^Q`%~tuQ@iY`WAy5Nsrk{q5tSz z8gO**YQd7nKH|>jptMKEl4wBnR4YdGmiaJx?;m|ariPF?k6C&r|H~|uQO*`+@!Tlt z;CUFh#O!PlDdCOq+$`ep)D{=a*e*C`8!fRV7&!GG<{OUkYa&%rO_fwPW~>!iT+UYD z#!Hd=6*)_hhAkC0rNa0+l=Cmb$te2$Up?G^4F<$u7MYSQ@{o5Cr^{;gQ21leB9!4Z zu!2;%#ST#Aii05TeFS@QqzZkaBbL|&Ijs}-z2)C@&y^S@J+ z`$&#t+Y{!K7O-r(Qu1|Pe!%EhJ~>x#O!YmgD9K2UVT=n2Ui`faFN_p~)^_ zApi}30I>5o`q2ek55QRlCVx#0RHIKDh~>!p`j42tkR08UgoY`LWBf`d%oXQ1$T;tU zS_A2zYIIbS-==b!(J{EQ#h3DvqO3}SRKs|uEj z55bE?oOAoSZyZ*J)qVjyPBdKewlw4RrJah%fU{LLo2G-T=h#ZH@(bR z1}g5|;9ptdHFlclA}Z-LlIk)8EvhBrXVCKg{e>bz>94N+yP}j4imzK5RW*z%Q4<47 zt#bo6D#}}8Qy{jjnqXWz0Nxc3Jpr(ZGqremu@H94&s{hL`|_w8eX7>=o^y(*BEzau^Bh79bsq`p_Ncp2S;W#6ccXu%Kk7dI zv!a|rg7lq|vl)QdA{b8`?0I3_yer)A;)vN08EE`gkp$3HY|Pe)Q|VxH7knbDE>2n} zj`+YN9?o+7Dv=V4vRy2}A<^mg6l~P_U~LuJ$?b(akw6DMj3~_zuanI#Ggx_A884b| zH^SR}h9PtX6*?-5iyo}kNdRzqi05i?0Z*?siekK>WeXJs&lZ0Hv|iQ|!HD_VJW@T4 zwjzgOJ&hzOE*%I*Ik5{LJ^m{$=YNSiY>DenCs^DB@^u(}w6fwMO>jW*vLcdpTA3MC z=rCdcIYe#B8tsuOORtnQB8KqRBkdRL8j&2HBF@3}KfU*u=OifJd#smxkKR#|>9J(u zIU*JXGDw3G`O5$?R=6UjB703ZLAloVW3TxuqI_$gO35o7VqI{?S2Z* zz>An^h-+J6X|Ug7x-6NV)*xSMuoyUN`?HEFdKuy3M@qyim3KZ~(IxeGPj1ALP}Mvn zSi`^Ev#gQgBzW2yK@bL}uO(CQ4lqg9F`4do!4A8qv9}RElIv~?F!Aq#yfZ1xwp^shKjyZ`fI#N+nymk~fWj_!{7%5wV3TjCt!U?x05SR!gXx!Ha zU$e5se;Ra{wRRV4sZvEW$Q`Fg11lPl;mloVp^OUuVdUm|wUdnBO02Wz=vYNGcK}_j z=xlC75TW;;)!cZXwu0Ge?$MpD=0==Qlvt#q=GMw9Ztm+qtYoCCx#1ECM;HuoebB^J z;vr&}qk_ofPZk}4UN3l>pU3K&!d{6Rb54fCAMxBMZsVB)r1ueg{lH|BEgnjERpfUu z9DC6=65dEY>)^Robi#8kguf_tkLJj)Ax+OKN<5O>la8fjrcqZ; zq76Zhwhp7OOrwumC6Qf;a%&qED8kn;B|(x!@PPXHA|zK3eJIZtgR#7Ln<`c|!uxRC zoyj!i#SxP$EsnVxy((5S47p-K zX41u~Mi0$fd`^+ojBwcn0qrGm6`E1ax%7#!ATQDhK!Q8K-TwJiQTqQT=|)#$L-YqQ zS2V)Hl~L7z@=3i#iPeq4zCM!RMWEISUfDj_rzn`77Sh4$Mz2bhz<3xe7m=XiF-cs5 z8u=Ohp%za5{EQe;o{sw&&3f>jKZ$jzBL2b9vCNkOz%$J^lM$uN_x^sD`Jyi<%3vft z<}wZRH@ej1p50}MeizH3l1GvGEGHEo1N_mm%c)#|5$?|pvLF1XSVk(sG%tn%FDpuK zBu7~q9$+*ppN^7$ki|U9r4BQqluagn!JB112q|P-%s?y) zU5B*nPG{+I4Wms1UTeF5DffRb_P}a)1<0&z4d<}u+S`*C@Tclwng1a@SJSBE`*jh? zXCF8>0f=yFK4k)%`Jf2PIS6F!zEneiWm00{p9NxN@5X(yl${i3>m99 z+AwsEP|jg}+ol`x*ah%S47p!>U$E4b*fK`kL6B^GP*Hl+=LlC1;7F9#h^EN(mANS7 z79wXErePfH9CegB)H2$uQ59)HEu*a()sv3ZGGf#y1g1bE-1|ecB25zBtjQMKOZ@|l zwhiBA@HI?`NRB9@7Ngz;41QJr>60(pwyLxf|{#dQ#19TZ;y#5x49)iENIcrYpPkRRKy zwreZ}p!`g~iDrb;Z*W=(R_pLA5g$%cko1@;w4{#FMV{!VOR1+JwWMq3u!z(w5_RF) zhpAm%BfLKkqk~{S%OX-?ZVvCqB)fYZW`8=mUtu97PV(Quuv0p6BZk%0z@LP21j>5v z$#lG~(F@Z?NRZJ$@b)EvJ_! zK+~ur6x)Ek+=pIkz+R59*MPnJP4WqKdATIK9>V6?OMOF~UhZ`l;|<9XWy4jWQeGYb zaFRp~m#E|PZK%`B8Jx_hc9{}Y!pr*uJVByvQJXMhtk$k}D6bX*=xCVXrM6o{`C*3j zx#9{`vP|IC(B;~lAT%~KtjM)dezt2f;u)@e163RMfQ#{^MGal9Ev24>)Kad^B2wql zlZNP|LloV}>Dt4=K8-~bxwd528#4QUT$_bF?b?alh#`%NTpMM*_eA=!5nTIC3T_P7 z{*`(+Mz#L*W@C2kuRvVVweR1@bo{5wwIiFbYd2`jG{vqR2z;WGW)iJ!;&g2WEkkm& zUnm)t(cLCa*Jg0OMBSDsow_$=*KSGMnzC!prN5i9YyZ~N<=ROPa0r5=_c%kz&7g2q zTHXwlDK5eYPvj`K>~BO5q#{=c=)yXAG=G*WL;zRP6?k!xB7Hx4G@xgp9opbe4F01r+{Z_7CI)?Hy zd#QjCRi5gm&RD^CB>@q0l_;{Pm*N3({Cx~UOZHM46Q<50y)|0-1;w{E!b7;1awHsH z!{*&3S?jfSnK$|gzN8`PJ!;byW*kX3TEo0ss8Ji3_b82NV@$5TQSzod$JJUveK1xx zi;(ml86={lS=&W{PoXR>4Wz?S#*~l_FsEFo%o83p6lI61ZGv^ICDtRfP2kXcWlfwc zs@l&qHrlA2$=5^K_&01qIfX_4$FZe4K*Qc;r{K|Wi$_Cq6s^&a&$<xywf-NDs+Ck3=aj5|%~?TirIINs0>rW!<-+ZpM>Z@@6eRWusOad!_m zv&AaFFo_aYtQP^s9aW$-niqpf>~1W58)HPNcjuC4tPvi}hRsJUj(Y=Rcy8Q*^7j|{ zNRwL^3D#sJ<7@SI8WU@@Mrhp}Yh)M&TSY{&qAZ}0_82MGsYiQ^l!lbo9-57(!uH0L zOum!L-LVO0M%ynd%GVuBb;%ikKCIsC?_pRG3pJVIbTq!Xw#zwDoG`h&o zfGO@m*@NV`G?}h+G^F3{LmXz{B zxqDqvhIcFFFx77qU8DYb<~iCFp_-$qS3 zV-)>(nguL(P)f)sSbGvXi72o%Z2lT1? zez-h~yK^%c@v>L}dh1?ayW8w_e6MdUa@M`R_k{0ed%;+ z4%Rxomg;tcwN7847rJpdh_-iwHP4=-f^OhiLiM|YYcuuhZX~KFYtnn&alY{*-Ry2e z+W2a`wur)#javTO;0adrw_(SJPp8%g&MeUyfn58V#wQz9{LdE=aZY|;9f}WaS;A-u zNo8nrvQa%Vpu0=bb@V-m@U=8cOm7B?7Ehyqn9o;#dlVt$)nBV_lD`~aS3T$}l)ew} zNvU5ccbyB6b&2d_zC^YT#a*IrCJs#SpkR1DSW%-5=VzVq)q?{f`WBDoOSYPf4XisJ5rDexcqGaE`_!bTF+pB9nJHOb@8Jp`o0#BP z;o}%1N`;TISo~Rg<{&g69!ZaxM2~tJT`GQ!zAJ!L3y~b3?1S`dahwMBGJ?zRvZl0S zz+7SMu8Q{l%I?V{0kbi@ECRoEEFY!QbtK5^nH1r+o)BGi386x_$?f(`nVK1MHT*)Tjc(5I( zvA9P%T=9t?j%%nG{9o2bRG9rV0pCzy;8HP#{015!aa)Qgh!HSMnzbi7LaF;^XFG2*cuT-$0{!PyWdf$CU~7g%b4`n}vy`V#^BvS+QjZ$Ci00 zt`KQ2Dvoj7#JS=u#<64a612kV)xtqA{_xGzXpj*;fP2t)FaypE;Ld+~@7)l%lD)^_ zAzso?9q4ivD?H3(O6L`@9GP!T2L~Awk~kC|lPr}7xjeU!3A{1SK7CgF060<>Kq_B|`eU$RU5MHQaES|1WDarOh>EWwl>SJLlx>pd zKewXxOM%}?WQki*+vTmOQxbVzB1_zeDv;oMw0Vfp-Y;c`yb`qumAo%2+AhlhLs`*P z?!k6_9A-i4Pmz&9~DU&3tyq9M=YYv0Q=TV#C#)K5U)s_Qo zbCD|a_L53UTI+TmgZDG4Pb-Of`gYzW>|IbB-*7v|V*7NHWF`9YiqwB8RT*KtqK)w$ zZmq!cMi|x=J!3c10V^#m+ibiy-NEJTcA z{3;}$)Ys|JNTa{+2U5cKK&=(0@eIbE3vu*SN*!hNvNjG*q&P_~%F3;)64CQ*l8p5$U6ih?@LEq;yDi zOzAb66|;Vb?b_ecSN<>%8=f^hh4T)@72u6^!kbo(HD;+(5nsk(MW2BHBi|;imhay5+c+b<7tb~6 zDUg^kZ!AlEx=$AYSF%reuGu8%+l*uSr@v1hX8P1iG$s{}guPj+GpHR4z?u-L`1`c= zgNP)+UPp3dOp@}7>$k21jd9|i)}c`95R&>V9ekf>9e#p5c_WC1rWp~U0==E))FlWq zqmiE0WfMB%B6mo}a4Gj`T@E_&PwNto`WzYF_(8H|4{OPDwkGy$wYZkgAkDg)be59F z<8Bhp((sbM5Sa;?E0K!!{PU!+k08uC@5<%IJZsT@iV?*F9Wf%_+cgVKL)|Np^q6;~ zR>j}j=QuIOaE&5gG}>wzg=sYNMWdaXfu+HV*aK$FBKMcD%bQA_Uox78@(;_}%8(Buj5+nJ4M*90S6PSA(Bim^Yv8C(z{p!uF zu27mHS&bby$%s{lSEu!pV9JR@=_S1qa)Ts>64ARRc~WFhYZmb<%#l{@W@w` z5v~6PNC@}eX!m5}nD{L3wREGkTHAMulMo-A4diQm5+RgULq)%xxU-G2(1g1|H#3a4 zGIw)Ph=XGIh+&GqCZ5NvX~EP3qAQ}JzfJV{)dh1qC{jkGEB@}H@?zCVXB-eeR0UmG z@$VDign1nhgYPSfe|d2l=bo0lfP*4+*aXGDqByhE#T%V@KhjnQBgk^>u}iUA1H?WRz&IcxmbQ%DE@WDIHQQt0A&Jz z!6GZ92@cf`Tgf4r}O3*~k| zsOVGwUg8`ov|x&R9^@Pp&yQ35CyAw4J z-MFRV-%O01Y5b&%idk*v8A$GVZRdIH9VB|wlRrGF;e4*z6_2XIq=+jXHN+6=d&Q%% zXi5vN02fS~@oLpSc0M%zWH3(Q$_&8{s_bz522rUe_Pnhrw%9#ufILx*oH;{fWc>v| zjv;Z?qff=&O+SLZSl4b4?+sFwfH8_<>r1IuJ*wbF@%*bEe~ag7&NYu%@qFIb*F2Iu z945Z;D=*8*%VtuYKRpJC%Jj;g9?fw!weL@lHFypF%VU#PWl<`nRj^ke{|6q~0Dkts zBMh(G4?OrzQo};Dp;}(&LI6>m{uH z?Pn3g=#XlE8+Xu#YWDT`ZzQ^#{W~?VDfiQzhQj(c6}DE*r>RPZM$DK6##0l)7(s?Y~%_Kbj5;{abF{2=B+6S&9wqBXLc zI^tLYK5xShUfk_}i`MkEhrK6Wcdb`PJB-nqUbS9d+wIXPd3Z{aA$a+=&6&eyc?WI- z)iy%p{&c9;Ht%~+dmA_WNVlxFJshw0-u6jg-Q#VKMM;#m&xH5RDi3+V^hJ4ld|>eX z`6cYj#xbTrP{@kcT+IoZW;LgSk9~#+p)Y;xoA4S}!M;Nasl9*>Jn*PMEi2k91DIS9 zf*a8CiuOCAVO~}xdpkF+;n5{lci*UD_riCQf2-KX;S6<5Rdiot`nsz9a{ynj1~o%S zt8O0!#YR_0#|N)k{*+?zFSBCwZFN{ZgvR>WH)$d7kmcwh{`PDwg$^6IMg2GwB^mon^J9IvZ+Bbt=@6>Wr@=)oEH+sdLtazXt5|xXGM8rI(U+vFz)V0vVH?M4c zdqp07fgyGteWUU6^UGQPOitxhaQfwaA7aN~@}ox$z~V>kLhU@J7KGZX;k6krE#Tlr z9=E=EzlYkrdEDI#lQeA_+A;1HY_eLur6F2gJ8w@zIG(6YI~()BqrV#S$fK4`c<51j z6MH;f2b$O`VX=9t36C{u*3^EsV*fkXXcY`E8cMH2w}Dirnf)Dn!aUdvoicFTHme(E zhoc(?(mUaBzJYn?!(r5cu{^%6jS@J-8J>ZW+U*NpJ^+s0EW9wkeee-Zhvm;HY~9T| zyyGauj^h%}#THG*!VAfU{}jaKhzUZ8MzZzXAj+eh1a4b*+8JTLD7w?zE$lV%+SdZ= zC)3X@;0MW6sii$yOYZ%lrQFz-P%fFWTH4=tPqqfGvdHrE?yc;ZWxHcsEkU?RUj)I= zQGP4?$Kp9!9?7q~gx2;yh3HDrQTA}P%T#I`Wv@z0qwJN`PTQ=)Ar$cY`g2jJI*$CJ zzu|^a*TduU;iCcsF~%1xzQ-h?Bky)yL)Uw%k0moqZiR zePZlQw78?6TEGD@5-4KrO@M0_3;&FxUt{g>_{I&#N&iYwYp4{*tqEAc;%I4msX<}~ z^h_Krwq7T!SJgQCiHc*YI25J&6jv`FX0~x;i?_ci#!*f@0_M29_8slL1>UO@>`~t0 zr>tN5*^xZ+e(mST93y6D4Ls~XDw{X(aJf(8)sfhB9(F|M`S-WyiLCNIUP#_~<$cO8 z8!v`sZJbjc$tQ2)oC z&^(x71ORc3>IIs$?57nYU?htFD53Or2eS^P);8^#m1Y4nTV?WprY9gjN9Fqena(0# zmhdOjLuaFwkq~BRXUlNy`!Z%B|9P1Nz}IIm8`sX7>~`iI+Wbtetzv>!pd@JHXMrm# z)9B5DLW|`DLl7V?30~SeI-0 zN^vb8pr3rY(Jyt)fW}v*%u0L(?fOcvl|GTZ`IT(?C!kWbK<RwXsd_!rx3)tYz&wY*qiW|M5CHa_!{P+8y8tM!ji4JrWo-FQH0pmHewKMLz`DpGVVTSb8zO0Mcg>gu&-R0}bagB9Cg59CZgd_x(9pgHLs@O%jFHISmF;DC zS?%P;p24Q@eR+hNPbVnTbR?=vT-^zLlXtTf$JIA0>#!mlnikeK1Io<=S1NmwcY<35 zts3pEZ#GBWyTRRzRkPgqHdu5mW4D{*RlKXPD^@A)cbCAB5VJ$&)l*l`Lahg3a)-7D zx^X_#O>ahip=K@G7GehLo5gOl?K=GyVuty6@(3Ons!e3$H%LI8>!?NpGe|!MHoKNf zNexV2<9!|yP>0eQnC*?NR_Pbo%cX5r=?r;{dBhXV~IE-5$iKTX)ye=#X11XXv0{|>a4SsOMriW zP>!3tDm8(}Qxo{BmbjaZ&VH(E2Pq@WjH~+oR5e(jhEFuE&eG;BXyb$7aW>5Spv?{_ zu4})}n5B*7ffd4vTISz6mF2S+t6C^~!8?-gzzpuV&!mkH(6epjZqJ}K9nA`KppjWQU^a8KRpG$WoYl(xDS4r653!CN*iq4uPDj969cs( zxa)5s3ai@E3g{xY^Vk!UOn}w44Jz5rNHq+mbapDdgi!{&cAIh;s^hs;8X-Kv> z!Ij^Zl`oc+7w5gSHL~*GWaVq9avL+I;wxfzB08{OhA{yZF9Hh+G`xY+)9IStq=nj zBL@vqwY<#YXnzX}6+?Sa6hR%@IoasNB%;m64Swg9fT7JRGZLcLOgnKBLcYhaHMILB zLR&sqa07=1N1JOa-;)yWmN4UaDe-lx+SaUI??Z5_+FMeciwcMD`DJ!X;UiDpVevm& zi;r9y($;(_`MVi%d9!b8`VXHs=c4-^z*)@yuD;W*WmEnUovKO0@13>1n`YJfr%h2 zR2#;E&nhDUT0&>rnG=K0DZ@MlL3WYu#F}+%KHUD1Ea*Aib9ZMn`U75$ zG@^Igo7H?aO`iqBosx#z1ph*wer|8hs^^QSKm9+`)}oAAoe@k=XjnIB8>hjJi8QN& z*}lnVu$|D}k#a6Tj<;5UJrQd^p>39H(-VN|+HkgNb)Hcs$yKB68Tn3eW^mQz+$XA5 z)`%?XrWF|polw|F3*$`RfS=?Vc&n`OC&(6BabDMYU@^vvlYpkC2hFdCm{Km@^strZ zA@MKy$D2V-zM0Bn=o>dH5U{rH90x985R{%xR%Ik$k%$UfP)58t+UCUz{e5&j-rT6q zLqF=;5PGwt>8C?y6q0FQN3%wQMH%Q+tgz&q=$bZIFb^xs@19JVrB!3caHsk$F-g}- zFdG{y;N)m`DD_J)+vsz66zJ)a}X>g+1G_TV{^O8#W zZ!9PM%nCpzo(-Kg+uF$ywX1{uyr=ySEwS0Bf zNl-4I4!_Z~n}{W@Dn6aU%vTi}G|=pBu%$e;pB4IKpcx#zWjasVp4wPe-Y1lE9I}wp zwQSkzzo%Mx@*ZTyj@l3SDlfM3B?*7qi`7HE6RMkug_ox`AI8);Sh?zdENdKn0)!(m z2YNCNS+2~L!`v+^`&bG+;>DHKq-$f$0KE?u&Yqe{?t{(b2K{Df9=yJui>b(_{RKOC zY4b6=J)P$P<4N-en|*2x=6nFpbe~A~+9)T$(?xkr3#YJ=W>xYZVn*m2&;efBLmD{5 z+->|MoocI%0*0DhZEs->=RKDu4>jus_h+lQqYJoE%cU1rXDzS;U?^u9>aKlDLq?e6 z1G=)`9#mxfE#?n_uZW*)zOfrOU(3dhT44r}l+1iz<#V>->Me1#um@5B{%( zmj6Gp{J$4j-gQP6EGBH2kKlW*oUW~xgZ-==?Ca%VkInoP6y^UrK>nUGtJ7?RlDRUr z6iyilqSE076u@WMRs&odSv|F@2zxedl8iVWtOQP~bZw8U`k<_u^B5ATp_)CEstz)J zWyG<)z=O3Od5tw|mCT0#?yh}_)t^oK6pJ{}ocPZ?bbbm4?HwwuPD23OG}df6@I3VM z((Yr{vuTUu;4P3td@0trUfNBWU&hN>FYQLr*!ObAf#oxBgy62_sw1^|GeYrCvv_*> z6f=X3&FPMFi|BD?mVQF6X7KCBac1aH-X!s{qC7#dX@!`cJUMLI_{_&stM*?b<20w! z%trM)*9YH9slyd1W2IEum1i4r-tz|q$WW+EQ`5|<24h_I2{yjx$%=8u(#&c)pDB52Rq0-u*{1HL={Ou=#fS3r z^P!w_ZpdC+CVTLPl-i4qj=|z=(s(mm_l2cAwEKA d>XCqUr1t!pMPvDO5hwq61?KII^xHr9{{S<;uOa{d diff --git a/tpsession-0.1/tpsession/tpsessionaccount.cpp b/tpsession-0.1/tpsession/tpsessionaccount.cpp index 2c0668a..a44be5d 100644 --- a/tpsession-0.1/tpsession/tpsessionaccount.cpp +++ b/tpsession-0.1/tpsession/tpsessionaccount.cpp @@ -54,6 +54,13 @@ */ /** + * \fn void TpSessionAccount::newChannel(TpSessionAccount *,QString CjhannelType,QString peerId,const Tp::ChannelDetails &); + * \param TpSession pointer to TpSession class + * \param ChannelType type of Channel, TELEPATHY_INTERFACE_CHANNEL_TYPE_TEXT for text channel, TELEPATHY_INTERFACE_CHANNEL_TYPE_STREAMED_MEDIA for steram media, as exmple for incoming call + * \param peedId PeerId, as example caller telephone number + * \param channeDetails needed if you would like to create a channel. For text chanels TpSession creates channel automatically. For calls, Maemo Call UI handles callcreation + */ +/** * Construct a new TpSessionAccount object. This constructor is called by TpSession class when new account is created or fetched from account manager. It is not inended to be used stand alone * * \param am Telepathy-Qt4 account manager for this account diff --git a/www/MaemoTelepathy.html b/www/MaemoTelepathy.html index 94484dc..86edef3 100644 --- a/www/MaemoTelepathy.html +++ b/www/MaemoTelepathy.html @@ -1,7 +1,7 @@ -- no title specified

Using Maemo 5 telephony and messaging services

TpSession Easy to Use messaging library

V 0.2

 

Kate Alhola  

kate.alhola@nokia.com

 

Basic concepts

 

Maemo 5 telephony and messaging service is based on Telepathy framework   http://telepathy.freedesktop.org/wiki/FrontPage   . Telepathy is itself just a framework defining API's between applications using services and Connection Managers handling communication for different providers.   Telepathy provides very powerful but not so easy to use API. TpSession library provides simplified layer top of Telepathy with easy to use API. TpSession is not abstraction layer that tries to hide Telepathy-Qt4 API, it just provides simple methods to perform most common use cases. At the moment, TpSession is early proof of concept and it is missing lot of features. Current version only supports textual SMS and IM with any of Telepathy connection Managers. When TpSession is not abstratction layer, it is not cross platform for non telepathy environments. Qt Mobility will be cross platform abstraction layer and TpSession is candidate to be used as internal adaptation layer for Qt Mobility.  

Connection Manager

 

Connection Manager implements certain protocol towards network service and offers Tepelathy Dbus API to system.  As example in Maemo 5, there is connection manager named Cabble handling Googletalk's XMPP protocol, Ring for cellular telephony, Sofia for SIP VoIP telephony, Spirit for Skype. You can add new protocols by just adding new connection managers, as example you can add Idle connection manager for IRC.   If you would like to implement new you need to write new connection manager to support it and for Maemo 5 you need also control panel plugin to set up account.

 

Account

 

Account defines your service provider, your user name in that service, your authentication crentials and other protocol dependent parameters like server address, port, used encryption.

 

Account Manager

 

Account Manager maintains data base of your accounts and keeps track their status. As example, you will be logged in mobile telephone network when device is switched on and online. You may also set that you are logged in you GoogleTalk and Skype accounts when device is online.   To establish connection to service client application should require your account from account manager.

 

Client applications

 

Application that uses services provided by Telepathy connection managers. As example chat client or phone user interface are telepathy clients. If you implement application that sends your current GPS location to your friend with instant message or SMS, it could be telepathy client.

 

Service Provider

 

Ad example your mobile operator or GoogleTalk or Skype service. It can be even your own IRC server.

Connection

 

To be able to use services provided by service provider, connection manager should establish connection with it. To set up connection client application should provide all needed details to connection manager, as example network address of the server, your login name and password. In case of account manager, client application will get account details from AM. If your account is set to be automatically connected, there may be also connection already established and client application should only retrieve it from AM.  It is not technically mandatory to use accounts provided by AM and it is possible set up own connection with own details if needed. In most of cases this is not recommended because it may confuse users and spoil their user experience. In cellular, there is only default connection and you need require it from CM

 

Channel

 

Channel is communication stream between you client application and your peer. It can be audio or multimedia call, chat connection, instant message connection or file transfer.  Channel may go directly from you local connection manager to peer's system or it may go via service providers server but to clint application it looks like just connection between client and peer. To set up channel your client should provide contact address, as example username or telephone number of your peer and request connection from connection manager.

 

It is possible to use as example Googletalk connection manager without using services provided by mission control if you provide account details yourself but then you are not working with same account than device user has specified for his/her use as default. For user experience, using account provided by mission control is goof idea. In cellular, it is not possible to have multiple simultaneous cellular accounts and therefore using mission control is mandatory.

 

 

 

 

Telepathy Dbus protocol and Interface library

 

Telepathy communication protocols are implemented in connection managers that are communicating using Dbus with user applications. In most cases it is not sense to use directly dbus API for user applications. There couple of Telepathy interface libraries providing API classes to user application and implementing Dbus messaging. In this example we use Telepathy-Qt4 library that is providing Qt API. There is also Glib style telepathy-glib API library.

 

Telepathy is based on communication over Dbus with connection managers running as separate processes.  Many actions need communication with server or with peer over external network. Operations with telepathy are asynchronous as nature even function call returns immediately, actual result comes much later as form of Qt signal or callback in some other platforms. Most of actions implemented with telepathy needs multiple asynchronous steps and some kind of  state machine functionality.

 

Using Telepathy via API library still needs deep understanding how telepathy works and coding is challenging task. In this example I provide simplified easy API layer as example code.

 

For future applications best solution would be to use services via Qt-Mobility libraries. With Qt mobility we can get cross platform compatibility also to non-telepathy and non-Linux environments ,as example for Series 60  

 

Synchronous or asynchronous ?

Telpathy works with synchronous interface. That mean's that all actions are initiated by function call and signal is emitted when action is complete. User application should then implement state machine logic that based on slots called by signals, progress to next state and initiate successive actions.  The positive thing in synchronous model is that it dies nit hang user interface in any cases even if completing operation takes time.

 

TpSession hides part of this complexity. Many actions implements multiple state transitions before they return signal of completed operation. TpSession implements synchronous mode in some operations, as example in class initialization where is multiple short transitions over Dbus. When initialization is called with synchronous mode, call returns after all transitions are done and completing signal is received.

 

TpSession API library

 

TpSession API library is at the moment experimental proof of concept library top of Telepathy-Qt4. It's main intention is to provide simplified API for most common services provided by telepathy, It does not try to provide any kind of data abstraction or hide Telepathy-Qt4 API inside of it. Basic functionality can be accessed without using  any of complicated Telepathy-Qt4 API's but if application needs some more advanced features, they can freely access Telepathy-Qt4 classes inside of TpSession Classes.

 

How to start

Minimum that your application needs to send SMS or Instant message is instance of TpSession class  with prefered connection manager “ring” specified and synchronous mode  specified in in constructor

 

 TpSession* tps =new TpSession("ring",true);

 tps->sendMessageToAddress("ring",”+555666777”,”Telepathy session is for you”);

 

 

 If you would also receive messages, you need to connect one slot handler for sending  for received message.

 connect(tps,SIGNAL(messageReceived(const Tp::ReceivedMessage &,TpSessionAccount *)),

             SLOT(onMessageReceived(const Tp::ReceivedMessage &,TpSessionAccount *)));

 

....

2010-01-22T10:44:44

<!--StartFragment-->

void TestProg::onMessageReceived(const Tp::ReceivedMessage &msg,TpSessionAccount *acc)

{

  qDebug() << "MessageReceived " << msg.text() << "from " << msg.sender()->id();

}

2010-01-22T10:44:44

<!--EndFragment-->

2010-01-21T23:45:35

<!--EndFragment-->

 

You will find full example code from tests/syncsms directory

 

TpSession classes

 

TpSession(QString account,bool synchronous=false)

 

Top level class, counterpart of Account Manager. TpSession connects to account manager and requests accounts from it. TpSession creates TpSessionAccount for all accounts . As top level class TpSession provides simple but somehow limited interface to send and receive messages via any account. TpSession provides signal when it has accounts ready. If you require some specific account in constructor, you will receive signal only when this account is ready. If you use constructor without any parameters, you will get one signal for every account.  If synchronous is true, constructor is executed as synchronous and it does return after transactions to set up accounts are done.

TpSessionAccount

 

TpSessionAccount class represents every account you have. As example account for “Ring” connection manager represents your cellular account and you may send and receive SMS with it. Gabble represents your GoogleTalk account if you have defined them.  

 

TpSessionConnection

 

When you start chat session or call with your buddy, connection is established. TpSessionConnection represents this connection. TpSession account makes automatically connection when you send message to your buddy's address. If you send successive messages to same buddy with TpSessionAccount, it automatically reuses existing connection.

 

 

 

 

----- The next one describes internal operation of TpSession ----

 

 

 

How it works

 

This describes, how my API library works. If you just plan use it as it is, you don't need

look it in deep as details. If you plan implement function by your own code then understanding all functionality is necessary.

 

First step, we need to establish connection with Mission control.  

 

mAM = Tp::AccountManager::create();

 

Mission Control emits signal when connection with account manager is created, it also emits signal later if new accounts are created.

 

connect(mAM->becomeReady(),SIGNAL(finished(Tp::PendingOperation *)),

                           SLOT(onAMReady(Tp::PendingOperation *)));

connect(mAM.data(),SIGNAL(accountCreated(const QString &)),

                   SLOT(onAccountCreated(const QString &)));

 

When we have connection with Account Manager, we have Dbus paths available  to account. Dbus path itself contains as part, several properties like connection manager used, protocol and user name in service if needed.

To get more details of  we need to request accounts creating Tp::AcountPtr object. When this object becomes ready, it emits finished signal. When we receive signal, we can get actual account

Tp::account * acc = mAcc.data();

 

Now, when we have actual account, we can ask several properties from account.

 

More to come  .....

\ No newline at end of file +

Using Maemo 5 telephony and messaging services

TpSession Easy to Use messaging library

V 0.1.1

Kate Alhola  

kate.alhola@nokia.com

 

Basic concepts

 

Maemo 5 telephony and messaging service is based on Telepathy framework   http://telepathy.freedesktop.org/wiki/FrontPage   . Telepathy is itself just a framework defining API's between applications using services and Connection Managers handling communication for different providers.   Telepathy provides very powerful but not so easy to use API. TpSession library provides simplified layer top of Telepathy with easy to use API. TpSession is not abstraction layer that tries to hide Telepathy-Qt4 API, it  provides simple methods to perform most common use cases. At the moment, TpSession is early proof of concept and it is missing lot of features. Current version only supports textual SMS and IM with any of Telepathy connection Managers. TpSession is not cross platform for non telepathy environments. Qt Mobility will be cross platform abstraction layer and TpSession  used as internal adaptation layer for Fremantle Qt Mobility.

 

 

Connection Manager

 

Connection Manager implements certain protocol towards network service and offers Tepelathy Dbus API to system.  As example in Maemo 5, there is connection manager named Cabble handling Googletalk's XMPP protocol, Ring for cellular telephony, Sofia for SIP VoIP telephony, Spirit for Skype. You can add new protocols by just adding new connection managers, as example you can add Idle connection manager for IRC.   If you would like to implement new you need to write new connection manager to support it and for Maemo 5 you need also control panel plugin to set up account.

 

Account

 

Account defines your service provider, your user name in that service, your authentication crentials and other protocol dependent parameters like server address, port, used encryption.

 

Account Manager

 

Account Manager maintains data base of your accounts and keeps track their status. As example, you will be logged in mobile telephone network when device is switched on and online. You may also set that you are logged in you GoogleTalk and Skype accounts when device is online.   To establish connection to service client application should require your account from account manager.

 

Client applications

 

Application that uses services provided by Telepathy connection managers. As example chat client or phone user interface are telepathy clients. If you implement application that sends your current GPS location to your friend with instant message or SMS, it could be telepathy client.

 

Service Provider

 

Ad example your mobile operator or GoogleTalk or Skype service. It can be even your own IRC server.

Connection

 

To be able to use services provided by service provider, connection manager should establish connection with it. To set up connection client application should provide all needed details to connection manager, as example network address of the server, your login name and password. In case of account manager, client application will get account details from AM. If your account is set to be automatically connected, there may be also connection already established and client application should only retrieve it from AM.  It is not technically mandatory to use accounts provided by AM and it is possible set up own connection with own details if needed. In most of cases this is not recommended because it may confuse users and spoil their user experience. In cellular, there is only default connection and you need require it from CM

 

Channel

 

Channel is communication stream between you client application and your peer. It can be audio or multimedia call, chat connection, instant message connection or file transfer.  Channel may go directly from you local connection manager to peer's system or it may go via service providers server but to clint application it looks like just connection between client and peer. To set up channel your client should provide contact address, as example username or telephone number of your peer and request connection from connection manager.

 

It is possible to use as example Googletalk connection manager without using services provided by mission control if you provide account details yourself but then you are not working with same account than device user has specified for his/her use as default. For user experience, using account provided by mission control is goof idea. In cellular, it is not possible to have multiple simultaneous cellular accounts and therefore using mission control is mandatory.

 

 

 

 

Telepathy Dbus protocol and Interface library

 

Telepathy communication protocols are implemented in connection managers that are communicating using Dbus with user applications. In most cases it is not sense to use directly dbus API for user applications. There couple of Telepathy interface libraries providing API classes to user application and implementing Dbus messaging. In this example we use Telepathy-Qt4 library that is providing Qt API. There is also Glib style telepathy-glib API library.

 

Telepathy is based on communication over Dbus with connection managers running as separate processes.  Many actions need communication with server or with peer over external network. Operations with telepathy are asynchronous as nature even function call returns immediately, actual result comes much later as form of Qt signal or callback in some other platforms. Most of actions implemented with telepathy needs multiple asynchronous steps and some kind of  state machine functionality.

 

Using Telepathy via API library still needs deep understanding how telepathy works and coding is challenging task. In this example I provide simplified easy API layer as example code.

 

For future applications best solution would be to use services via Qt-Mobility libraries. With Qt mobility we can get cross platform compatibility also to non-telepathy and non-Linux environments ,as example for Series 60  

 

Synchronous or asynchronous ?

Telpathy works with synchronous interface. That mean's that all actions are initiated by function call and signal is emitted when action is complete. User application should then implement state machine logic that based on slots called by signals, progress to next state and initiate successive actions.  The positive thing in synchronous model is that it dies nit hang user interface in any cases even if completing operation takes time.

 

TpSession hides part of this complexity. Many actions implements multiple state transitions before they return signal of completed operation. TpSession implements synchronous mode in some operations, as example in class initialization where is multiple short transitions over Dbus. When initialization is called with synchronous mode, call returns after all transitions are done and completing signal is received.

 

TpSession API library

 

TpSession API library is at the moment experimental proof of concept library top of Telepathy-Qt4. It's main intention is to provide simplified API for most common services provided by telepathy, It does not try to provide any kind of data abstraction or hide Telepathy-Qt4 API inside of it. Basic functionality can be accessed without using  any of complicated Telepathy-Qt4 API's but if application needs some more advanced features, they can freely access Telepathy-Qt4 classes inside of TpSession Classes.

 

How to start

Minimum that your application needs to send SMS or Instant message is instance of TpSession class  with prefered connection manager “ring” specified and synchronous mode  specified in in constructor

 

 TpSession* tps =new TpSession("ring",true);

 tps->sendMessageToAddress("ring",”+555666777”,”Telepathy session is for you”);

 

 

 If you would also receive messages, you need to connect one slot handler for sending  for received message.

 connect(tps,SIGNAL(messageReceived(const Tp::ReceivedMessage &,TpSessionAccount *)),

             SLOT(onMessageReceived(const Tp::ReceivedMessage &,TpSessionAccount *)));

 

....

void TestProg::onMessageReceived(const Tp::ReceivedMessage &msg,TpSessionAccount *acc)

{

  qDebug() << "MessageReceived " << msg.text() << "from " << msg.sender()->id();

}

 

You will find full example code from tests/syncsms directory

 

If you would like to get indication of incoming phone call, yuou chould listen new Channels signals from your connection manager , TpSessionAccount .

 

TpSessionAccount* tpsa=tps->getAccount(“Ring”);

connect(tpsa,SIGNAL(newChannel(TpSessionAccount *,Qstring,QString,const Tp::ChannelDetails)),

             SLOT(onNewChannels(TpSessionAccount *,Qstring,QString,const Tp::ChannelDetails)));

 

Testprog::onNewChannels(TpSessionAccount *tpsa,Qstring channelType,QString peerId,const Tp::ChannelDetails)

{

   qDebug() << “Incoming call type “ << channelType << “from “ << peerId;

}

TpSession classes

 

TpSession(QString account,bool synchronous=false)

 

Top level class, counterpart of Account Manager. TpSession connects to account manager and requests accounts from it. TpSession creates TpSessionAccount for all accounts . As top level class TpSession provides simplified interface to send and receive messages via any account. TpSession provides signal when it has accounts ready. If you require some specific account in constructor, you will receive signal only when this account is ready. If you use constructor without any parameters, you will get one signal for every account.  If synchronous is true, constructor is executed as synchronous and it does return after transactions to set up accounts are done.

 

TpSessionAccount

 

TpSessionAccount class represents every account you have. As example account for “Ring” connection manager represents your cellular account and you may send and receive SMS with it. Gabble represents your GoogleTalk account if you have defined them.  TpSessionAccounts are created by TpSession class,they are not intended to be created stand-alone

 

 

TpSessionChannel

 

When you start chat session or call with your buddy, channel is established with your buddy. TpSessionChannel represents this connection. TpSession account makes automatically channel when you send message to your buddy's address. If you send successive messages to same buddy with TpSessionAccount, it automatically reuses existing connection.

 

 

 

 

----- The next one describes internal operation of TpSession ----

 

 

 

How it works

 

This describes, how my API library works. If you just plan use it as it is, you don't need

look it in deep as details. If you plan implement function by your own code then understanding all functionality is necessary.

 

First step, we need to establish connection with Mission control.  

 

mAM = Tp::AccountManager::create();

 

Mission Control emits signal when connection with account manager is created, it also emits signal later if new accounts are created.

 

connect(mAM->becomeReady(),SIGNAL(finished(Tp::PendingOperation *)),

                           SLOT(onAMReady(Tp::PendingOperation *)));

connect(mAM.data(),SIGNAL(accountCreated(const QString &)),

                   SLOT(onAccountCreated(const QString &)));

 

When we have connection with Account Manager, we have Dbus paths available  to account. Dbus path itself contains as part, several properties like connection manager used, protocol and user name in service if needed.

To get more details of  we need to request accounts creating Tp::AcountPtr object. When this object becomes ready, it emits finished signal. When we receive signal, we can get actual account

Tp::account * acc = mAcc.data();

 

Now, when we have actual account, we can ask several properties from account.

 

More to come  .....

\ No newline at end of file -- 1.7.9.5