From: antognolli Date: Wed, 13 Jul 2011 19:04:27 +0000 (+0000) Subject: ecore/ecore_con - Add some sequence diagrams. X-Git-Tag: 2.0_alpha~180^2~49 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=635fc184bdd9c13a62bfa060d590e67ff7482c7a;p=framework%2Fuifw%2Fecore.git ecore/ecore_con - Add some sequence diagrams. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@61351 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/doc/examples.dox b/doc/examples.dox index 60b17ab..0d8b924 100644 --- a/doc/examples.dox +++ b/doc/examples.dox @@ -771,6 +771,14 @@ * the full source code for it, there's a link to the code in the beginning of * this page. * + * This example will start a server and start accepting connections from clients, as + * demonstrated in the following diagram: + * + * Full size + * + * @image rtf ecore_con-client-server-example.png + * @image latex ecore_con-client-server-example.eps width=\textwidth + * * @note This example contains a serious security flaw: it doesn't check for the * size of data being received, thus allowing to the string to be exploited in * some way. However, it is left like this to make the code simpler and just @@ -818,11 +826,21 @@ * print any received data, and increase the data counter in the structure * associated with this server: * + * @skip Eina_Bool * @until CALLBACK_RENEW + * @until } * * You can see the server counterpart functions of the ones used in this example * in the @ref ecore_con_server_simple_example_c. * + * This example will connect to the server and start comunicating with it, as + * demonstrated in the following diagram: + * + * Full size + * + * @image rtf ecore_con-client-server-example2.png + * @image latex ecore_con-client-server-example2.eps width=\textwidth + * * @note This example contains a serious security flaw: it doesn't check for the * size of data being received, thus allowing to the string to be exploited in * some way. However, it is left like this to make the code simpler and just diff --git a/doc/img/ecore_con-client-server-example.eps b/doc/img/ecore_con-client-server-example.eps new file mode 100644 index 0000000..2a5b6eb --- /dev/null +++ b/doc/img/ecore_con-client-server-example.eps @@ -0,0 +1,566 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.10.2 (http://cairographics.org) +%%CreationDate: Wed Jul 13 18:29:06 2011 +%%Pages: 1 +%%BoundingBox: 0 -1 546 666 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni0053 put +Encoding 2 /uni0065 put +Encoding 3 /uni0072 put +Encoding 4 /uni0076 put +Encoding 5 /uni0043 put +Encoding 6 /uni006C put +Encoding 7 /uni0069 put +Encoding 8 /uni006E put +Encoding 9 /uni0074 put +Encoding 10 /uni0063 put +Encoding 11 /uni0073 put +Encoding 12 /uni0020 put +Encoding 13 /uni0045 put +Encoding 14 /uni004F put +Encoding 15 /uni0052 put +Encoding 16 /uni005F put +Encoding 17 /uni004E put +Encoding 18 /uni0056 put +Encoding 19 /uni0054 put +Encoding 20 /uni004C put +Encoding 21 /uni0049 put +Encoding 22 /uni0041 put +Encoding 23 /uni0044 put +Encoding 24 /uni006F put +Encoding 25 /uni0064 put +Encoding 26 /uni0028 put +Encoding 27 /uni0029 put +Encoding 28 /uni006D put +Encoding 29 /uni0075 put +Encoding 30 /uni0061 put +Encoding 31 /uni002D put +Encoding 32 /uni003E put +Encoding 33 /uni0067 put +Encoding 34 /uni0071 put +Encoding 35 /uni0062 put +Encoding 36 /uni0079 put +Encoding 37 /uni0068 put +Encoding 38 /uni006B put +Encoding 39 /uni003A put +/CharStrings 40 dict dup begin +/.notdef 0 def +/uni0053 1 def +/uni0065 2 def +/uni0072 3 def +/uni0076 4 def +/uni0043 5 def +/uni006C 6 def +/uni0069 7 def +/uni006E 8 def +/uni0074 9 def +/uni0063 10 def +/uni0073 11 def +/uni0020 12 def +/uni0045 13 def +/uni004F 14 def +/uni0052 15 def +/uni005F 16 def +/uni004E 17 def +/uni0056 18 def +/uni0054 19 def +/uni004C 20 def +/uni0049 21 def +/uni0041 22 def +/uni0044 23 def +/uni006F 24 def +/uni0064 25 def +/uni0028 26 def +/uni0029 27 def +/uni006D 28 def +/uni0075 29 def +/uni0061 30 def +/uni002D 31 def +/uni003E 32 def +/uni0067 33 def +/uni0071 34 def +/uni0062 35 def +/uni0079 36 def +/uni0068 37 def +/uni006B 38 def +/uni003A 39 def +end readonly def +/sfnts [ +<00010000000a008000030020636d617001caf26c0000191c0000008e6376742000691d390000 +19ac000001fe6670676d7134766a00001bac000000ab676c7966c667f237000000ac00001870 +68656164f5a8919600001c5800000036686865610cb8067900001c9000000024686d7478b7d2 +14dd00001cb4000000a06c6f63610001e44000001d54000000a46d6178700495067100001df8 +00000020707265703b07f10000001e180000056800020066fe96046605a400030007001a400c +04fb0006fb0108057f0204002fc4d4ec310010d4ecd4ec301311211125211121660400fc7303 +1bfce5fe96070ef8f272062900010087ffe304a205f00027007e403c0d0c020e0b021e1f1e08 +0902070a021f1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b1f1b +0700221b190e2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee10c6 +111739304b535807100eed11173907100eed1117395922b20f2901015db61f292f294f29035d +01152e012322061514161f011e0115140421222627351e013332363534262f012e0135342433 +3216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da05a4 +c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e4260000020071ffe3 +047f047b0014001b00704024001501098608880515a90105b90c01bb18b912b80c8c1c1b1502 +081508004b02120f451c10fcecf4ecc4111239310010e4f4ece410ee10ee10f4ee1112393040 +293f1d701da01dd01df01d053f003f013f023f153f1b052c072f082f092c0a6f006f016f026f +156f1b095d71015d0115211e0133323637150e01232000111000333200072e0123220607047f +fcb20ccdb76ac76263d06bfef4fec70129fce20107b802a5889ab90e025e5abec73434ae2a2c +0138010a01130143feddc497b4ae9e00000100ba0000034a047b001100304014060b0700110b +03870eb809bc070a06080008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302 +015d012e012322061511231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b412 +11cbbefdb20460ae6663050500000001003d0000047f0460000600fb40270311040504021101 +0205050402110302060006011100000642020300bf0506050302010504000710d44bb00a5458 +b90000004038594bb014544bb015545b58b90000ffc03859c4173931002fec3239304b535807 +1005ed071008ed071008ed071005ed592201408e48026a027b027f02860280029102a4020806 +00060109030904150015011a031a0426002601290329042008350035013a033a043008460046 +0149034904460548064008560056015903590450086600660169036904670568066008750074 +017b037b0475057a068500850189038904890586069600960197029a03980498059706a805a7 +06b008c008df08ff083e5d005d133309013301233dc3015e015ec3fe5cfa0460fc5403acfba0 +000000010073ffe3052705f000190036401a0da10eae0a951101a100ae04951791118c1a0719 +0d003014101a10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e012320 +0011100021323637150e01232000111000213216052766e782ff00fef00110010082e7666aed +84feadfe7a0186015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f01670168019f47 +0000000100c100000179061400030022b7009702010800460410fcec31002fec30400d100540 +05500560057005f00506015d13331123c1b8b80614f9ec00000200c100000179061400030007 +002b400e06be04b100bc020501080400460810fc3cec3231002fe4fcec30400b100940095009 +6009700905015d1333112311331523c1b8b8b8b80460fba00614e900000100ba00000464047b +001300364019030900030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31 +002f3ce4f4c4ec1112173930b46015cf1502015d0111231134262322061511231133153e0133 +32160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010037 +000002f2059e0013003840190e05080f03a9001101bc08870a0b08090204000810120e461410 +fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d01112115211114163b01 +152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a9fd20260 +8f013e00000000010071ffe303e7047b0019003f401b00860188040e860d880ab91104b917b8 +118c1a07120d004814451a10fce432ec310010e4f4ec10fef4ee10f5ee30400b0f1b101b801b +901ba01b05015d01152e0123220615141633323637150e0123220011100021321603e74e9d50 +b3c6c6b3509d4e4da55dfdfed6012d010655a20435ac2b2be3cdcde32b2baa2424013e010e01 +12013a2300000001006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a531f1f +1e420a0b1e1f041500860189041486158918b91104b925b8118c281e0a0b1f1b0700521b080e +07081422452810fcc4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee121739304b53 +5807100eed111739070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c +3b093b0a3b0b3b0c0b200020012402280a280b2a132f142f152a16281e281f29202921242786 +0a860b860c860d12000000010202060a060b030c030d030e030f03100319031a031b031c041d +09272f293f295f297f2980299029a029f029185d005d7101152e012322061514161f011e0115 +140623222627351e013332363534262f012e01353436333216038b4ea85a898962943fc4a5f7 +d85ac36c66c661828c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323be35 +3559514b50250f2495829eac1e000000000100c90000048b05d5000b002e4015069504029500 +81089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d +132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa00000002 +0073ffe305d905f0000b00170023401306951200950c91128c1809190f33031915101810fcec +fcec310010e4f4ec10ee300122001110003332001110002720001110002120001110000327dc +fefd0103dcdc0101feffdc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb8014801 +1a011b0148a4fe5bfe9efe9ffe5b01a40162016201a50000000200c90000055405d50013001c +00b14035090807030a061103040305110404034206040015030415950914950d810b04050603 +1109001c160e050a191904113f140a1c0c041d10fcec32fcc4ec1117391139393931002f3cf4 +ecd4ec123912391239304b5358071005ed071005ed1117395922b2401e01015d40427a130105 +0005010502060307041500150114021603170425002501250226032706260726082609201e36 +01360246014602680575047505771388068807980698071f5d005d011e01171323032e012b01 +112311212016151406011133323635342623038d417b3ecdd9bf4a8b78dcca01c80100fc83fd +89fe9295959202bc16907efe68017f9662fd8905d5d6d88dba024ffdee87838385000001ffec +fe1d0414feac0003000fb500a90100020410c4c43100d4ec30011521350414fbd8feac8f8f00 +0000000100c90000053305d500090079401e071101020102110607064207020300af08050601 +07021c0436071c00040a10fcecfcec11393931002f3cec323939304b5358071004ed071004ed +5922b21f0b01015d40303602380748024707690266078002070601090615011a064601490657 +01580665016906790685018a0695019a069f0b105d005d13210111331121011123c901100296 +c4fef0fd6ac405d5fb1f04e1fa2b04e1fb1f000100100000056805d5000600b7402704110506 +050311020306060503110403000100021101010042030401af0006040302000505010710d4c4 +173931002fec3239304b5358071005ed071008ed071008ed071005ed5922b2500801015d4062 +00032a03470447055a037d038303070600070208040906150114021a041a052a002601260229 +042905250620083800330133023c043c05370648004501450249044905470659005606660269 +0469057a0076017602790479057506800898009706295d005d21013309013301024afdc6d301 +d901dad2fdc705d5fb1704e9fa2b0001fffa000004e905d50007004a400e0602950081040140 +031c0040050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ffc038 +11373859401300091f00100110021f071009400970099f09095d03211521112311210604effd +eecbfdee05d5aafad5052b00000100c90000046a05d500050025400c0295008104011c033a00 +040610fcecec31002fe4ec304009300750078003800404015d133311211521c9ca02d7fc5f05 +d5fad5aa000100c90000019305d50003002eb700af02011c00040410fc4bb0105458b9000000 +403859ec31002fec3001400d30054005500560058f059f05065d13331123c9caca05d5fa2b00 +000200100000056805d50002000a00c2404100110100040504021105050401110a030a001102 +0003030a0711050406110505040911030a08110a030a42000307950103810905090807060403 +02010009050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705 +ed071008ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f0058 +00760070008c000907010802060309041601190256015802500c67016802780176027c037204 +7707780887018802800c980299039604175d005d090121013301230321032302bcfeee0225fe +7be50239d288fd5f88d5050efd1903aefa2b017ffe810000000200c9000005b005d500080011 +002e4015009509810195100802100a0005190d32001c09041210fcecf4ec113939393931002f +ecf4ec30b2601301015d0111332000111000212521200011100029010193f40135011ffee1fe +cbfe42019f01b20196fe68fe50fe61052ffb770118012e012c0117a6fe97fe80fe7efe960000 +00020071ffe30475047b000b0017004a401306b91200b90cb8128c1809120f51031215451810 +fcecf4ec310010e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f +0f7f107f117b12a019f01911015d012206151416333236353426273200111000232200111000 +027394acab9593acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeed +fec70139011301140138000000020071ffe3045a06140010001c003840191ab9000e14b90508 +8c0eb801970317040008024711120b451d10fcecf4ec323231002fece4f4c4ec10c4ee30b660 +1e801ea01e03015d0111331123350e0123220211100033321601141633323635342623220603 +a2b8b83ab17ccbff00ffcb7cb1fdc7a79292a8a89292a703b6025ef9eca86461014401080108 +014461fe15cbe7e7cbcbe7e7000100b0fef2027b0612000d0037400f069800970e0d07000312 +0600130a0e10dc4bb0135458b9000affc038594bb00f5458b9000a00403859e432ec11393931 +0010fcec300106021514121723260235341237027b86828385a0969594970612e6fe3ee7e7fe +3be5eb01c6e0df01c4ec000100a4fef2026f0612000d001f400f079800970e0701000b120413 +08000e10dc3cf4ec113939310010fcec301333161215140207233612353402a4a096959596a0 +8583830612ecfe3cdfe0fe3aebe501c5e7e701c20000000100ba0000071d047b0022005a4026 +061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f501c18081a4623 +10fcec32fcfcfcec11123931002f3c3ce4f43cc4ec32111217393040133024502470249024a0 +24a024bf24df24ff2409015d013e013332161511231134262322061511231134262322061511 +231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797aab03897c76f5 +e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200aeffe30458047b +00130014003b401c030900030e0106870e118c0a01bc14b80c0d0908140b4e020800461510fc +ecf439ec3231002fe4e432f4c4ec1112173930b46f15c01502015d1311331114163332363511 +331123350e0123222601aeb87c7c95adb8b843b175c1c801cf01ba02a6fd619f9fbea4027bfb +a0ac6663f003a8000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e +1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec3232113939 +31002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f2740 +1d401e401f402040214022501d501e501f50205021502250277027851d871e871f8720872185 +229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f6020 +6021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123350e +01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfd +fb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa +2727fc000001006401df027f028300030011b6009c020401000410dccc310010d4ec30132115 +2164021bfde50283a400000100d9005e05db04a60006004f402b069c0006030403059c040403 +009c010201069c05060202014206050302000504a801a7070602240400230710fc3cec393100 +10f4ec1739304b5358071008ed071004ed071004ed071008ed592213350115013501d90502fa +fe040603f0b6fe2fa6fe2fb6016d000000020071fe56045a047b000b0028004a4023190c1d09 +12861316b90f03b92623b827bc09b90fbd1a1d261900080c4706121220452910fcc4ecf4ec32 +3231002fc4e4ece4f4c4ec10fed5ee1112393930b6602a802aa02a03015d0134262322061514 +1633323617100221222627351e013332363d010e0123220211101233321617353303a2a59594 +a5a59495a5b8fefefa61ac51519e52b5b439b27ccefcfcce7cb239b8023dc8dcdcc8c7dcdceb +fee2fee91d1eb32c2abdbf5b6362013a01030104013a6263aa0000020071fe56045a047b000b +001c003e401b03b90c0f09b91815b80f8c1bbd19bc1d180c06081a47001212451d10fcecf4ec +3232310010e4e4e4f4c4ec10c6ee304009601e801ea01ee01e04015d01141633323635342623 +2206010e012322021110003332161735331123012fa79292a8a89292a702733ab17ccbff00ff +cb7cb13ab8b8022fcbe7e7cbcbe7e7fdae646101440108010801446164aaf9f60000000200ba +ffe304a40614000b001c0038401903b90c0f09b918158c0fb81b971900121247180c06081a46 +1d10fcec3232f4ec31002fece4f4c4ec10c6ee30b6601e801ea01e03015d0134262322061514 +16333236013e01333200111002232226271523113303e5a79292a7a79292a7fd8e3ab17bcc00 +ffffcc7bb13ab9b9022fcbe7e7cbcbe7e702526461febcfef8fef8febc6164a806140001003d +fe56047f0460000f018b40430708020911000f0a110b0a00000f0e110f000f0d110c0d00000f +0d110e0d0a0b0a0c110b0b0a420d0b0910000b058703bd0e0bbc100e0d0c0a09060300080f04 +0f0b1010d44bb00a544bb008545b58b9000b004038594bb0145458b9000bffc03859c4c41117 +39310010e432f4ec113911391239304b5358071005ed071008ed071008ed071005ed071008ed +0705ed173259220140f0060005080609030d160a170d100d230d350d490a4f0a4e0d5a095a0a +6a0a870d800d930d120a000a09060b050c0b0e0b0f1701150210041005170a140b140c1a0e1a +0f2700240124022004200529082809250a240b240c270d2a0e2a0f2011370035013502300430 +05380a360b360c380d390e390f30114100400140024003400440054006400740084209450a47 +0d490e490f40115400510151025503500450055606550756085709570a550b550c590e590f50 +1166016602680a690e690f60117b08780e780f89008a09850b850c890d890e890f9909950b95 +0c9a0e9a0fa40ba40cab0eab0fb011cf11df11ff11655d005d050e012b01353332363f010133 +09013302934e947c936c4c543321fe3bc3015e015ec368c87a9a488654044efc94036c000000 +000100ba000004640614001300344019030900030e0106870e11b80c970a010208004e0d0908 +0b461410fcec32f4ec31002f3cecf4c4ec1112173930b2601501015d01112311342623220615 +11231133113e013332160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614 +fd9e6564ef00000100ba0000049c0614000a00bc402908110506050711060605031104050402 +11050504420805020303bc009709060501040608010800460b10fcec32d4c4113931002f3cec +e41739304b5358071004ed071005ed071005ed071004ed5922b2100c01015d405f04020a0816 +02270229052b0856026602670873027705820289058e08930296059708a3021209050906020b +030a072803270428052b062b07400c6803600c8903850489058d068f079a039707aa03a705b6 +07c507d607f703f003f704f0041a5d71005d1333110133090123011123bab90225ebfdae026b +f0fdc7b90614fc6901e3fdf4fdac0223fddd000200f0000001c3042300030007001c400e0683 +04a60083020501030400180810fc3cec3231002fecf4ec303733152311331523f0d3d3d3d3fe +fe0423fe00000000000200030000000000140001000000000034000400200000000400040001 +0000f027ffff0000f000ffff10000001000000000006005a0000000000280000000100020003 +000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016 +001700180019001a001b001c001d001e001f0020002100220023002400250026002700000135 +00b800cb00cb00c100aa009c01a600b800660000007100cb00a002b20085007500b800c301cb +0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9050200f40154 +00b4009c01390114013907060400044e04b4045204b804e704cd0037047304cd046004730133 +03a2055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc0444040e00df +03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252008f00c705cd +009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d500c100cb00f6 +00830354027f00000333026600d300c700a400cd008f009a0073040005d5010a00fe022b00a4 +00b4009c00000062009c0000001d032d05d505d505d505f0007f007b005400a406b806140723 +01d300b800cb00a601c301ec069300a000d3035c037103db0185042304a80448008f01390114 +01390360008f05d5019a0614072306660179046004600460047b009c00000277046001aa00e9 +04600762007b00c5007f027b000000b4025205cd006600bc00660077061000cd013b01850389 +008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a006f007b00ae +00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f018d02f600cd0344 +0029006604ee00730000140000960000b707060504030201002c2010b002254964b040515820 +c859212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8ffff5058041b +0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0051cb0032508 +e12d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0022545445921212d +2c45442d2cb00225b0022549b00525b005254960b0206368208a108a233a8a10653a2d000001 +0000000251eb321e59865f0f3cf5001f080000000000c896fa5500000000c896fa55f7d6fcae +0d72095500000008000000010000000000010000076dfe1d00000de2f7d6fa510d7200010000 +000000000000000000000000002804cd00660514008704ec0071034a00ba04bc003d05960073 +023900c1023900c1051200ba0323003704660071042b006f028b0000050e00c9064c0073058f +00c90400ffec05fc00c90579001004e3fffa047500c9025c00c905790010062900c904e50071 +05140071031f00b0031f00a407cb00ba051200ae04e7007b02e3006406b400d9051400710514 +0071051400ba04bc003d051200ba04a200ba02b200f000000000000000440000013c00000210 +00000280000003a40000043c00000478000004c800000540000005bc00000654000007b40000 +07b400000814000008a0000009b4000009e000000a8800000b6800000bd800000c1c00000c64 +00000d6000000de000000e8400000f1c00000f8c00000fe4000010a80000112c000012580000 +1284000012fc000013c400001464000014fc000016c800001740000018300000187000010000 +00280354002b0068000c000200100099000800000415021600080004b8028040fffbfe03fa14 +03f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03 +ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105 +e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9 +bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03 +cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03 +c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8 +b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2 +fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105 +a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a09603 +9ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398fe039796 +0d0597fe03960d03958a410595960394930e05942803930e0392fa039190bb0591fe03908f5d +0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a +410389880b05891403880b03878625058764038685110586250385110384fe038382110583fe +0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe03 +79fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21 +036bfe036a1142056a530369fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a +0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716190557320356fe035554 +150555420354150353011005531803521403514a130551fe03500b034ffe034e4d10054efe03 +4d10034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d0347fe034696034596 +0344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c +3b0d053c40ff0f033b0d033afe0339fe033837140538fa033736100537140336350b05361003 +350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09 +032c32032b2a25052b64032a2912052a25032912032827250528410327250326250b05260f03 +250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e64031d0d031c1142 +051cfe031bfa031a42031911420519fe031864031716190517fe031601100516190315fe0314 +fe0313fe031211420512fe0311022d05114203107d030f64030efe030d0c16050dfe030c0110 +050c16030bfe030a100309fe0308022d0508fe030714030664030401100504fe03401503022d +0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b00 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b1d00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 -1 546 666 +%%EndPageSetup +q 0 -1 546 667 rectclip q +0 665.925 546 -666 re W n +0 g +0.663875 w +0 J +0 j +[] 0.0 d +4 M q 1 0 0 -1 0 665.924988 cm +0.332 0.91 92.867 57.141 re S Q +BT +16 0 0 16 20.902991 631.872559 Tm +/f-0-0 1 Tf +<010203040203>Tj +ET +q 1 0 0 -1 0 665.924988 cm +452.164 0.34 92.867 57.141 re S Q +BT +16 0 0 16 472.736133 632.443994 Tm +/f-0-0 1 Tf +<050607020809>Tj +ET +1.029478 w +[ 4.117912 4.117912] 0 d +q 1 0 0 -1 0 665.924988 cm +41.453 63.719 m 41.453 665.922 l S Q +[ 4.117912 4.117912] 0 d +q 1 0 0 -1 0 665.924988 cm +500.469 61.043 m 500.469 663.246 l S Q +BT +12.8 0 0 12.8 47.919678 528.919275 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020b0c>-1<0d>-1<05>-1<0e0f0d>-1<1005>-1<0e11100d>-1<12 +0d>-1<11131005>-1<14150d>-1<1113101617>1<17>]TJ +ET +BT +12.8 0 0 12.8 44.687207 414.165955 Tm +/f-0-0 1 Tf +[<020a>-1<18>1<03>20<02100a>-1<18>1<08>-1<100a>-1<0607>1<0208>-1<09>-1<10 +0b0208>-1<191a>-1<1b>]TJ +ET +BT +12.8 0 0 12.8 46.65733 249.188416 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020b0c>-1<0d>-1<05>-1<0e0f0d>-1<1005>-1<0e11100d>-1<12 +0d>-1<11131005>-1<14150d>-1<11131017>18<16>78<13>78<16>]TJ +ET +BT +9.6 0 0 9.6 205.503491 441.642078 Tm +/f-0-0 1 Tf +[<0a>-1<18>1<1c>-1<1d>-1<08>-1<07>1<0a>-1<1e>-1<090718>1<08>-1<0c>-1<0b +0203>-1<040203>-1<0c>-1<1f200c>-1<0a>-1<06>1<070208>-1<09>]TJ +ET +0.8 w +[] 0.0 d +q 1 0 0 -1 0 665.924988 cm +43.879 280.043 m 493.195 280.043 l S Q +485.195 385.882 m 481.996 382.683 l 493.195 385.882 l 481.996 389.081 l +h +485.195 385.882 m f* +0.8 w +q -1 0 0 1 0 665.924988 cm +-485.195 -280.043 m -481.996 -283.242 l -493.195 -280.043 l -481.996 +-276.844 l h +-485.195 -280.043 m S Q +0.701961 g +0.8 w +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +44.688 81.246 451.738 75.961 re S Q +0 g +BT +9.6 0 0 9.6 205.503491 590.33656 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<090c>-1<0a>-1<18>1<08>-1<08>-1<020a>-1<09>-1<07>1<08>-1<21 +0c>-1<18>1<08>-1<0c>-1<0b0203>-1<040203>]TJ +ET +BT +9.6 0 0 9.6 207.119751 293.639929 Tm +/f-0-0 1 Tf +[<0a>-1<18>1<1c>-1<1d>-1<08>-1<07>1<0a>-1<1e>-1<090718>1<08>-1<0c>-1<0a>-1<06>1<07 +0208>-1<090c>-1<1f200c>-1<0b0203>-1<040203>]TJ +ET +0.800568 w +[] 0.0 d +q 1 0 0 -1 0 665.924988 cm +494.324 441.785 m 44.367 441.785 l S Q +52.375 224.14 m 55.574 227.343 l 44.367 224.14 l 55.574 220.941 l h +52.375 224.14 m f* +0.800568 w +q 1 -0.000000000000000122 -0.000000000000000122 -1 0 665.924988 cm +52.375 441.785 m 55.574 438.582 l 44.367 441.785 l 55.574 444.984 l h +52.375 441.785 m S Q +BT +12.8 0 0 12.8 46.506689 86.755847 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020b0c>-1<0d>-1<05>-1<0e0f0d>-1<1005>-1<0e11100d>-1<12 +0d>-1<11131005>-1<14150d>-1<111310170d>-1<14>]TJ +ET +0.701961 g +0.8 w +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +44.281 227.516 451.742 75.965 re S Q +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +43.477 375.402 451.738 75.961 re S Q +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +43.477 531.371 451.738 75.961 re S Q +0 g +BT +9.6 0 0 9.6 233.439209 138.249939 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<090c>-1<1907>1<0b>-1<0a>-1<18>1<08>-1<08>-1<020a>-1<09>-1<07>1<18 +08>]TJ +ET +0.8 g +BT +12.8 0 0 12.8 319.679053 553.059363 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<090c>-1<03>21<02221d>-1<020b>-1<090b>-1<0c0a>-1<18 +08>-1<08>-1<020a>-1<090718>1<08>]TJ +ET +BT +12.8 0 0 12.8 267.129076 396.28368 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<090c>-1<03>21<020a>-1<020704020b0c>-1<191e09>-1<1e +0c>-1<0b0208>-1<09>-1<0c23240c>-1<0b0203>-1<040203>]TJ +ET +BT +12.8 0 0 12.8 293.462207 265.367908 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<090c>-1<0b0208>-1<190b>-1<0c191e>-1<091e>-1<0c09>-1<18>1<0c>-1<09 +25>-1<020c>-1<0b0203>-1<040203>]TJ +ET +BT +12.8 0 0 12.8 308.687842 103.743494 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<090c>-1<0a>-1<06>1<180b020b>-1<0c09>-1<25>-1<02 +0c0a>-1<1808>-1<08>-1<020a>-1<090718>1<08>]TJ +ET +0 g +BT +12.8 0 0 12.8 47.719445 513.461366 Tm +/f-0-0 1 Tf +[<0a>-1<1e0606>1<231e>-1<0a>-1<26>-1<0c0a>-1<1e>-1<06>1<06021927>-1<0c +101e>-1<19191a1b>]TJ +ET +BT +12.8 0 0 12.8 46.103198 232.2349 Tm +/f-0-0 1 Tf +[<0a>-1<1e0606>1<231e>-1<0a>-1<26>-1<0c0a>-1<1e>-1<06>1<06021927>-1<0c +10191e>-1<091e>-1<1a1b>]TJ +ET +BT +12.8 0 0 12.8 46.911322 69.80238 Tm +/f-0-0 1 Tf +[<0a>-1<1e0606>1<231e>-1<0a>-1<26>-1<0c0a>-1<1e>-1<06>1<06021927>-1<0c +101902061a1b>]TJ +ET +Q Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/doc/img/ecore_con-client-server-example.png b/doc/img/ecore_con-client-server-example.png new file mode 100644 index 0000000..aef949d Binary files /dev/null and b/doc/img/ecore_con-client-server-example.png differ diff --git a/doc/img/ecore_con-client-server-example2.eps b/doc/img/ecore_con-client-server-example2.eps new file mode 100644 index 0000000..ef3cf7f --- /dev/null +++ b/doc/img/ecore_con-client-server-example2.eps @@ -0,0 +1,580 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.10.2 (http://cairographics.org) +%%CreationDate: Wed Jul 13 18:29:14 2011 +%%Pages: 1 +%%BoundingBox: 0 -1 546 666 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni0053 put +Encoding 2 /uni0065 put +Encoding 3 /uni0072 put +Encoding 4 /uni0076 put +Encoding 5 /uni0043 put +Encoding 6 /uni006C put +Encoding 7 /uni0069 put +Encoding 8 /uni006E put +Encoding 9 /uni0074 put +Encoding 10 /uni0063 put +Encoding 11 /uni006F put +Encoding 12 /uni005F put +Encoding 13 /uni0073 put +Encoding 14 /uni0028 put +Encoding 15 /uni0029 put +Encoding 16 /uni0020 put +Encoding 17 /uni0045 put +Encoding 18 /uni004F put +Encoding 19 /uni0052 put +Encoding 20 /uni004E put +Encoding 21 /uni0056 put +Encoding 22 /uni0054 put +Encoding 23 /uni0041 put +Encoding 24 /uni0044 put +Encoding 25 /uni0064 put +Encoding 26 /uni006D put +Encoding 27 /uni0075 put +Encoding 28 /uni0061 put +Encoding 29 /uni002D put +Encoding 30 /uni003E put +Encoding 31 /uni0067 put +Encoding 32 /uni004C put +Encoding 33 /uni0070 put +Encoding 34 /uni0068 put +Encoding 35 /uni0062 put +Encoding 36 /uni0079 put +Encoding 37 /uni0022 put +Encoding 38 /uni006B put +Encoding 39 /uni003A put +/CharStrings 40 dict dup begin +/.notdef 0 def +/uni0053 1 def +/uni0065 2 def +/uni0072 3 def +/uni0076 4 def +/uni0043 5 def +/uni006C 6 def +/uni0069 7 def +/uni006E 8 def +/uni0074 9 def +/uni0063 10 def +/uni006F 11 def +/uni005F 12 def +/uni0073 13 def +/uni0028 14 def +/uni0029 15 def +/uni0020 16 def +/uni0045 17 def +/uni004F 18 def +/uni0052 19 def +/uni004E 20 def +/uni0056 21 def +/uni0054 22 def +/uni0041 23 def +/uni0044 24 def +/uni0064 25 def +/uni006D 26 def +/uni0075 27 def +/uni0061 28 def +/uni002D 29 def +/uni003E 30 def +/uni0067 31 def +/uni004C 32 def +/uni0070 33 def +/uni0068 34 def +/uni0062 35 def +/uni0079 36 def +/uni0022 37 def +/uni006B 38 def +/uni003A 39 def +end readonly def +/sfnts [ +<00010000000a008000030020636d617001caf26c000019400000008e6376742000691d390000 +19d0000001fe6670676d7134766a00001bd0000000ab676c7966041fef2f000000ac00001894 +68656164f5a8919600001c7c00000036686865610cb8067900001cb400000024686d7478b924 +152200001cd8000000a06c6f63610001e70400001d78000000a46d6178700495067100001e1c +00000020707265703b07f10000001e3c0000056800020066fe96046605a400030007001a400c +04fb0006fb0108057f0204002fc4d4ec310010d4ecd4ec301311211125211121660400fc7303 +1bfce5fe96070ef8f272062900010087ffe304a205f00027007e403c0d0c020e0b021e1f1e08 +0902070a021f1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b1f1b +0700221b190e2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee10c6 +111739304b535807100eed11173907100eed1117395922b20f2901015db61f292f294f29035d +01152e012322061514161f011e0115140421222627351e013332363534262f012e0135342433 +3216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da05a4 +c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e4260000020071ffe3 +047f047b0014001b00704024001501098608880515a90105b90c01bb18b912b80c8c1c1b1502 +081508004b02120f451c10fcecf4ecc4111239310010e4f4ece410ee10ee10f4ee1112393040 +293f1d701da01dd01df01d053f003f013f023f153f1b052c072f082f092c0a6f006f016f026f +156f1b095d71015d0115211e0133323637150e01232000111000333200072e0123220607047f +fcb20ccdb76ac76263d06bfef4fec70129fce20107b802a5889ab90e025e5abec73434ae2a2c +0138010a01130143feddc497b4ae9e00000100ba0000034a047b001100304014060b0700110b +03870eb809bc070a06080008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302 +015d012e012322061511231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b412 +11cbbefdb20460ae6663050500000001003d0000047f0460000600fb40270311040504021101 +0205050402110302060006011100000642020300bf0506050302010504000710d44bb00a5458 +b90000004038594bb014544bb015545b58b90000ffc03859c4173931002fec3239304b535807 +1005ed071008ed071008ed071005ed592201408e48026a027b027f02860280029102a4020806 +00060109030904150015011a031a0426002601290329042008350035013a033a043008460046 +0149034904460548064008560056015903590450086600660169036904670568066008750074 +017b037b0475057a068500850189038904890586069600960197029a03980498059706a805a7 +06b008c008df08ff083e5d005d133309013301233dc3015e015ec3fe5cfa0460fc5403acfba0 +000000010073ffe3052705f000190036401a0da10eae0a951101a100ae04951791118c1a0719 +0d003014101a10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e012320 +0011100021323637150e01232000111000213216052766e782ff00fef00110010082e7666aed +84feadfe7a0186015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f01670168019f47 +0000000100c100000179061400030022b7009702010800460410fcec31002fec30400d100540 +05500560057005f00506015d13331123c1b8b80614f9ec00000200c100000179061400030007 +002b400e06be04b100bc020501080400460810fc3cec3231002fe4fcec30400b100940095009 +6009700905015d1333112311331523c1b8b8b8b80460fba00614e900000100ba00000464047b +001300364019030900030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31 +002f3ce4f4c4ec1112173930b46015cf1502015d0111231134262322061511231133153e0133 +32160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010037 +000002f2059e0013003840190e05080f03a9001101bc08870a0b08090204000810120e461410 +fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d01112115211114163b01 +152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a9fd20260 +8f013e00000000010071ffe303e7047b0019003f401b00860188040e860d880ab91104b917b8 +118c1a07120d004814451a10fce432ec310010e4f4ec10fef4ee10f5ee30400b0f1b101b801b +901ba01b05015d01152e0123220615141633323637150e0123220011100021321603e74e9d50 +b3c6c6b3509d4e4da55dfdfed6012d010655a20435ac2b2be3cdcde32b2baa2424013e010e01 +12013a23000000020071ffe30475047b000b0017004a401306b91200b90cb8128c1809120f51 +031215451810fcecf4ec310010e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b +0c7f0d7f0e7f0f7f107f117b12a019f01911015d012206151416333236353426273200111000 +232200111000027394acab9593acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99c +fec8feecfeedfec7013901130114013800000001ffecfe1d0414feac0003000fb500a9010002 +0410c4c43100d4ec30011521350414fbd8feac8f8f0000000001006fffe303c7047b002700e7 +403c0d0c020e0b531f1e080902070a531f1f1e420a0b1e1f041500860189041486158918b911 +04b925b8118c281e0a0b1f1b0700521b080e07081422452810fcc4ecd4ece411123939393931 +0010e4f4ec10fef5ee10f5ee121739304b535807100eed111739070eed1117395922b2002701 +015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c0b200020012402280a280b2a +132f142f152a16281e281f292029212427860a860b860c860d12000000010202060a060b030c +030d030e030f03100319031a031b031c041d09272f293f295f297f2980299029a029f029185d +005d7101152e012322061514161f011e0115140623222627351e013332363534262f012e0135 +3436333216038b4ea85a898962943fc4a5f7d85ac36c66c661828c65ab40ab98e0ce66b4043f +ae282854544049210e2a99899cb62323be353559514b50250f2495829eac1e000000000100b0 +fef2027b0612000d0037400f069800970e0d070003120600130a0e10dc4bb0135458b9000aff +c038594bb00f5458b9000a00403859e432ec113939310010fcec300106021514121723260235 +341237027b86828385a0969594970612e6fe3ee7e7fe3be5eb01c6e0df01c4ec000100a4fef2 +026f0612000d001f400f079800970e0701000b12041308000e10dc3cf4ec113939310010fcec +301333161215140207233612353402a4a096959596a08583830612ecfe3cdfe0fe3aebe501c5 +e7e701c20000000100c90000048b05d5000b002e401506950402950081089504ad0a05010907 +031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d13211521112115211121 +1521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa000000020073ffe305d905f0000b +00170023401306951200950c91128c1809190f33031915101810fcecfcec310010e4f4ec10ee +300122001110003332001110002720001110002120001110000327dcfefd0103dcdc0101feff +dc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb80148011a011b0148a4fe5bfe9e +fe9ffe5b01a40162016201a50000000200c90000055405d50013001c00b14035090807030a06 +1103040305110404034206040015030415950914950d810b040506031109001c160e050a1919 +04113f140a1c0c041d10fcec32fcc4ec1117391139393931002f3cf4ecd4ec12391239123930 +4b5358071005ed071005ed1117395922b2401e01015d40427a13010500050105020603070415 +00150114021603170425002501250226032706260726082609201e3601360246014602680575 +047505771388068807980698071f5d005d011e01171323032e012b0111231121201615140601 +1133323635342623038d417b3ecdd9bf4a8b78dcca01c80100fc83fd89fe9295959202bc1690 +7efe68017f9662fd8905d5d6d88dba024ffdee8783838500000100c90000053305d500090079 +401e071101020102110607064207020300af0805060107021c0436071c00040a10fcecfcec11 +393931002f3cec323939304b5358071004ed071004ed5922b21f0b01015d4030360238074802 +4707690266078002070601090615011a06460149065701580665016906790685018a0695019a +069f0b105d005d13210111331121011123c901100296c4fef0fd6ac405d5fb1f04e1fa2b04e1 +fb1f000100100000056805d5000600b740270411050605031102030606050311040300010002 +1101010042030401af0006040302000505010710d4c4173931002fec3239304b5358071005ed +071008ed071008ed071005ed5922b2500801015d406200032a03470447055a037d0383030706 +00070208040906150114021a041a052a002601260229042905250620083800330133023c043c +053706480045014502490449054706590056066602690469057a007601760279047905750680 +0898009706295d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b0001 +fffa000004e905d50007004a400e0602950081040140031c0040050810d4e4fce431002ff4ec +3230014bb00a5458bd00080040000100080008ffc03811373859401300091f00100110021f07 +1009400970099f09095d03211521112311210604effdeecbfdee05d5aafad5052b0000020010 +0000056805d50002000a00c2404100110100040504021105050401110a030a0011020003030a +0711050406110505040911030a08110a030a4200030795010381090509080706040302010009 +050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008 +ed071005ed071005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070 +008c000907010802060309041601190256015802500c67016802780176027c03720477077808 +87018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be50239 +d288fd5f88d5050efd1903aefa2b017ffe810000000200c9000005b005d500080011002e4015 +009509810195100802100a0005190d32001c09041210fcecf4ec113939393931002fecf4ec30 +b2601301015d0111332000111000212521200011100029010193f40135011ffee1fecbfe4201 +9f01b20196fe68fe50fe61052ffb770118012e012c0117a6fe97fe80fe7efe96000000020071 +ffe3045a06140010001c003840191ab9000e14b905088c0eb801970317040008024711120b45 +1d10fcecf4ec323231002fece4f4c4ec10c4ee30b6601e801ea01e03015d0111331123350e01 +23220211100033321601141633323635342623220603a2b8b83ab17ccbff00ffcb7cb1fdc7a7 +9292a8a89292a703b6025ef9eca86461014401080108014461fe15cbe7e7cbcbe7e7000100ba +0000071d047b0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f0808 +065011080f501c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec3211121739 +3040133024502470249024a024a024bf24df24ff2409015d013e013332161511231134262322 +061511231134262322061511231133153e01333216042945c082afbeb972758fa6b972778da6 +b9b93fb0797aab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c00 +0000000200aeffe30458047b00130014003b401c030900030e0106870e118c0a01bc14b80c0d +0908140b4e020800461510fcecf439ec3231002fe4e432f4c4ec1112173930b46f15c0150201 +5d1311331114163332363511331123350e0123222601aeb87c7c95adb8b843b175c1c801cf01 +ba02a6fd619f9fbea4027bfba0ac6663f003a8000002007bffe3042d047b000a002500bc4027 +191f0b17090e00a91706b90e1120861fba1cb923b8118c170c001703180d09080b1f03081445 +2610fcecccd4ec323211393931002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d30 +1e301f3020302130223f27401d401e401f402040214022501d501e501f502050215022502770 +27851d871e871f8720872185229027a027f0271e301e301f30203021401e401f40204021501e +501f50205021601e601f60206021701e701f70207021801e801f80208021185d015d01220615 +14163332363d01371123350e01232226353436332135342623220607353e0133321602bedfac +816f99b9b8b83fbc88accbfdfb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa +6661c1a2bdc0127f8b2e2eaa2727fc000001006401df027f028300030011b6009c0204010004 +10dccc310010d4ec301321152164021bfde50283a400000100d9005e05db04a60006004f402b +069c0006030403059c040403009c010201069c05060202014206050302000504a801a7070602 +240400230710fc3cec39310010f4ec1739304b5358071008ed071004ed071004ed071008ed59 +2213350115013501d90502fafe040603f0b6fe2fa6fe2fb6016d000000020071fe56045a047b +000b0028004a4023190c1d0912861316b90f03b92623b827bc09b90fbd1a1d261900080c4706 +121220452910fcc4ecf4ec323231002fc4e4ece4f4c4ec10fed5ee1112393930b6602a802aa0 +2a03015d01342623220615141633323617100221222627351e013332363d010e012322021110 +1233321617353303a2a59594a5a59495a5b8fefefa61ac51519e52b5b439b27ccefcfcce7cb2 +39b8023dc8dcdcc8c7dcdcebfee2fee91d1eb32c2abdbf5b6362013a01030104013a6263aa00 +000100c90000046a05d500050025400c0295008104011c033a00040610fcecec31002fe4ec30 +4009300750078003800404015d133311211521c9ca02d7fc5f05d5fad5aa000200bafe5604a4 +047b0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d11120b471704000802461d10 +fcec3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea01ee01e04015d251123113315 +3e013332001110022322260134262322061514163332360173b9b93ab17bcc00ffffcc7bb102 +38a79292a7a79292a7a8fdae060aaa6461febcfef8fef8febc6101ebcbe7e7cbcbe7e7000000 +000100ba000004640614001300344019030900030e0106870e11b80c970a010208004e0d0908 +0b461410fcec32f4ec31002f3cecf4c4ec1112173930b2601501015d01112311342623220615 +11231133113e013332160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614 +fd9e6564ef00000200baffe304a40614000b001c0038401903b90c0f09b918158c0fb81b9719 +00121247180c06081a461d10fcec3232f4ec31002fece4f4c4ec10c6ee30b6601e801ea01e03 +015d013426232206151416333236013e01333200111002232226271523113303e5a79292a7a7 +9292a7fd8e3ab17bcc00ffffcc7bb13ab9b9022fcbe7e7cbcbe7e702526461febcfef8fef8fe +bc6164a806140001003dfe56047f0460000f018b40430708020911000f0a110b0a00000f0e11 +0f000f0d110c0d00000f0d110e0d0a0b0a0c110b0b0a420d0b0910000b058703bd0e0bbc100e +0d0c0a09060300080f040f0b1010d44bb00a544bb008545b58b9000b004038594bb0145458b9 +000bffc03859c4c4111739310010e432f4ec113911391239304b5358071005ed071008ed0710 +08ed071005ed071008ed0705ed173259220140f0060005080609030d160a170d100d230d350d +490a4f0a4e0d5a095a0a6a0a870d800d930d120a000a09060b050c0b0e0b0f17011502100410 +05170a140b140c1a0e1a0f2700240124022004200529082809250a240b240c270d2a0e2a0f20 +1137003501350230043005380a360b360c380d390e390f301141004001400240034004400540 +06400740084209450a470d490e490f4011540051015102550350045005560655075608570957 +0a550b550c590e590f501166016602680a690e690f60117b08780e780f89008a09850b850c89 +0d890e890f9909950b950c9a0e9a0fa40ba40cab0eab0fb011cf11df11ff11655d005d050e01 +2b01353332363f01013309013302934e947c936c4c543321fe3bc3015e015ec368c87a9a4886 +54044efc94036c000000000200c503aa02e905d5000300070042400f05018404008108040506 +000502040810fc4bb012544bb013545b58b90002ffc03859fcdcec310010f43cec323001400f +30094009500960097009a009bf09075d0111231121112311016faa0224aa05d5fdd5022bfdd5 +022b0000000100ba0000049c0614000a00bc4029081105060507110606050311040504021105 +0504420805020303bc009709060501040608010800460b10fcec32d4c4113931002f3cece417 +39304b5358071004ed071005ed071005ed071004ed5922b2100c01015d405f04020a08160227 +0229052b0856026602670873027705820289058e08930296059708a3021209050906020b030a +072803270428052b062b07400c6803600c8903850489058d068f079a039707aa03a705b607c5 +07d607f703f003f704f0041a5d71005d1333110133090123011123bab90225ebfdae026bf0fd +c7b90614fc6901e3fdf4fdac0223fddd000200f0000001c3042300030007001c400e068304a6 +0083020501030400180810fc3cec3231002fecf4ec303733152311331523f0d3d3d3d3fefe04 +23fe000000000002000300000000001400010000000000340004002000000004000400010000 +f027ffff0000f000ffff10000001000000000006005a00000000002800000001000200030004 +00050006000700080009000a000b000c000d000e000f00100011001200130014001500160017 +00180019001a001b001c001d001e001f002000210022002300240025002600270000013500b8 +00cb00cb00c100aa009c01a600b800660000007100cb00a002b20085007500b800c301cb0189 +022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9050200f4015400b4 +009c01390114013907060400044e04b4045204b804e704cd0037047304cd04600473013303a2 +055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc0444040e00df03cd +03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252008f00c705cd009a +009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d500c100cb00f60083 +0354027f00000333026600d300c700a400cd008f009a0073040005d5010a00fe022b00a400b4 +009c00000062009c0000001d032d05d505d505d505f0007f007b005400a406b80614072301d3 +00b800cb00a601c301ec069300a000d3035c037103db0185042304a80448008f013901140139 +0360008f05d5019a0614072306660179046004600460047b009c00000277046001aa00e90460 +0762007b00c5007f027b000000b4025205cd006600bc00660077061000cd013b01850389008f +007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a006f007b00ae00b2 +002d0396008f027b00f600830354063705f6008f009c04e10266008f018d02f600cd03440029 +006604ee00730000140000960000b707060504030201002c2010b002254964b040515820c859 +212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8ffff5058041b0559 +b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0051cb0032508e12d +2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0022545445921212d2c45 +442d2cb00225b0022549b00525b005254960b0206368208a108a233a8a10653a2d0000010000 +000251ebb40a581c5f0f3cf5001f080000000000c896fa5500000000c896fa55f7d6fcae0d72 +095500000008000000010000000000010000076dfe1d00000de2f7d6fa510d72000100000000 +00000000000000000000002804cd00660514008704ec0071034a00ba04bc003d059600730239 +00c1023900c1051200ba032300370466007104e500710400ffec042b006f031f00b0031f00a4 +028b0000050e00c9064c0073058f00c905fc00c90579001004e3fffa05790010062900c90514 +007107cb00ba051200ae04e7007b02e3006406b400d905140071047500c9051400ba051200ba +051400ba04bc003d03ae00c504a200ba02b200f000000000000000440000013c000002100000 +0280000003a40000043c00000478000004c800000540000005bc00000654000006f800000724 +00000884000008f40000094c0000094c000009ac00000a3800000b4c00000bf400000cd40000 +0d4400000e4000000ec000000f580000101c000010a0000011cc000011f80000127000001338 +0000137c0000141c000014940000152c000016f8000017640000185400001894000100000028 +0354002b0068000c000200100099000800000415021600080004b8028040fffbfe03fa1403f9 +2503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee96 +03ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e453 +03e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03 +d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe +03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe +03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb +05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03 +b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa +03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe +039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d05 +97fe03960d03958a410595960394930e05942803930e0392fa039190bb0591fe03908f5d0590 +bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a4103 +89880b05891403880b03878625058764038685110586250385110384fe038382110583fe0382 +110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe +03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036b +fe036a1142056a530369fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360 +fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716190557320356fe0355541505 +55420354150353011005531803521403514a130551fe03500b034ffe034e4d10054efe034d10 +034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d0347fe0346960345960344 +fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d +053c40ff0f033b0d033afe0339fe033837140538fa033736100537140336350b05361003350b +03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c +32032b2a25052b64032a2912052a25032912032827250528410327250326250b05260f03250b +0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e64031d0d031c1142051c +fe031bfa031a42031911420519fe031864031716190517fe031601100516190315fe0314fe03 +13fe031211420512fe0311022d05114203107d030f64030efe030d0c16050dfe030c0110050c +16030bfe030a100309fe0308022d0508fe030714030664030401100504fe03401503022d0503 +fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b1d00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 -1 546 666 +%%EndPageSetup +q 0 -1 546 667 rectclip q +0 665.925 546 -666 re W n +0 g +0.663875 w +0 J +0 j +[] 0.0 d +4 M q 1 0 0 -1 0 665.924988 cm +0.332 0.91 92.867 57.141 re S Q +BT +16 0 0 16 20.902991 631.872559 Tm +/f-0-0 1 Tf +<010203040203>Tj +ET +q 1 0 0 -1 0 665.924988 cm +452.164 0.34 92.867 57.141 re S Q +BT +16 0 0 16 472.736133 632.443994 Tm +/f-0-0 1 Tf +<050607020809>Tj +ET +1.029478 w +[ 4.117912 4.117912] 0 d +q 1 0 0 -1 0 665.924988 cm +41.453 63.719 m 41.453 665.922 l S Q +[ 4.117912 4.117912] 0 d +q 1 0 0 -1 0 665.924988 cm +500.469 61.043 m 500.469 663.246 l S Q +BT +12.8 0 0 12.8 312.98374 563.66853 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0d>-1<0203>-1<040203>-1<0c +0a>-1<0b>1<08>-1<08>-1<020a>-1<09>-1<0e0f>]TJ +ET +BT +12.8 0 0 12.8 216.362964 532.03114 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c0111>-1<13>54<1511>-1<130c1718>1<18>]TJ +ET +BT +12.8 0 0 12.8 215.566675 409.19657 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c0111>-1<13>54<1511>-1<130c18>18<17>79<16>77<17>]TJ +ET +BT +12.8 0 0 12.8 334.803003 271.936462 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0d>-1<0203>-1<040203>-1<0c +0d0208>-1<190e>-1<0f>]TJ +ET +BT +9.6 0 0 9.6 205.503491 441.642078 Tm +/f-0-0 1 Tf +[<0a>-1<0b>1<1a>-1<1b>-1<08>-1<07>1<0a>-1<1c>-1<09070b>1<08>-1<10>-1<0d +0203>-1<040203>-1<10>-1<1d1e10>-1<0a>-1<06>1<070208>-1<09>]TJ +ET +0.8 w +[] 0.0 d +q 1 0 0 -1 0 665.924988 cm +43.879 280.043 m 493.195 280.043 l S Q +485.195 385.882 m 481.996 382.683 l 493.195 385.882 l 481.996 389.081 l +h +485.195 385.882 m f* +0.8 w +q -1 0 0 1 0 665.924988 cm +-485.195 -280.043 m -481.996 -283.242 l -493.195 -280.043 l -481.996 +-276.844 l h +-485.195 -280.043 m S Q +0.701961 g +0.8 w +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +44.688 81.246 451.738 75.961 re S Q +0 g +BT +9.6 0 0 9.6 205.503491 590.33656 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<0910>-1<0a>-1<0b>1<08>-1<08>-1<020a>-1<09>-1<07>1<08>-1<1f +10>-1<0b>1<08>-1<10>-1<0d0203>-1<040203>]TJ +ET +BT +9.6 0 0 9.6 207.119751 293.639929 Tm +/f-0-0 1 Tf +[<0a>-1<0b>1<1a>-1<1b>-1<08>-1<07>1<0a>-1<1c>-1<09070b>1<08>-1<10>-1<0a>-1<06>1<07 +0208>-1<0910>-1<1d1e10>-1<0d0203>-1<040203>]TJ +ET +0.800568 w +[] 0.0 d +q 1 0 0 -1 0 665.924988 cm +494.324 428.855 m 44.367 428.855 l S Q +52.375 237.07 m 55.574 240.273 l 44.367 237.07 l 55.574 233.87 l h +52.375 237.07 m f* +0.800568 w +q 1 -0.000000000000000122 -0.000000000000000122 -1 0 665.924988 cm +52.375 428.855 m 55.574 425.652 l 44.367 428.855 l 55.574 432.055 l h +52.375 428.855 m S Q +BT +12.8 0 0 12.8 345.308594 116.777039 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0d>-1<0203>-1<040203>-1<0c +190206>1<0e>-1<0f>]TJ +ET +BT +12.8 0 0 12.8 215.416064 85.139587 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c0111>-1<13>54<1511>-1<130c1811>-1<20>]TJ +ET +0.701961 g +0.8 w +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +44.281 227.516 451.742 75.965 re S Q +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +43.477 375.402 451.738 75.961 re S Q +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +43.477 531.371 451.738 75.961 re S Q +0 g +BT +9.6 0 0 9.6 233.439209 138.249939 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<0910>-1<1907>1<0d>-1<0a>-1<0b>1<08>-1<08>-1<020a>-1<09>-1<07>1<0b +08>]TJ +ET +0.8 g +BT +12.8 0 0 12.8 46.878833 549.018738 Tm +/f-0-0 1 Tf +[<0d0203>-1<040203>-1<10>-1<03>21<020a>-1<020704020d10>-1<1c08>-1<1910>-1<1c +0a>-1<0a>-1<022109>-1<1009>-1<22>-1<02100a>-1<0b08>-1<08>-1<020a>-1<09 +070b>1<08>]TJ +ET +BT +12.8 0 0 12.8 45.262585 422.951697 Tm +/f-0-0 1 Tf +[<0d0203>-1<040203>-1<10>-1<0d0208>-1<190d>-1<10191c>-1<091c>-1<1009>-1<0b>1<10>-1<09 +22>-1<0210>-1<0a>-1<06>1<070208>-1<09>]TJ +ET +BT +12.8 0 0 12.8 45.262588 246.781092 Tm +/f-0-0 1 Tf +[<0d0203>-1<040203>-1<10>-1<03>21<020a>-1<020704020d10>-1<191c09>-1<1c +10>-1<0d0208>-1<09>-1<10232410>-1<0a>-1<06>1<070208>-1<09>]TJ +ET +BT +12.8 0 0 12.8 45.262585 101.319128 Tm +/f-0-0 1 Tf +[<0d0203>-1<040203>-1<10>-1<03>21<020a>-1<020704020d10>-1<25>-1<0a>-1<0b>1<08>-1<08>-1<02 +0a>-1<09>-1<07>1<0b08>-1<100a>-1<060b>1<0d>-1<021925>]TJ +ET +0 g +BT +12.8 0 0 12.8 347.920971 516.693861 Tm +/f-0-0 1 Tf +[<0a>-1<1c0606>1<231c>-1<0a>-1<26>-1<100a>-1<1c>-1<06>1<06021927>-1<10 +0c1c>-1<19190e0f>]TJ +ET +BT +12.8 0 0 12.8 345.595336 393.859315 Tm +/f-0-0 1 Tf +[<0a>-1<1c0606>1<231c>-1<0a>-1<26>-1<100a>-1<1c>-1<06>1<06021927>-1<10 +0c191c>-1<091c>-1<0e0f>]TJ +ET +BT +12.8 0 0 12.8 348.430322 64.95365 Tm +/f-0-0 1 Tf +[<0a>-1<1c0606>1<231c>-1<0a>-1<26>-1<100a>-1<1c>-1<06>1<06021927>-1<10 +0c1902060e0f>]TJ +ET +Q Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/doc/img/ecore_con-client-server-example2.png b/doc/img/ecore_con-client-server-example2.png new file mode 100644 index 0000000..d72ee56 Binary files /dev/null and b/doc/img/ecore_con-client-server-example2.png differ diff --git a/doc/img/ecore_con-client-server.eps b/doc/img/ecore_con-client-server.eps new file mode 100644 index 0000000..dc57dbc --- /dev/null +++ b/doc/img/ecore_con-client-server.eps @@ -0,0 +1,513 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.10.2 (http://cairographics.org) +%%CreationDate: Wed Jul 13 18:29:41 2011 +%%Pages: 1 +%%BoundingBox: 0 -1 546 666 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +11 dict begin +/FontType 42 def +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 1 /uni0053 put +Encoding 2 /uni0065 put +Encoding 3 /uni0072 put +Encoding 4 /uni0076 put +Encoding 5 /uni0043 put +Encoding 6 /uni006C put +Encoding 7 /uni0069 put +Encoding 8 /uni006E put +Encoding 9 /uni0074 put +Encoding 10 /uni0063 put +Encoding 11 /uni006F put +Encoding 12 /uni005F put +Encoding 13 /uni0073 put +Encoding 14 /uni0028 put +Encoding 15 /uni0029 put +Encoding 16 /uni0020 put +Encoding 17 /uni0045 put +Encoding 18 /uni004F put +Encoding 19 /uni0052 put +Encoding 20 /uni004E put +Encoding 21 /uni0056 put +Encoding 22 /uni0054 put +Encoding 23 /uni004C put +Encoding 24 /uni0049 put +Encoding 25 /uni0041 put +Encoding 26 /uni0044 put +Encoding 27 /uni0064 put +Encoding 28 /uni006D put +Encoding 29 /uni0075 put +Encoding 30 /uni0061 put +Encoding 31 /uni002D put +Encoding 32 /uni003E put +Encoding 33 /uni0067 put +/CharStrings 34 dict dup begin +/.notdef 0 def +/uni0053 1 def +/uni0065 2 def +/uni0072 3 def +/uni0076 4 def +/uni0043 5 def +/uni006C 6 def +/uni0069 7 def +/uni006E 8 def +/uni0074 9 def +/uni0063 10 def +/uni006F 11 def +/uni005F 12 def +/uni0073 13 def +/uni0028 14 def +/uni0029 15 def +/uni0020 16 def +/uni0045 17 def +/uni004F 18 def +/uni0052 19 def +/uni004E 20 def +/uni0056 21 def +/uni0054 22 def +/uni004C 23 def +/uni0049 24 def +/uni0041 25 def +/uni0044 26 def +/uni0064 27 def +/uni006D 28 def +/uni0075 29 def +/uni0061 30 def +/uni002D 31 def +/uni003E 32 def +/uni0067 33 def +end readonly def +/sfnts [ +<00010000000a008000030020636d61700155f1ee00001470000000826376742000691d390000 +14f4000001fe6670676d7134766a000016f4000000ab676c796664fd74e8000000ac000013c4 +68656164f5a89196000017a000000036686865610cb80673000017d800000024686d74789c88 +1111000017fc000000886c6f6361000156ac000018840000008c6d617870048f067100001910 +00000020707265703b07f100000019300000056800020066fe96046605a400030007001a400c +04fb0006fb0108057f0204002fc4d4ec310010d4ecd4ec301311211125211121660400fc7303 +1bfce5fe96070ef8f272062900010087ffe304a205f00027007e403c0d0c020e0b021e1f1e08 +0902070a021f1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b1f1b +0700221b190e2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee10c6 +111739304b535807100eed11173907100eed1117395922b20f2901015db61f292f294f29035d +01152e012322061514161f011e0115140421222627351e013332363534262f012e0135342433 +3216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da05a4 +c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e4260000020071ffe3 +047f047b0014001b00704024001501098608880515a90105b90c01bb18b912b80c8c1c1b1502 +081508004b02120f451c10fcecf4ecc4111239310010e4f4ece410ee10ee10f4ee1112393040 +293f1d701da01dd01df01d053f003f013f023f153f1b052c072f082f092c0a6f006f016f026f +156f1b095d71015d0115211e0133323637150e01232000111000333200072e0123220607047f +fcb20ccdb76ac76263d06bfef4fec70129fce20107b802a5889ab90e025e5abec73434ae2a2c +0138010a01130143feddc497b4ae9e00000100ba0000034a047b001100304014060b0700110b +03870eb809bc070a06080008461210fcc4ec3231002fe4f4ecc4d4cc11123930b450139f1302 +015d012e012322061511231133153e0133321617034a1f492c9ca7b9b93aba85132e1c03b412 +11cbbefdb20460ae6663050500000001003d0000047f0460000600fb40270311040504021101 +0205050402110302060006011100000642020300bf0506050302010504000710d44bb00a5458 +b90000004038594bb014544bb015545b58b90000ffc03859c4173931002fec3239304b535807 +1005ed071008ed071008ed071005ed592201408e48026a027b027f02860280029102a4020806 +00060109030904150015011a031a0426002601290329042008350035013a033a043008460046 +0149034904460548064008560056015903590450086600660169036904670568066008750074 +017b037b0475057a068500850189038904890586069600960197029a03980498059706a805a7 +06b008c008df08ff083e5d005d133309013301233dc3015e015ec3fe5cfa0460fc5403acfba0 +000000010073ffe3052705f000190036401a0da10eae0a951101a100ae04951791118c1a0719 +0d003014101a10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e012320 +0011100021323637150e01232000111000213216052766e782ff00fef00110010082e7666aed +84feadfe7a0186015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f01670168019f47 +0000000100c100000179061400030022b7009702010800460410fcec31002fec30400d100540 +05500560057005f00506015d13331123c1b8b80614f9ec00000200c100000179061400030007 +002b400e06be04b100bc020501080400460810fc3cec3231002fe4fcec30400b100940095009 +6009700905015d1333112311331523c1b8b8b8b80460fba00614e900000100ba00000464047b +001300364019030900030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31 +002f3ce4f4c4ec1112173930b46015cf1502015d0111231134262322061511231133153e0133 +32160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010037 +000002f2059e0013003840190e05080f03a9001101bc08870a0b08090204000810120e461410 +fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d01112115211114163b01 +152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a9fd20260 +8f013e00000000010071ffe303e7047b0019003f401b00860188040e860d880ab91104b917b8 +118c1a07120d004814451a10fce432ec310010e4f4ec10fef4ee10f5ee30400b0f1b101b801b +901ba01b05015d01152e0123220615141633323637150e0123220011100021321603e74e9d50 +b3c6c6b3509d4e4da55dfdfed6012d010655a20435ac2b2be3cdcde32b2baa2424013e010e01 +12013a23000000020071ffe30475047b000b0017004a401306b91200b90cb8128c1809120f51 +031215451810fcecf4ec310010e4f4ec10ee3040233f197b007b067f077f087f097f0a7f0b7b +0c7f0d7f0e7f0f7f107f117b12a019f01911015d012206151416333236353426273200111000 +232200111000027394acab9593acac93f00112feeef0f1feef011103dfe7c9c9e7e8c8c7e99c +fec8feecfeedfec7013901130114013800000001ffecfe1d0414feac0003000fb500a9010002 +0410c4c43100d4ec30011521350414fbd8feac8f8f0000000001006fffe303c7047b002700e7 +403c0d0c020e0b531f1e080902070a531f1f1e420a0b1e1f041500860189041486158918b911 +04b925b8118c281e0a0b1f1b0700521b080e07081422452810fcc4ecd4ece411123939393931 +0010e4f4ec10fef5ee10f5ee121739304b535807100eed111739070eed1117395922b2002701 +015d406d1c0a1c0b1c0c2e092c0a2c0b2c0c3b093b0a3b0b3b0c0b200020012402280a280b2a +132f142f152a16281e281f292029212427860a860b860c860d12000000010202060a060b030c +030d030e030f03100319031a031b031c041d09272f293f295f297f2980299029a029f029185d +005d7101152e012322061514161f011e0115140623222627351e013332363534262f012e0135 +3436333216038b4ea85a898962943fc4a5f7d85ac36c66c661828c65ab40ab98e0ce66b4043f +ae282854544049210e2a99899cb62323be353559514b50250f2495829eac1e000000000100b0 +fef2027b0612000d0037400f069800970e0d070003120600130a0e10dc4bb0135458b9000aff +c038594bb00f5458b9000a00403859e432ec113939310010fcec300106021514121723260235 +341237027b86828385a0969594970612e6fe3ee7e7fe3be5eb01c6e0df01c4ec000100a4fef2 +026f0612000d001f400f079800970e0701000b12041308000e10dc3cf4ec113939310010fcec +301333161215140207233612353402a4a096959596a08583830612ecfe3cdfe0fe3aebe501c5 +e7e701c20000000100c90000048b05d5000b002e401506950402950081089504ad0a05010907 +031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d13211521112115211121 +1521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa000000020073ffe305d905f0000b +00170023401306951200950c91128c1809190f33031915101810fcecfcec310010e4f4ec10ee +300122001110003332001110002720001110002120001110000327dcfefd0103dcdc0101feff +dc013a0178fe88fec6fec5fe870179054cfeb8fee5fee6feb80148011a011b0148a4fe5bfe9e +fe9ffe5b01a40162016201a50000000200c90000055405d50013001c00b14035090807030a06 +1103040305110404034206040015030415950914950d810b040506031109001c160e050a1919 +04113f140a1c0c041d10fcec32fcc4ec1117391139393931002f3cf4ecd4ec12391239123930 +4b5358071005ed071005ed1117395922b2401e01015d40427a13010500050105020603070415 +00150114021603170425002501250226032706260726082609201e3601360246014602680575 +047505771388068807980698071f5d005d011e01171323032e012b0111231121201615140601 +1133323635342623038d417b3ecdd9bf4a8b78dcca01c80100fc83fd89fe9295959202bc1690 +7efe68017f9662fd8905d5d6d88dba024ffdee8783838500000100c90000053305d500090079 +401e071101020102110607064207020300af0805060107021c0436071c00040a10fcecfcec11 +393931002f3cec323939304b5358071004ed071004ed5922b21f0b01015d4030360238074802 +4707690266078002070601090615011a06460149065701580665016906790685018a0695019a +069f0b105d005d13210111331121011123c901100296c4fef0fd6ac405d5fb1f04e1fa2b04e1 +fb1f000100100000056805d5000600b740270411050605031102030606050311040300010002 +1101010042030401af0006040302000505010710d4c4173931002fec3239304b5358071005ed +071008ed071008ed071005ed5922b2500801015d406200032a03470447055a037d0383030706 +00070208040906150114021a041a052a002601260229042905250620083800330133023c043c +053706480045014502490449054706590056066602690469057a007601760279047905750680 +0898009706295d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b0001 +fffa000004e905d50007004a400e0602950081040140031c0040050810d4e4fce431002ff4ec +3230014bb00a5458bd00080040000100080008ffc03811373859401300091f00100110021f07 +1009400970099f09095d03211521112311210604effdeecbfdee05d5aafad5052b00000100c9 +0000046a05d500050025400c0295008104011c033a00040610fcecec31002fe4ec3040093007 +50078003800404015d133311211521c9ca02d7fc5f05d5fad5aa000100c90000019305d50003 +002eb700af02011c00040410fc4bb0105458b9000000403859ec31002fec3001400d30054005 +500560058f059f05065d13331123c9caca05d5fa2b00000200100000056805d50002000a00c2 +404100110100040504021105050401110a030a0011020003030a071105040611050504091103 +0a08110a030a4200030795010381090509080706040302010009050a0b10d4c4173931002f3c +e4d4ec1239304b5358071005ed0705ed071005ed0705ed071008ed071005ed071005ed071008 +ed5922b2200c01015d40420f010f020f070f080f005800760070008c00090701080206030904 +1601190256015802500c67016802780176027c0372047707780887018802800c980299039604 +175d005d090121013301230321032302bcfeee0225fe7be50239d288fd5f88d5050efd1903ae +fa2b017ffe810000000200c9000005b005d500080011002e4015009509810195100802100a00 +05190d32001c09041210fcecf4ec113939393931002fecf4ec30b2601301015d011133200011 +1000212521200011100029010193f40135011ffee1fecbfe42019f01b20196fe68fe50fe6105 +2ffb770118012e012c0117a6fe97fe80fe7efe96000000020071ffe3045a06140010001c0038 +40191ab9000e14b905088c0eb801970317040008024711120b451d10fcecf4ec323231002fec +e4f4c4ec10c4ee30b6601e801ea01e03015d0111331123350e01232202111000333216011416 +33323635342623220603a2b8b83ab17ccbff00ffcb7cb1fdc7a79292a8a89292a703b6025ef9 +eca86461014401080108014461fe15cbe7e7cbcbe7e7000100ba0000071d047b0022005a4026 +061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f501c18081a4623 +10fcec32fcfcfcec11123931002f3c3ce4f43cc4ec32111217393040133024502470249024a0 +24a024bf24df24ff2409015d013e013332161511231134262322061511231134262322061511 +231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797aab03897c76f5 +e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000200aeffe30458047b +00130014003b401c030900030e0106870e118c0a01bc14b80c0d0908140b4e020800461510fc +ecf439ec3231002fe4e432f4c4ec1112173930b46f15c01502015d1311331114163332363511 +331123350e0123222601aeb87c7c95adb8b843b175c1c801cf01ba02a6fd619f9fbea4027bfb +a0ac6663f003a8000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e +1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec3232113939 +31002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f2740 +1d401e401f402040214022501d501e501f50205021502250277027851d871e871f8720872185 +229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f6020 +6021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123350e +01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfd +fb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa +2727fc000001006401df027f028300030011b6009c020401000410dccc310010d4ec30132115 +2164021bfde50283a400000100d9005e05db04a60006004f402b069c0006030403059c040403 +009c010201069c05060202014206050302000504a801a7070602240400230710fc3cec393100 +10f4ec1739304b5358071008ed071004ed071004ed071008ed592213350115013501d90502fa +fe040603f0b6fe2fa6fe2fb6016d000000020071fe56045a047b000b0028004a4023190c1d09 +12861316b90f03b92623b827bc09b90fbd1a1d261900080c4706121220452910fcc4ecf4ec32 +3231002fc4e4ece4f4c4ec10fed5ee1112393930b6602a802aa02a03015d0134262322061514 +1633323617100221222627351e013332363d010e0123220211101233321617353303a2a59594 +a5a59495a5b8fefefa61ac51519e52b5b439b27ccefcfcce7cb239b8023dc8dcdcc8c7dcdceb +fee2fee91d1eb32c2abdbf5b6362013a01030104013a6263aa00000000020003000000000014 +00010000000000340004002000000004000400010000f021ffff0000f000ffff100000010000 +00000006004e0000000000220000000100020003000400050006000700080009000a000b000c +000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e001f +002000210000013500b800cb00cb00c100aa009c01a600b800660000007100cb00a002b20085 +007500b800c301cb0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb0000 +00d9050200f4015400b4009c01390114013907060400044e04b4045204b804e704cd00370473 +04cd04600473013303a2055605a60556053903c5021200c9001f00b801df007300ba03e90333 +03bc0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b +0252008f00c705cd009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e +01d500c100cb00f600830354027f00000333026600d300c700a400cd008f009a0073040005d5 +010a00fe022b00a400b4009c00000062009c0000001d032d05d505d505d505f0007f007b0054 +00a406b80614072301d300b800cb00a601c301ec069300a000d3035c037103db0185042304a8 +0448008f0139011401390360008f05d5019a0614072306660179046004600460047b009c0000 +0277046001aa00e904600762007b00c5007f027b000000b4025205cd006600bc006600770610 +00cd013b01850389008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335 +006a006f007b00ae00b2002d0396008f027b00f600830354063705f6008f009c04e10266008f +018d02f600cd03440029006604ee00730000140000960000b707060504030201002c2010b002 +254964b040515820c859212d2cb002254964b040515820c859212d2c20100720b00050b00d79 +20b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b05 +59b0051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0 +022545445921212d2c45442d2cb00225b0022549b00525b005254960b0206368208a108a233a +8a10653a2d0000010000000251eb2c7ea7b85f0f3cf5001f080000000000c896fa5500000000 +c896fa55f7d6fcae0d72095500000008000000010000000000010000076dfe1d00000de2f7d6 +fa510d7200010000000000000000000000000000002204cd00660514008704ec0071034a00ba +04bc003d05960073023900c1023900c1051200ba032300370466007104e500710400ffec042b +006f031f00b0031f00a4028b0000050e00c9064c0073058f00c905fc00c90579001004e3fffa +047500c9025c00c905790010062900c90514007107cb00ba051200ae04e7007b02e3006406b4 +00d90514007100000000000000440000013c0000021000000280000003a40000043c00000478 +000004c800000540000005bc00000654000006f80000072400000884000008f40000094c0000 +094c000009ac00000a3800000b4c00000bf400000cd400000d4400000d8800000dd000000ecc +00000f4c00000fe4000010a80000112c0000125800001284000012fc000013c4000100000022 +0354002b0068000c000200100099000800000415021600080004b8028040fffbfe03fa1403f9 +2503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee96 +03ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e453 +03e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03 +d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe +03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe +03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb +05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03 +b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa +03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe +039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d05 +97fe03960d03958a410595960394930e05942803930e0392fa039190bb0591fe03908f5d0590 +bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a4103 +89880b05891403880b03878625058764038685110586250385110384fe038382110583fe0382 +110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe +03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036b +fe036a1142056a530369fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360 +fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716190557320356fe0355541505 +55420354150353011005531803521403514a130551fe03500b034ffe034e4d10054efe034d10 +034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d0347fe0346960345960344 +fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d +053c40ff0f033b0d033afe0339fe033837140538fa033736100537140336350b05361003350b +03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c +32032b2a25052b64032a2912052a25032912032827250528410327250326250b05260f03250b +0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e64031d0d031c1142051c +fe031bfa031a42031911420519fe031864031716190517fe031601100516190315fe0314fe03 +13fe031211420512fe0311022d05114203107d030f64030efe030d0c16050dfe030c0110050c +16030bfe030a100309fe0308022d0508fe030714030664030401100504fe03401503022d0503 +fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b1d00> +] def +/f-0-0 currentdict end definefont pop +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 -1 546 666 +%%EndPageSetup +q 0 -1 546 667 rectclip q +0 665.925 546 -666 re W n +0 g +0.663875 w +0 J +0 j +[] 0.0 d +4 M q 1 0 0 -1 0 665.924988 cm +0.332 0.91 92.867 57.141 re S Q +BT +16 0 0 16 20.902991 631.872559 Tm +/f-0-0 1 Tf +<010203040203>Tj +ET +q 1 0 0 -1 0 665.924988 cm +452.164 0.34 92.867 57.141 re S Q +BT +16 0 0 16 472.736133 632.443994 Tm +/f-0-0 1 Tf +<050607020809>Tj +ET +1.029478 w +[ 4.117912 4.117912] 0 d +q 1 0 0 -1 0 665.924988 cm +41.453 63.719 m 41.453 665.922 l S Q +[ 4.117912 4.117912] 0 d +q 1 0 0 -1 0 665.924988 cm +500.469 61.043 m 500.469 663.246 l S Q +BT +12.8 0 0 12.8 312.98374 563.66853 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0d>-1<0203>-1<040203>-1<0c +0a>-1<0b>1<08>-1<08>-1<020a>-1<09>-1<0e0f>]TJ +ET +BT +12.8 0 0 12.8 47.919678 540.232996 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c05>-1<171811>-1<14160c191a>1<1a>]TJ +ET +BT +12.8 0 0 12.8 216.362964 515.060583 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c0111>-1<13>54<1511>-1<130c191a>1<1a>]TJ +ET +BT +12.8 0 0 12.8 44.687207 414.165955 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0a>-1<0607>1<0208>-1<09>-1<0c +0d0208>-1<1b0e>-1<0f>]TJ +ET +BT +12.8 0 0 12.8 215.566675 397.882874 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c0111>-1<13>54<1511>-1<130c1a>18<19>79<16>77<19>]TJ +ET +BT +12.8 0 0 12.8 334.803003 271.936462 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0d>-1<0203>-1<040203>-1<0c +0d0208>-1<1b0e>-1<0f>]TJ +ET +BT +12.8 0 0 12.8 46.65733 249.188416 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c05>-1<171811>-1<14160c1a>18<19>78<16>78<19>]TJ +ET +BT +9.6 0 0 9.6 205.503491 441.642078 Tm +/f-0-0 1 Tf +[<0a>-1<0b>1<1c>-1<1d>-1<08>-1<07>1<0a>-1<1e>-1<09070b>1<08>-1<10>-1<0d +0203>-1<040203>-1<10>-1<1f2010>-1<0a>-1<06>1<070208>-1<09>]TJ +ET +0.8 w +[] 0.0 d +q 1 0 0 -1 0 665.924988 cm +43.879 280.043 m 493.195 280.043 l S Q +485.195 385.882 m 481.996 382.683 l 493.195 385.882 l 481.996 389.081 l +h +485.195 385.882 m f* +0.8 w +q -1 0 0 1 0 665.924988 cm +-485.195 -280.043 m -481.996 -283.242 l -493.195 -280.043 l -481.996 +-276.844 l h +-485.195 -280.043 m S Q +0.701961 g +0.8 w +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +44.688 81.246 451.738 75.961 re S Q +0 g +BT +9.6 0 0 9.6 205.503491 590.33656 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<0910>-1<0a>-1<0b>1<08>-1<08>-1<020a>-1<09>-1<07>1<08>-1<21 +10>-1<0b>1<08>-1<10>-1<0d0203>-1<040203>]TJ +ET +BT +9.6 0 0 9.6 207.119751 293.639929 Tm +/f-0-0 1 Tf +[<0a>-1<0b>1<1c>-1<1d>-1<08>-1<07>1<0a>-1<1e>-1<09070b>1<08>-1<10>-1<0a>-1<06>1<07 +0208>-1<0910>-1<1f2010>-1<0d0203>-1<040203>]TJ +ET +0.800568 w +[] 0.0 d +q 1 0 0 -1 0 665.924988 cm +494.324 428.855 m 44.367 428.855 l S Q +52.375 237.07 m 55.574 240.273 l 44.367 237.07 l 55.574 233.87 l h +52.375 237.07 m f* +0.800568 w +q 1 -0.000000000000000122 -0.000000000000000122 -1 0 665.924988 cm +52.375 428.855 m 55.574 425.652 l 44.367 428.855 l 55.574 432.055 l h +52.375 428.855 m S Q +BT +12.8 0 0 12.8 345.308594 116.777039 Tm +/f-0-0 1 Tf +[<020a>-1<0b>1<03>20<020c0a>-1<0b>1<08>-1<0c0d>-1<0203>-1<040203>-1<0c +1b0206>1<0e>-1<0f>]TJ +ET +BT +12.8 0 0 12.8 46.506689 96.453308 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c05>-1<171811>-1<14160c1a11>-1<17>]TJ +ET +BT +12.8 0 0 12.8 215.416064 79.482751 Tm +/f-0-0 1 Tf +[<03>21<020a>-1<020704020d10>-1<11>-1<05>-1<121311>-1<0c05>-1<12140c11>-1<15 +11>-1<14160c0111>-1<13>54<1511>-1<130c1a11>-1<17>]TJ +ET +0.701961 g +0.8 w +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +44.281 227.516 451.742 75.965 re S Q +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +43.477 375.402 451.738 75.961 re S Q +[ 1.6 3.2] 0 d +q 1 0 0 -1 0 665.924988 cm +43.477 531.371 451.738 75.961 re S Q +0 g +BT +9.6 0 0 9.6 233.439209 138.249939 Tm +/f-0-0 1 Tf +[<0a>-1<06>1<070208>-1<0910>-1<1b07>1<0d>-1<0a>-1<0b>1<08>-1<08>-1<020a>-1<09>-1<07>1<0b +08>]TJ +ET +Q Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/doc/img/ecore_con-client-server.png b/doc/img/ecore_con-client-server.png new file mode 100644 index 0000000..c435b54 Binary files /dev/null and b/doc/img/ecore_con-client-server.png differ diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h index eb377c1..5d309f1 100644 --- a/src/lib/ecore_con/Ecore_Con.h +++ b/src/lib/ecore_con/Ecore_Con.h @@ -567,6 +567,18 @@ EAPI Eina_Bool ecore_con_ssl_client_upgrade(Ecore_Con_Client *cl, Ecore_ * ecore_main_loop_begin(); * @endcode * + * After these two pieces of code are executed, respectively, in the server and + * client code, the server will be up and running and the client will try to + * connect to it. The connection, with its subsequent messages being sent from + * server to client and client to server, can be represented in the following + * sequence diagram: + * + * + * Full size + * + * @image rtf ecore_con-client-server.png + * @image latex ecore_con-client-server.eps width=\textwidth + * * Please notice the important difference between these two codes: the first is * used for writing a @b server, while the second should be used for writing a * @b client.