ecore/ecore_con - Add some sequence diagrams.
authorantognolli <antognolli@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 13 Jul 2011 19:04:27 +0000 (19:04 +0000)
committerantognolli <antognolli@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 13 Jul 2011 19:04:27 +0000 (19:04 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@61351 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

doc/examples.dox
doc/img/ecore_con-client-server-example.eps [new file with mode: 0644]
doc/img/ecore_con-client-server-example.png [new file with mode: 0644]
doc/img/ecore_con-client-server-example2.eps [new file with mode: 0644]
doc/img/ecore_con-client-server-example2.png [new file with mode: 0644]
doc/img/ecore_con-client-server.eps [new file with mode: 0644]
doc/img/ecore_con-client-server.png [new file with mode: 0644]
src/lib/ecore_con/Ecore_Con.h

index 60b17ab..0d8b924 100644 (file)
  * 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:
+ * <img src="ecore_con-client-server-example.png" style="max-width: 400px"/>
+ * <a href="ecore_con-client-server-example.png">Full size</a>
+ *
+ * @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
  * 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:
+ * <img src="ecore_con-client-server-example2.png" style="max-width: 400px"/>
+ * <a href="ecore_con-client-server-example2.png">Full size</a>
+ *
+ * @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 (file)
index 0000000..2a5b6eb
--- /dev/null
@@ -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 (file)
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 (file)
index 0000000..ef3cf7f
--- /dev/null
@@ -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 (file)
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 (file)
index 0000000..dc57dbc
--- /dev/null
@@ -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 (file)
index 0000000..c435b54
Binary files /dev/null and b/doc/img/ecore_con-client-server.png differ
index eb377c1..5d309f1 100644 (file)
@@ -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:
+ *
+ * <img src="ecore_con-client-server.png" style="max-width: 400px"/>
+ * <a href="ecore_con-client-server.png">Full size</a>
+ *
+ * @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.