Merge lp:~tiagosh/ubuntu/wily/telepathy-qt5/update-0.9.6.1 into lp:ubuntu/wily/telepathy-qt5

Proposed by Tiago Salem Herrmann
Status: Merged
Merge reported by: Martin Pitt
Merged at revision: not available
Proposed branch: lp:~tiagosh/ubuntu/wily/telepathy-qt5/update-0.9.6.1
Merge into: lp:ubuntu/wily/telepathy-qt5
Diff against target: 765114 lines (+358179/-292145)
1826 files modified
.pc/01-force_setInterfaces_on_call-content-for-dtmf.patch/TelepathyQt/call-content.cpp (+0/-537)
.pc/02-adapt_to_work_with_q5_final.patch/CMakeLists.txt (+0/-304)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/CMakeLists.txt (+0/-1007)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/CMakeLists.txt (+0/-83)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight-uninstalled.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsightConfig.cmake.in (+0/-24)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/channel.cpp (+0/-98)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/CMakeLists.txt (+0/-105)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream-uninstalled.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstreamConfig.cmake.in (+0/-24)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/channel.cpp (+0/-166)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt-uninstalled.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtConfig.cmake.in (+0/-28)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService-uninstalled.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService.pc.in (+0/-11)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtServiceConfig.cmake.in (+0/-22)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/account.cpp (+0/-4858)
.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/utils.cpp (+0/-220)
.pc/02-adapt_to_work_with_q5_final.patch/cmake/modules/FindQt.cmake (+0/-85)
.pc/02-adapt_to_work_with_q5_final.patch/cmake/modules/FindQt5.cmake (+0/-164)
.pc/02-adapt_to_work_with_q5_final.patch/cmake/modules/TpQtMacros.cmake (+0/-493)
.pc/02-adapt_to_work_with_q5_final.patch/examples/accounts/CMakeLists.txt (+0/-23)
.pc/02-adapt_to_work_with_q5_final.patch/examples/cm/CMakeLists.txt (+0/-21)
.pc/02-adapt_to_work_with_q5_final.patch/examples/contact-messenger/CMakeLists.txt (+0/-16)
.pc/02-adapt_to_work_with_q5_final.patch/examples/extensions/CMakeLists.txt (+0/-77)
.pc/02-adapt_to_work_with_q5_final.patch/examples/file-transfer/CMakeLists.txt (+0/-43)
.pc/02-adapt_to_work_with_q5_final.patch/examples/protocols/CMakeLists.txt (+0/-21)
.pc/02-adapt_to_work_with_q5_final.patch/examples/roster/CMakeLists.txt (+0/-40)
.pc/02-adapt_to_work_with_q5_final.patch/examples/stream-tubes/CMakeLists.txt (+0/-33)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/CMakeLists.txt (+0/-102)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/account-channel-dispatcher.cpp (+0/-1242)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/chan-basics.cpp (+0/-286)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/chan-conference.cpp (+0/-284)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/chan-group.cpp (+0/-511)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/client-factories.cpp (+0/-1182)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/client.cpp (+0/-853)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/contact-messenger.cpp (+0/-679)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/contact-search-chan.cpp (+0/-310)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/properties.cpp (+0/-148)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/stream-tube-handlers.cpp (+0/-1934)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/streamed-media-chan.cpp (+0/-1374)
.pc/02-adapt_to_work_with_q5_final.patch/tests/dbus/text-chan.cpp (+0/-565)
.pc/02-adapt_to_work_with_q5_final.patch/tests/lib/CMakeLists.txt (+0/-30)
.pc/02-adapt_to_work_with_q5_final.patch/tests/lib/glib-helpers/CMakeLists.txt (+0/-22)
.pc/03-add_service_side_classes.patch/CMakeLists.txt (+0/-308)
.pc/03-add_service_side_classes.patch/TelepathyQt/CMakeLists.txt (+0/-1007)
.pc/03-add_service_side_classes.patch/TelepathyQt/base-connection-internal.h (+0/-45)
.pc/03-add_service_side_classes.patch/TelepathyQt/base-connection.cpp (+0/-217)
.pc/03-add_service_side_classes.patch/TelepathyQt/base-connection.h (+0/-108)
.pc/03-add_service_side_classes.patch/TelepathyQt/service-types.h (+0/-59)
.pc/03-add_service_side_classes.patch/TelepathyQt/stable-interfaces.xml (+0/-32)
.pc/03-add_service_side_classes.patch/spec/Connection_Interface_Contact_List.xml (+0/-1129)
.pc/03-add_service_side_classes.patch/spec/Connection_Interface_Contacts.xml (+0/-191)
.pc/03-add_service_side_classes.patch/spec/Connection_Manager.xml (+0/-634)
.pc/03-add_service_side_classes.patch/spec/Protocol_Interface_Presence.xml (+0/-113)
.pc/03-add_service_side_classes.patch/spec/all.xml (+0/-323)
.pc/03-add_service_side_classes.patch/spec/errors.xml (+0/-667)
.pc/04-force_PIC_QT5.patch/CMakeLists.txt (+0/-308)
.pc/05-fix-qt52-build.patch/cmake/modules/TpQtMacros.cmake (+0/-493)
.pc/06-conference_interfaces.patch/TelepathyQt/base-channel-internal.h (+0/-351)
.pc/06-conference_interfaces.patch/TelepathyQt/base-channel.cpp (+0/-1688)
.pc/06-conference_interfaces.patch/TelepathyQt/base-channel.h (+0/-479)
.pc/06-conference_interfaces.patch/TelepathyQt/service-types.h (+0/-97)
.pc/06-conference_interfaces.patch/TelepathyQt/svc-channel.xml (+0/-38)
.pc/07-fix_createChannel.patch/TelepathyQt/base-connection.cpp (+0/-1356)
.pc/07-fix_createChannel.patch/TelepathyQt/base-connection.h (+0/-364)
.pc/08-add_conference_call_client_side.patch/TelepathyQt/account.cpp (+0/-4858)
.pc/08-add_conference_call_client_side.patch/TelepathyQt/account.h (+0/-580)
.pc/09-add_sms_iface_service_side.patch/TelepathyQt/base-channel-internal.h (+0/-418)
.pc/09-add_sms_iface_service_side.patch/TelepathyQt/base-channel.cpp (+0/-2001)
.pc/09-add_sms_iface_service_side.patch/TelepathyQt/base-channel.h (+0/-591)
.pc/09-add_sms_iface_service_side.patch/TelepathyQt/service-types.h (+0/-103)
.pc/10-emit_selfHandleChanged.patch/TelepathyQt/base-connection.cpp (+0/-1337)
.pc/11-fix-requested.patch/TelepathyQt/base-connection.cpp (+0/-1340)
.pc/applied-patches (+0/-11)
CMakeLists.txt (+28/-52)
ChangeLog (+14922/-13223)
NEWS (+66/-0)
TelepathyQt/BaseCall (+0/-13)
TelepathyQt/BaseChannel (+0/-13)
TelepathyQt/CMakeLists.txt (+68/-64)
TelepathyQt/ChannelInterfaceRoomConfigInterface (+13/-0)
TelepathyQt/ChannelInterfaceRoomInterface (+13/-0)
TelepathyQt/ChannelInterfaceSubjectInterface (+13/-0)
TelepathyQt/Farsight/CMakeLists.txt (+0/-83)
TelepathyQt/Farsight/Channel (+0/-13)
TelepathyQt/Farsight/TelepathyQtFarsight-uninstalled.pc.in (+0/-11)
TelepathyQt/Farsight/TelepathyQtFarsight.pc.in (+0/-11)
TelepathyQt/Farsight/TelepathyQtFarsightConfig.cmake.in (+0/-24)
TelepathyQt/Farsight/channel.cpp (+0/-98)
TelepathyQt/Farsight/channel.h (+0/-43)
TelepathyQt/Farsight/global.h (+0/-58)
TelepathyQt/Farstream/CMakeLists.txt (+23/-22)
TelepathyQt/Farstream/TelepathyQtFarstream-uninstalled.pc.in (+3/-3)
TelepathyQt/Farstream/TelepathyQtFarstream.pc.in (+4/-4)
TelepathyQt/Farstream/TelepathyQtFarstreamConfig.cmake.in (+19/-19)
TelepathyQt/TelepathyQt-uninstalled.pc.in (+3/-3)
TelepathyQt/TelepathyQt.pc.in (+4/-4)
TelepathyQt/TelepathyQtConfig.cmake.in (+19/-19)
TelepathyQt/TelepathyQtService-uninstalled.pc.in (+3/-3)
TelepathyQt/TelepathyQtService.pc.in (+4/-4)
TelepathyQt/TelepathyQtServiceConfig.cmake.in (+17/-17)
TelepathyQt/abstract-client.cpp (+0/-5)
TelepathyQt/account.cpp (+85/-58)
TelepathyQt/account.h (+69/-63)
TelepathyQt/base-call-internal.h (+0/-136)
TelepathyQt/base-call.cpp (+0/-502)
TelepathyQt/base-call.h (+0/-190)
TelepathyQt/base-channel-internal.h (+0/-443)
TelepathyQt/base-channel.cpp (+0/-2105)
TelepathyQt/base-channel.h (+0/-630)
TelepathyQt/base-connection-internal.h (+154/-47)
TelepathyQt/base-connection.cpp (+1251/-270)
TelepathyQt/base-connection.h (+267/-59)
TelepathyQt/call-interfaces.xml (+0/-9)
TelepathyQt/channel-dispatcher.xml (+14/-0)
TelepathyQt/channel-request.cpp (+1/-0)
TelepathyQt/channel.xml (+3/-0)
TelepathyQt/client-registrar.cpp (+12/-0)
TelepathyQt/connection-manager.cpp (+4/-0)
TelepathyQt/contact-manager.cpp (+20/-10)
TelepathyQt/contact-messenger.cpp (+3/-4)
TelepathyQt/contact.cpp (+4/-3)
TelepathyQt/dbus-object.cpp (+11/-0)
TelepathyQt/dbus-object.h (+6/-0)
TelepathyQt/dbus-service.cpp (+29/-3)
TelepathyQt/dbus-service.h (+3/-0)
TelepathyQt/dbus-tube-channel.cpp (+1/-1)
TelepathyQt/future-channel-dispatcher.xml (+0/-12)
TelepathyQt/global.h (+0/-139)
TelepathyQt/global.h.in (+159/-0)
TelepathyQt/handled-channel-notifier.cpp (+9/-0)
TelepathyQt/handled-channel-notifier.h (+5/-1)
TelepathyQt/main.dox (+2/-2)
TelepathyQt/message.h (+11/-11)
TelepathyQt/outgoing-stream-tube-channel.cpp (+1/-1)
TelepathyQt/pending-channel-request.cpp (+1/-1)
TelepathyQt/profile.cpp (+1/-1)
TelepathyQt/readiness-helper.h (+1/-0)
TelepathyQt/service-types.h (+27/-9)
TelepathyQt/simple-observer.cpp (+1/-1)
TelepathyQt/stable-interfaces.xml (+1/-0)
TelepathyQt/svc-call.xml (+0/-12)
TelepathyQt/svc-channel.xml (+3/-0)
TelepathyQt/text-channel.cpp (+1/-1)
cmake/modules/FindFarstream.cmake (+4/-4)
cmake/modules/FindGStreamer.cmake (+18/-28)
cmake/modules/FindQt.cmake (+104/-0)
cmake/modules/FindQt5.cmake (+135/-0)
cmake/modules/FindTelepathyFarsight.cmake (+0/-49)
cmake/modules/TelepathyDefaults.cmake (+4/-2)
cmake/modules/TelepathyDist.cmake (+10/-10)
cmake/modules/TpQtMacros.cmake (+6/-6)
debian/changelog (+6/-0)
debian/libtelepathy-qt5-0.symbols (+97/-2)
debian/patches/01-force_setInterfaces_on_call-content-for-dtmf.patch (+0/-17)
debian/patches/02-adapt_to_work_with_q5_final.patch (+0/-1745)
debian/patches/03-add_service_side_classes.patch (+0/-5585)
debian/patches/04-force_PIC_QT5.patch (+0/-19)
debian/patches/05-fix-qt52-build.patch (+0/-17)
debian/patches/06-conference_interfaces.patch (+0/-573)
debian/patches/07-fix_createChannel.patch (+0/-136)
debian/patches/08-add_conference_call_client_side.patch (+0/-207)
debian/patches/09-add_sms_iface_service_side.patch (+0/-222)
debian/patches/10-emit_selfHandleChanged.patch (+0/-22)
debian/patches/11-fix-requested.patch (+0/-18)
debian/patches/series (+0/-11)
debian/rules (+2/-1)
doc/html/a00001.html (+0/-50)
doc/html/a00002.html (+12/-21)
doc/html/a00003.html (+0/-50)
doc/html/a00004.html (+23/-162)
doc/html/a00005.html (+0/-112)
doc/html/a00006.html (+13/-86)
doc/html/a00007.html (+0/-78)
doc/html/a00008.html (+162/-28)
doc/html/a00009.html (+0/-47)
doc/html/a00010.html (+75/-67)
doc/html/a00011.html (+0/-73)
doc/html/a00012.html (+86/-13)
doc/html/a00013.html (+0/-64)
doc/html/a00014.html (+41/-50)
doc/html/a00015.html (+0/-81)
doc/html/a00016.html (+28/-58)
doc/html/a00017.html (+0/-79)
doc/html/a00018.html (+7/-12)
doc/html/a00019.html (+0/-72)
doc/html/a00020.html (+67/-64)
doc/html/a00021.html (+0/-75)
doc/html/a00022.html (+36/-366)
doc/html/a00023.html (+0/-114)
doc/html/a00024.html (+13/-88)
doc/html/a00025.html (+0/-78)
doc/html/a00026.html (+27/-37)
doc/html/a00027.html (+0/-49)
doc/html/a00028.html (+50/-12)
doc/html/a00029.html (+0/-53)
doc/html/a00030.html (+44/-130)
doc/html/a00031.html (+0/-134)
doc/html/a00032.html (+58/-184)
doc/html/a00033.html (+0/-439)
doc/html/a00034.html (+42/-270)
doc/html/a00035.html (+0/-247)
doc/html/a00036.html (+15/-120)
doc/html/a00037.html (+0/-409)
doc/html/a00038.html (+35/-67)
doc/html/a00039.html (+0/-100)
doc/html/a00040.html (+64/-5572)
doc/html/a00041.html (+0/-56)
doc/html/a00042.html (+38/-285)
doc/html/a00043.html (+0/-1467)
doc/html/a00044.html (+366/-370)
doc/html/a00045.html (+0/-394)
doc/html/a00046.html (+77/-425)
doc/html/a00047.html (+0/-1127)
doc/html/a00048.html (+88/-508)
doc/html/a00049.html (+0/-126)
doc/html/a00050.html (+41/-367)
doc/html/a00051.html (+0/-117)
doc/html/a00052.html (+35/-80)
doc/html/a00053.html (+0/-91)
doc/html/a00054.html (+12/-142)
doc/html/a00055.html (+0/-547)
doc/html/a00056.html (+12/-58)
doc/html/a00057.html (+0/-144)
doc/html/a00058.html (+16/-316)
doc/html/a00059.html (+0/-117)
doc/html/a00060.html (+122/-150)
doc/html/a00061.html (+102/-440)
doc/html/a00062.html (+102/-435)
doc/html/a00063.html (+105/-14)
doc/html/a00064.html (+207/-106)
doc/html/a00065.html (+449/-923)
doc/html/a00066.html (+292/-389)
doc/html/a00067.html (+102/-177)
doc/html/a00068.html (+276/-168)
doc/html/a00069.html (+133/-73)
doc/html/a00070.html (+424/-125)
doc/html/a00071.html (+101/-124)
doc/html/a00072.html (+54/-138)
doc/html/a00073.html (+6386/-142)
doc/html/a00074.html (+14/-153)
doc/html/a00075.html (+345/-152)
doc/html/a00076.html (+1759/-162)
doc/html/a00077.html (+441/-168)
doc/html/a00078.html (+428/-1020)
doc/html/a00079.html (+508/-298)
doc/html/a00080.html (+1234/-454)
doc/html/a00081.html (+503/-288)
doc/html/a00082.html (+123/-563)
doc/html/a00083.html (+427/-761)
doc/html/a00084.html (+96/-489)
doc/html/a00085.html (+96/-473)
doc/html/a00086.html (+45/-426)
doc/html/a00087.html (+184/-324)
doc/html/a00088.html (+461/-144)
doc/html/a00089.html (+49/-74)
doc/html/a00090.html (+113/-99)
doc/html/a00091.html (+306/-304)
doc/html/a00092.html (+96/-799)
doc/html/a00093.html (+204/-577)
doc/html/a00094.html (+455/-1166)
doc/html/a00095.html (+351/-80)
doc/html/a00096.html (+280/-122)
doc/html/a00097.html (+636/-50)
doc/html/a00098.html (+968/-477)
doc/html/a00099.html (+366/-469)
doc/html/a00100.html (+336/-104)
doc/html/a00101.html (+399/-48)
doc/html/a00102.html (+311/-210)
doc/html/a00103.html (+318/-75)
doc/html/a00104.html (+209/-376)
doc/html/a00105.html (+411/-136)
doc/html/a00106.html (+751/-1599)
doc/html/a00107.html (+378/-74)
doc/html/a00108.html (+386/-88)
doc/html/a00109.html (+898/-1329)
doc/html/a00110.html (+275/-109)
doc/html/a00111.html (+180/-92)
doc/html/a00112.html (+299/-909)
doc/html/a00113.html (+220/-456)
doc/html/a00114.html (+393/-652)
doc/html/a00115.html (+1083/-2283)
doc/html/a00116.html (+286/-80)
doc/html/a00117.html (+465/-790)
doc/html/a00118.html (+555/-357)
doc/html/a00119.html (+555/-361)
doc/html/a00120.html (+851/-638)
doc/html/a00121.html (+297/-414)
doc/html/a00122.html (+534/-719)
doc/html/a00123.html (+368/-348)
doc/html/a00124.html (+350/-602)
doc/html/a00125.html (+12/-390)
doc/html/a00126.html (+145/-1277)
doc/html/a00127.html (+1026/-448)
doc/html/a00128.html (+473/-359)
doc/html/a00129.html (+254/-724)
doc/html/a00130.html (+254/-400)
doc/html/a00131.html (+95/-1038)
doc/html/a00132.html (+166/-342)
doc/html/a00133.html (+167/-365)
doc/html/a00134.html (+177/-520)
doc/html/a00135.html (+183/-396)
doc/html/a00136.html (+188/-75)
doc/html/a00137.html (+193/-566)
doc/html/a00138.html (+200/-233)
doc/html/a00139.html (+207/-689)
doc/html/a00140.html (+1326/-1221)
doc/html/a00141.html (+404/-285)
doc/html/a00142.html (+279/-605)
doc/html/a00143.html (+438/-374)
doc/html/a00144.html (+334/-779)
doc/html/a00145.html (+314/-487)
doc/html/a00146.html (+523/-150)
doc/html/a00147.html (+787/-184)
doc/html/a00148.html (+463/-795)
doc/html/a00149.html (+468/-522)
doc/html/a00150.html (+377/-495)
doc/html/a00151.html (+237/-851)
doc/html/a00152.html (+371/-74)
doc/html/a00153.html (+135/-431)
doc/html/a00154.html (+96/-607)
doc/html/a00155.html (+96/-257)
doc/html/a00156.html (+427/-460)
doc/html/a00157.html (+876/-532)
doc/html/a00158.html (+703/-456)
doc/html/a00159.html (+1447/-128)
doc/html/a00160.html (+77/-73)
doc/html/a00161.html (+144/-794)
doc/html/a00162.html (+47/-351)
doc/html/a00163.html (+616/-260)
doc/html/a00164.html (+511/-1260)
doc/html/a00165.html (+101/-495)
doc/html/a00166.html (+45/-475)
doc/html/a00167.html (+220/-418)
doc/html/a00168.html (+97/-820)
doc/html/a00169.html (+433/-367)
doc/html/a00170.html (+133/-471)
doc/html/a00171.html (+1843/-640)
doc/html/a00172.html (+630/-411)
doc/html/a00173.html (+96/-519)
doc/html/a00174.html (+110/-456)
doc/html/a00175.html (+1718/-944)
doc/html/a00176.html (+149/-592)
doc/html/a00177.html (+89/-1192)
doc/html/a00178.html (+909/-302)
doc/html/a00179.html (+312/-391)
doc/html/a00180.html (+601/-562)
doc/html/a00181.html (+662/-284)
doc/html/a00182.html (+2509/-625)
doc/html/a00183.html (+77/-613)
doc/html/a00184.html (+822/-222)
doc/html/a00185.html (+102/-566)
doc/html/a00186.html (+440/-522)
doc/html/a00187.html (+113/-541)
doc/html/a00188.html (+295/-378)
doc/html/a00189.html (+445/-114)
doc/html/a00190.html (+761/-1494)
doc/html/a00191.html (+168/-68)
doc/html/a00192.html (+496/-232)
doc/html/a00193.html (+483/-74)
doc/html/a00194.html (+848/-76)
doc/html/a00195.html (+94/-75)
doc/html/a00196.html (+415/-74)
doc/html/a00197.html (+375/-253)
doc/html/a00198.html (+741/-191)
doc/html/a00199.html (+130/-75)
doc/html/a00200.html (+475/-74)
doc/html/a00201.html (+1159/-1385)
doc/html/a00202.html (+1575/-73)
doc/html/a00203.html (+219/-349)
doc/html/a00204.html (+529/-72)
doc/html/a00205.html (+104/-465)
doc/html/a00206.html (+433/-74)
doc/html/a00207.html (+96/-74)
doc/html/a00208.html (+503/-74)
doc/html/a00209.html (+880/-73)
doc/html/a00210.html (+161/-74)
doc/html/a00211.html (+482/-65)
doc/html/a00212.html (+163/-90)
doc/html/a00213.html (+471/-906)
doc/html/a00214.html (+892/-240)
doc/html/a00215.html (+499/-81)
doc/html/a00216.html (+835/-342)
doc/html/a00217.html (+1215/-255)
doc/html/a00218.html (+85/-244)
doc/html/a00219.html (+414/-355)
doc/html/a00220.html (+117/-50)
doc/html/a00221.html (+446/-74)
doc/html/a00222.html (+289/-352)
doc/html/a00223.html (+609/-92)
doc/html/a00224.html (+67/-215)
doc/html/a00225.html (+227/-315)
doc/html/a00226.html (+579/-340)
doc/html/a00227.html (+469/-153)
doc/html/a00228.html (+94/-69)
doc/html/a00229.html (+730/-80)
doc/html/a00230.html (+229/-696)
doc/html/a00231.html (+826/-568)
doc/html/a00232.html (+1074/-115)
doc/html/a00233.html (+1491/-151)
doc/html/a00234.html (+342/-105)
doc/html/a00235.html (+373/-115)
doc/html/a00236.html (+737/-121)
doc/html/a00237.html (+277/-127)
doc/html/a00238.html (+613/-133)
doc/html/a00239.html (+809/-139)
doc/html/a00240.html (+1220/-145)
doc/html/a00241.html (+223/-151)
doc/html/a00242.html (+600/-175)
doc/html/a00243.html (+53/-185)
doc/html/a00244.html (+377/-341)
doc/html/a00245.html (+89/-113)
doc/html/a00246.html (+427/-74)
doc/html/a00247.html (+719/-72)
doc/html/a00248.html (+1121/-71)
doc/html/a00249.html (+435/-112)
doc/html/a00250.html (+772/-84)
doc/html/a00251.html (+464/-175)
doc/html/a00252.html (+791/-275)
doc/html/a00253.html (+1232/-273)
doc/html/a00254.html (+97/-179)
doc/html/a00255.html (+510/-146)
doc/html/a00256.html (+537/-138)
doc/html/a00257.html (+314/-48)
doc/html/a00258.html (+544/-80)
doc/html/a00259.html (+751/-74)
doc/html/a00260.html (+501/-498)
doc/html/a00261.html (+125/-75)
doc/html/a00262.html (+96/-60)
doc/html/a00263.html (+1018/-72)
doc/html/a00264.html (+1245/-51)
doc/html/a00265.html (+415/-84)
doc/html/a00266.html (+333/-50)
doc/html/a00267.html (+1478/-234)
doc/html/a00268.html (+258/-48)
doc/html/a00269.html (+571/-110)
doc/html/a00270.html (+247/-1438)
doc/html/a00271.html (+571/-159)
doc/html/a00272.html (+171/-103)
doc/html/a00273.html (+522/-147)
doc/html/a00274.html (+680/-148)
doc/html/a00275.html (+1026/-158)
doc/html/a00276.html (+116/-164)
doc/html/a00277.html (+448/-170)
doc/html/a00278.html (+550/-176)
doc/html/a00279.html (+398/-182)
doc/html/a00280.html (+795/-188)
doc/html/a00281.html (+182/-396)
doc/html/a00282.html (+499/-163)
doc/html/a00283.html (+269/-128)
doc/html/a00284.html (+621/-347)
doc/html/a00285.html (+227/-74)
doc/html/a00286.html (+553/-74)
doc/html/a00287.html (+735/-296)
doc/html/a00288.html (+1124/-74)
doc/html/a00289.html (+376/-49)
doc/html/a00290.html (+709/-74)
doc/html/a00291.html (+965/-134)
doc/html/a00292.html (+1369/-110)
doc/html/a00293.html (+216/-68)
doc/html/a00294.html (+570/-73)
doc/html/a00295.html (+341/-130)
doc/html/a00296.html (+686/-235)
doc/html/a00297.html (+333/-135)
doc/html/a00298.html (+691/-186)
doc/html/a00299.html (+153/-200)
doc/html/a00300.html (+483/-430)
doc/html/a00301.html (+783/-269)
doc/html/a00302.html (+346/-94)
doc/html/a00303.html (+723/-80)
doc/html/a00304.html (+89/-343)
doc/html/a00305.html (+413/-83)
doc/html/a00306.html (+308/-54)
doc/html/a00307.html (+665/-112)
doc/html/a00308.html (+522/-202)
doc/html/a00309.html (+714/-95)
doc/html/a00310.html (+357/-120)
doc/html/a00311.html (+620/-103)
doc/html/a00312.html (+114/-81)
doc/html/a00313.html (+1695/-167)
doc/html/a00314.html (+97/-83)
doc/html/a00315.html (+299/-396)
doc/html/a00316.html (+97/-84)
doc/html/a00317.html (+73/-54)
doc/html/a00318.html (+97/-86)
doc/html/a00319.html (+97/-233)
doc/html/a00320.html (+255/-275)
doc/html/a00321.html (+188/-84)
doc/html/a00322.html (+97/-115)
doc/html/a00323.html (+97/-83)
doc/html/a00324.html (+1451/-133)
doc/html/a00325.html (+95/-111)
doc/html/a00326.html (+381/-118)
doc/html/a00327.html (+97/-42)
doc/html/a00328.html (+721/-104)
doc/html/a00329.html (+97/-89)
doc/html/a00330.html (+97/-89)
doc/html/a00331.html (+97/-60)
doc/html/a00332.html (+95/-502)
doc/html/a00333.html (+97/-249)
doc/html/a00334.html (+61/-545)
doc/html/a00335.html (+87/-110)
doc/html/a00336.html (+1113/-470)
doc/html/a00337.html (+238/-209)
doc/html/a00338.html (+134/-402)
doc/html/a00339.html (+376/-448)
doc/html/a00340.html (+344/-48)
doc/html/a00341.html (+284/-76)
doc/html/a00342.html (+638/-48)
doc/html/a00343.html (+47/-443)
doc/html/a00344.html (+96/-793)
doc/html/a00345.html (+301/-454)
doc/html/a00346.html (+89/-446)
doc/html/a00347.html (+318/-304)
doc/html/a00348.html (+317/-396)
doc/html/a00349.html (+424/-77)
doc/html/a00350.html (+167/-121)
doc/html/a00351.html (+97/-122)
doc/html/a00352.html (+77/-133)
doc/html/a00353.html (+1011/-138)
doc/html/a00354.html (+572/-144)
doc/html/a00355.html (+148/-150)
doc/html/a00356.html (+211/-156)
doc/html/a00357.html (+136/-161)
doc/html/a00358.html (+148/-74)
doc/html/a00359.html (+153/-509)
doc/html/a00360.html (+159/-238)
doc/html/a00361.html (+166/-268)
doc/html/a00362.html (+172/-65)
doc/html/a00363.html (+177/-1160)
doc/html/a00364.html (+177/-184)
doc/html/a00365.html (+243/-126)
doc/html/a00366.html (+246/-715)
doc/html/a00367.html (+407/-127)
doc/html/a00368.html (+127/-58)
doc/html/a00369.html (+97/-61)
doc/html/a00370.html (+90/-145)
doc/html/a00371.html (+68/-64)
doc/html/a00372.html (+109/-74)
doc/html/a00373.html (+81/-49)
doc/html/a00374.html (+459/-80)
doc/html/a00375.html (+578/-161)
doc/html/a00376.html (+510/-134)
doc/html/a00377.html (+183/-50)
doc/html/a00378.html (+142/-50)
doc/html/a00379.html (+380/-519)
doc/html/a00380.html (+44/-447)
doc/html/a00381.html (+77/-74)
doc/html/a00382.html (+96/-364)
doc/html/a00383.html (+518/-85)
doc/html/a00384.html (+97/-65)
doc/html/a00385.html (+57/-74)
doc/html/a00386.html (+69/-297)
doc/html/a00387.html (+48/-299)
doc/html/a00388.html (+100/-67)
doc/html/a00389.html (+30/-33)
doc/html/a00390.html (+430/-50)
doc/html/a00391.html (+44/-50)
doc/html/a00392.html (+105/-48)
doc/html/a00393.html (+1776/-50)
doc/html/a00394.html (+156/-170)
doc/html/a00395.html (+100/-96)
doc/html/a00396.html (+156/-75)
doc/html/a00397.html (+157/-73)
doc/html/a00398.html (+167/-50)
doc/html/a00399.html (+171/-805)
doc/html/a00400.html (+166/-521)
doc/html/a00401.html (+184/-719)
doc/html/a00402.html (+190/-924)
doc/html/a00403.html (+196/-906)
doc/html/a00404.html (+401/-74)
doc/html/a00405.html (+168/-74)
doc/html/a00406.html (+176/-74)
doc/html/a00407.html (+89/-93)
doc/html/a00408.html (+96/-812)
doc/html/a00409.html (+98/-114)
doc/html/a00410.html (+377/-190)
doc/html/a00411.html (+97/-192)
doc/html/a00412.html (+46/-268)
doc/html/a00413.html (+97/-104)
doc/html/a00414.html (+185/-73)
doc/html/a00415.html (+144/-79)
doc/html/a00416.html (+97/-49)
doc/html/a00417.html (+95/-287)
doc/html/a00418.html (+177/-0)
doc/html/a00419.html (+330/-0)
doc/html/a00419_source.html (+0/-82)
doc/html/a00420.html (+229/-0)
doc/html/a00421.html (+513/-0)
doc/html/a00421_source.html (+0/-349)
doc/html/a00422.html (+545/-0)
doc/html/a00423.html (+796/-0)
doc/html/a00423_source.html (+0/-110)
doc/html/a00424.html (+308/-0)
doc/html/a00425.html (+149/-0)
doc/html/a00425_source.html (+0/-61)
doc/html/a00426.html (+120/-0)
doc/html/a00427.html (+458/-0)
doc/html/a00427_source.html (+0/-101)
doc/html/a00428.html (+154/-0)
doc/html/a00428_source.html (+0/-61)
doc/html/a00429.html (+125/-0)
doc/html/a00430.html (+191/-0)
doc/html/a00430_source.html (+0/-179)
doc/html/a00431.html (+173/-0)
doc/html/a00432.html (+275/-0)
doc/html/a00432_source.html (+0/-81)
doc/html/a00433.html (+199/-0)
doc/html/a00434.html (+174/-0)
doc/html/a00434_source.html (+0/-101)
doc/html/a00435.html (+154/-0)
doc/html/a00436.html (+249/-0)
doc/html/a00436_source.html (+0/-602)
doc/html/a00437.html (+154/-0)
doc/html/a00438.html (+473/-0)
doc/html/a00438_source.html (+0/-105)
doc/html/a00439.html (+163/-0)
doc/html/a00440.html (+133/-0)
doc/html/a00441.html (+173/-0)
doc/html/a00441_source.html (+0/-108)
doc/html/a00442.html (+304/-0)
doc/html/a00443.html (+409/-0)
doc/html/a00443_source.html (+0/-132)
doc/html/a00444.html (+154/-0)
doc/html/a00445.html (+186/-0)
doc/html/a00445_source.html (+0/-130)
doc/html/a00446.html (+154/-0)
doc/html/a00447.html (+226/-0)
doc/html/a00447_source.html (+0/-296)
doc/html/a00448.html (+190/-0)
doc/html/a00449.html (+208/-0)
doc/html/a00449_source.html (+0/-171)
doc/html/a00450.html (+121/-0)
doc/html/a00451.html (+144/-0)
doc/html/a00451_source.html (+0/-54)
doc/html/a00452.html (+160/-0)
doc/html/a00453.html (+160/-0)
doc/html/a00453_source.html (+0/-137)
doc/html/a00454.html (+131/-0)
doc/html/a00455.html (+622/-0)
doc/html/a00455_source.html (+0/-54)
doc/html/a00456.html (+288/-0)
doc/html/a00457.html (+686/-0)
doc/html/a00457_source.html (+0/-120)
doc/html/a00458.html (+192/-0)
doc/html/a00459.html (+533/-0)
doc/html/a00459_source.html (+0/-408)
doc/html/a00460.html (+317/-0)
doc/html/a00461.html (+540/-0)
doc/html/a00461_source.html (+0/-112)
doc/html/a00462.html (+628/-0)
doc/html/a00463.html (+88/-0)
doc/html/a00463_source.html (+0/-126)
doc/html/a00464.html (+116/-0)
doc/html/a00465.html (+88/-0)
doc/html/a00465_source.html (+0/-88)
doc/html/a00466.html (+610/-0)
doc/html/a00466_source.html (+0/-67)
doc/html/a00467.html (+491/-0)
doc/html/a00468.html (+982/-0)
doc/html/a00468_source.html (+0/-343)
doc/html/a00469.html (+401/-0)
doc/html/a00470.html (+731/-0)
doc/html/a00470_source.html (+0/-136)
doc/html/a00471.html (+238/-0)
doc/html/a00472.html (+610/-0)
doc/html/a00472_source.html (+0/-54)
doc/html/a00473.html (+91/-0)
doc/html/a00474.html (+414/-0)
doc/html/a00474_source.html (+0/-420)
doc/html/a00475.html (+446/-0)
doc/html/a00476.html (+143/-0)
doc/html/a00476_source.html (+0/-171)
doc/html/a00477.html (+173/-0)
doc/html/a00478.html (+174/-0)
doc/html/a00479.html (+184/-0)
doc/html/a00480.html (+190/-0)
doc/html/a00480_source.html (+0/-274)
doc/html/a00481.html (+196/-0)
doc/html/a00481_source.html (+0/-65)
doc/html/a00482.html (+202/-0)
doc/html/a00482_source.html (+0/-91)
doc/html/a00483.html (+208/-0)
doc/html/a00483_source.html (+0/-173)
doc/html/a00484.html (+214/-0)
doc/html/a00484_source.html (+0/-76)
doc/html/a00485.html (+140/-0)
doc/html/a00485_source.html (+0/-156)
doc/html/a00486.html (+559/-0)
doc/html/a00486_source.html (+0/-485)
doc/html/a00487.html (+334/-0)
doc/html/a00487_source.html (+0/-218)
doc/html/a00488.html (+570/-0)
doc/html/a00488_source.html (+0/-170)
doc/html/a00489.html (+116/-0)
doc/html/a00489_source.html (+0/-343)
doc/html/a00490.html (+1408/-0)
doc/html/a00490_source.html (+0/-544)
doc/html/a00491.html (+256/-0)
doc/html/a00491_source.html (+0/-117)
doc/html/a00492.html (+165/-0)
doc/html/a00492_source.html (+0/-79)
doc/html/a00493.html (+949/-0)
doc/html/a00493_source.html (+0/-237)
doc/html/a00494.html (+219/-0)
doc/html/a00494_source.html (+0/-404)
doc/html/a00495.html (+98/-0)
doc/html/a00495_source.html (+0/-1090)
doc/html/a00496.html (+101/-0)
doc/html/a00496_source.html (+0/-76)
doc/html/a00497.html (+429/-0)
doc/html/a00497_source.html (+0/-190)
doc/html/a00498.html (+105/-0)
doc/html/a00498_source.html (+0/-74)
doc/html/a00499.html (+140/-0)
doc/html/a00499_source.html (+0/-216)
doc/html/a00500.html (+89/-0)
doc/html/a00500_source.html (+0/-77)
doc/html/a00501.html (+120/-0)
doc/html/a00501_source.html (+0/-181)
doc/html/a00502.html (+226/-0)
doc/html/a00502_source.html (+0/-3036)
doc/html/a00503.html (+502/-0)
doc/html/a00503_source.html (+0/-202)
doc/html/a00504.html (+90/-0)
doc/html/a00504_source.html (+0/-395)
doc/html/a00505.html (+90/-0)
doc/html/a00505_source.html (+0/-777)
doc/html/a00506.html (+756/-0)
doc/html/a00506_source.html (+0/-203)
doc/html/a00507.html (+552/-0)
doc/html/a00507_source.html (+0/-486)
doc/html/a00508.html (+140/-0)
doc/html/a00508_source.html (+0/-2379)
doc/html/a00509.html (+456/-0)
doc/html/a00509_source.html (+0/-186)
doc/html/a00510.html (+124/-0)
doc/html/a00510_source.html (+0/-572)
doc/html/a00511.html (+105/-0)
doc/html/a00511_source.html (+0/-75)
doc/html/a00512.html (+140/-0)
doc/html/a00512_source.html (+0/-143)
doc/html/a00513.html (+408/-0)
doc/html/a00513_source.html (+0/-75)
doc/html/a00514.html (+390/-0)
doc/html/a00514_source.html (+0/-148)
doc/html/a00515.html (+140/-0)
doc/html/a00515_source.html (+0/-89)
doc/html/a00516.html (+90/-0)
doc/html/a00516_source.html (+0/-390)
doc/html/a00517.html (+90/-0)
doc/html/a00517_source.html (+0/-86)
doc/html/a00518.html (+90/-0)
doc/html/a00518_source.html (+0/-169)
doc/html/a00519.html (+90/-0)
doc/html/a00519_source.html (+0/-86)
doc/html/a00520.html (+90/-0)
doc/html/a00520_source.html (+0/-174)
doc/html/a00521.html (+299/-0)
doc/html/a00522.html (+210/-0)
doc/html/a00522_source.html (+0/-119)
doc/html/a00523.html (+115/-0)
doc/html/a00524.html (+139/-0)
doc/html/a00524_source.html (+0/-54)
doc/html/a00525.html (+90/-0)
doc/html/a00526.html (+1143/-0)
doc/html/a00526_source.html (+0/-96)
doc/html/a00527.html (+605/-0)
doc/html/a00528.html (+1106/-0)
doc/html/a00528_source.html (+0/-100)
doc/html/a00529.html (+1059/-0)
doc/html/a00529_source.html (+0/-118)
doc/html/a00530.html (+1027/-0)
doc/html/a00530_source.html (+0/-86)
doc/html/a00531.html (+140/-0)
doc/html/a00532.html (+140/-0)
doc/html/a00532_source.html (+0/-147)
doc/html/a00533.html (+140/-0)
doc/html/a00534.html (+154/-0)
doc/html/a00534_source.html (+0/-271)
doc/html/a00535.html (+1205/-0)
doc/html/a00535_source.html (+0/-98)
doc/html/a00536.html (+153/-0)
doc/html/a00536_source.html (+0/-1648)
doc/html/a00537.html (+257/-0)
doc/html/a00538.html (+257/-0)
doc/html/a00538_source.html (+0/-91)
doc/html/a00539.html (+561/-0)
doc/html/a00540.html (+144/-0)
doc/html/a00540_source.html (+0/-98)
doc/html/a00541.html (+139/-0)
doc/html/a00542.html (+145/-0)
doc/html/a00543.html (+89/-0)
doc/html/a00543_source.html (+0/-219)
doc/html/a00544.html (+431/-0)
doc/html/a00545_source.html (+0/-100)
doc/html/a00546_source.html (+87/-0)
doc/html/a00547_source.html (+0/-136)
doc/html/a00548_source.html (+383/-0)
doc/html/a00549_source.html (+0/-270)
doc/html/a00550_source.html (+119/-0)
doc/html/a00551_source.html (+0/-83)
doc/html/a00552_source.html (+67/-0)
doc/html/a00553_source.html (+0/-80)
doc/html/a00554_source.html (+109/-0)
doc/html/a00555_source.html (+29/-69)
doc/html/a00557_source.html (+158/-106)
doc/html/a00559_source.html (+50/-85)
doc/html/a00561_source.html (+69/-68)
doc/html/a00563_source.html (+618/-16)
doc/html/a00565_source.html (+79/-59)
doc/html/a00567_source.html (+0/-68)
doc/html/a00568_source.html (+119/-0)
doc/html/a00570_source.html (+204/-78)
doc/html/a00572_source.html (+1112/-80)
doc/html/a00574_source.html (+106/-92)
doc/html/a00576_source.html (+644/-47)
doc/html/a00578_source.html (+293/-53)
doc/html/a00579_source.html (+0/-365)
doc/html/a00580_source.html (+200/-0)
doc/html/a00581_source.html (+0/-136)
doc/html/a00582_source.html (+58/-0)
doc/html/a00583_source.html (+0/-99)
doc/html/a00584_source.html (+118/-42)
doc/html/a00585_source.html (+0/-68)
doc/html/a00586_source.html (+20/-46)
doc/html/a00588_source.html (+137/-0)
doc/html/a00589_source.html (+0/-97)
doc/html/a00590_source.html (+519/-0)
doc/html/a00591_source.html (+0/-84)
doc/html/a00592_source.html (+121/-0)
doc/html/a00593_source.html (+0/-103)
doc/html/a00594_source.html (+140/-0)
doc/html/a00595_source.html (+0/-99)
doc/html/a00596_source.html (+96/-0)
doc/html/a00597_source.html (+34/-75)
doc/html/a00599_source.html (+346/-79)
doc/html/a00601_source.html (+147/-0)
doc/html/a00602_source.html (+0/-97)
doc/html/a00603_source.html (+58/-0)
doc/html/a00604_source.html (+0/-54)
doc/html/a00605_source.html (+450/-0)
doc/html/a00606_source.html (+0/-54)
doc/html/a00607_source.html (+185/-0)
doc/html/a00608_source.html (+0/-118)
doc/html/a00610_source.html (+266/-157)
doc/html/a00611_source.html (+98/-0)
doc/html/a00612_source.html (+154/-176)
doc/html/a00613_source.html (+87/-0)
doc/html/a00614_source.html (+134/-57)
doc/html/a00615_source.html (+550/-0)
doc/html/a00616_source.html (+219/-47)
doc/html/a00617_source.html (+186/-0)
doc/html/a00618_source.html (+344/-128)
doc/html/a00619_source.html (+601/-0)
doc/html/a00620_source.html (+110/-67)
doc/html/a00621_source.html (+95/-0)
doc/html/a00622_source.html (+224/-45)
doc/html/a00623_source.html (+451/-0)
doc/html/a00624_source.html (+1291/-62)
doc/html/a00625_source.html (+87/-0)
doc/html/a00626_source.html (+171/-74)
doc/html/a00627_source.html (+118/-0)
doc/html/a00628_source.html (+258/-59)
doc/html/a00629_source.html (+89/-0)
doc/html/a00630_source.html (+162/-60)
doc/html/a00631_source.html (+3639/-0)
doc/html/a00632_source.html (+182/-68)
doc/html/a00633_source.html (+434/-0)
doc/html/a00634_source.html (+837/-87)
doc/html/a00635_source.html (+222/-0)
doc/html/a00636_source.html (+499/-57)
doc/html/a00637_source.html (+2624/-0)
doc/html/a00638_source.html (+166/-61)
doc/html/a00639_source.html (+613/-0)
doc/html/a00640_source.html (+47/-50)
doc/html/a00641_source.html (+158/-0)
doc/html/a00642_source.html (+47/-121)
doc/html/a00643_source.html (+160/-0)
doc/html/a00644_source.html (+80/-56)
doc/html/a00645_source.html (+426/-0)
doc/html/a00646_source.html (+61/-45)
doc/html/a00647_source.html (+185/-0)
doc/html/a00648_source.html (+60/-80)
doc/html/a00649_source.html (+192/-0)
doc/html/a00650_source.html (+0/-109)
doc/html/a00651_source.html (+129/-0)
doc/html/a00652_source.html (+0/-93)
doc/html/a00653_source.html (+58/-0)
doc/html/a00654_source.html (+0/-99)
doc/html/a00655_source.html (+107/-0)
doc/html/a00656_source.html (+0/-104)
doc/html/a00657_source.html (+108/-0)
doc/html/a00658_source.html (+99/-47)
doc/html/a00659_source.html (+94/-0)
doc/html/a00660_source.html (+0/-88)
doc/html/a00661_source.html (+164/-0)
doc/html/a00662_source.html (+0/-82)
doc/html/a00663_source.html (+311/-0)
doc/html/a00664_source.html (+64/-44)
doc/html/a00665_source.html (+2275/-0)
doc/html/a00666_source.html (+0/-193)
doc/html/a00667_source.html (+100/-0)
doc/html/a00668_source.html (+0/-97)
doc/html/a00669_source.html (+110/-0)
doc/html/a00670_source.html (+0/-197)
doc/html/a00672_source.html (+203/-16)
doc/html/a00674_source.html (+75/-95)
doc/html/a00676_source.html (+115/-78)
doc/html/a00678_source.html (+269/-114)
doc/html/a00680_source.html (+53/-53)
doc/html/a00682_source.html (+54/-248)
doc/html/a00684_source.html (+78/-124)
doc/html/a00686_source.html (+116/-43)
doc/html/a00688_source.html (+97/-57)
doc/html/a00689_source.html (+0/-81)
doc/html/a00690_source.html (+119/-0)
doc/html/a00691_source.html (+0/-309)
doc/html/a00692_source.html (+58/-0)
doc/html/a00693_source.html (+0/-122)
doc/html/a00694_source.html (+108/-0)
doc/html/a00695_source.html (+0/-127)
doc/html/a00696_source.html (+38/-94)
doc/html/a00698_source.html (+0/-142)
doc/html/a00699_source.html (+128/-0)
doc/html/a00700_source.html (+0/-102)
doc/html/a00701_source.html (+126/-0)
doc/html/a00702_source.html (+0/-126)
doc/html/a00703_source.html (+143/-0)
doc/html/a00704_source.html (+0/-239)
doc/html/a00705_source.html (+96/-0)
doc/html/a00706_source.html (+0/-275)
doc/html/a00707_source.html (+99/-0)
doc/html/a00708_source.html (+438/-212)
doc/html/a00710_source.html (+119/-43)
doc/html/a00712_source.html (+75/-125)
doc/html/a00713_source.html (+72/-0)
doc/html/a00714_source.html (+57/-16)
doc/html/a00716_source.html (+0/-96)
doc/html/a00717_source.html (+71/-1554)
doc/html/a00719_source.html (+53/-173)
doc/html/a00720_source.html (+0/-1783)
doc/html/a00721_source.html (+112/-0)
doc/html/a00722_source.html (+0/-70)
doc/html/a00723_source.html (+108/-0)
doc/html/a00724.html (+0/-8685)
doc/html/a00725_source.html (+117/-0)
doc/html/a00727_source.html (+124/-0)
doc/html/a00728.html (+0/-149)
doc/html/a00729.html (+0/-60)
doc/html/a00730.html (+0/-80)
doc/html/a00730_source.html (+103/-0)
doc/html/a00731.html (+0/-49)
doc/html/a00732.html (+0/-49)
doc/html/a00732_source.html (+58/-0)
doc/html/a00733.html (+0/-205)
doc/html/a00734.html (+0/-55)
doc/html/a00734_source.html (+58/-0)
doc/html/a00735.html (+0/-156)
doc/html/a00736.html (+0/-82)
doc/html/a00736_source.html (+135/-0)
doc/html/a00737.html (+0/-59)
doc/html/a00738.html (+0/-53)
doc/html/a00738_source.html (+212/-0)
doc/html/a00739.html (+0/-114)
doc/html/a00740.html (+0/-52)
doc/html/a00740_source.html (+230/-0)
doc/html/a00741.html (+0/-53)
doc/html/a00742.html (+0/-55)
doc/html/a00742_source.html (+107/-0)
doc/html/a00743.html (+0/-63)
doc/html/a00744.html (+0/-60)
doc/html/a00744_source.html (+91/-0)
doc/html/a00745.html (+0/-89)
doc/html/a00746.html (+0/-64)
doc/html/a00746_source.html (+181/-0)
doc/html/a00747.html (+0/-44)
doc/html/a00748.html (+0/-57)
doc/html/a00748_source.html (+117/-0)
doc/html/a00749.html (+0/-52)
doc/html/a00750.html (+0/-63)
doc/html/a00750_source.html (+90/-0)
doc/html/a00751.html (+0/-97)
doc/html/a00752.html (+0/-52)
doc/html/a00752_source.html (+109/-0)
doc/html/a00753.html (+0/-52)
doc/html/a00754.html (+0/-52)
doc/html/a00754_source.html (+121/-0)
doc/html/a00755.html (+0/-50)
doc/html/a00756.html (+0/-1586)
doc/html/a00756_source.html (+104/-0)
doc/html/a00757.html (+0/-3808)
doc/html/a00758.html (+0/-1432)
doc/html/a00758_source.html (+107/-0)
doc/html/a00759.html (+0/-1063)
doc/html/a00760.html (+0/-108)
doc/html/a00760_source.html (+114/-0)
doc/html/a00761.html (+0/-777)
doc/html/a00762.html (+0/-98)
doc/html/a00762_source.html (+134/-0)
doc/html/a00763.html (+0/-67)
doc/html/a00764.html (+0/-63)
doc/html/a00764_source.html (+102/-0)
doc/html/a00765.html (+0/-55)
doc/html/a00766_source.html (+109/-0)
doc/html/a00768.html (+0/-54)
doc/html/a00768_source.html (+96/-0)
doc/html/a00769.html (+0/-55)
doc/html/a00770.html (+0/-60)
doc/html/a00770_source.html (+168/-0)
doc/html/a00771.html (+0/-57)
doc/html/a00772.html (+0/-59)
doc/html/a00772_source.html (+105/-0)
doc/html/a00773.html (+0/-64)
doc/html/a00774.html (+0/-77)
doc/html/a00774_source.html (+92/-0)
doc/html/a00775.html (+0/-56)
doc/html/a00776.html (+0/-63)
doc/html/a00776_source.html (+128/-0)
doc/html/a00777.html (+0/-71)
doc/html/a00778.html (+0/-126)
doc/html/a00778_source.html (+117/-0)
doc/html/a00779.html (+0/-63)
doc/html/a00780.html (+0/-67)
doc/html/a00780_source.html (+104/-0)
doc/html/a00781.html (+0/-256)
doc/html/a00782.html (+0/-59)
doc/html/a00782_source.html (+108/-0)
doc/html/a00783.html (+0/-54)
doc/html/a00784.html (+0/-64)
doc/html/a00784_source.html (+115/-0)
doc/html/a00785.html (+0/-79)
doc/html/a00786.html (+0/-77)
doc/html/a00786_source.html (+92/-0)
doc/html/a00787.html (+0/-98)
doc/html/a00788.html (+0/-66)
doc/html/a00788_source.html (+96/-0)
doc/html/a00789.html (+0/-79)
doc/html/a00790.html (+0/-71)
doc/html/a00790_source.html (+89/-0)
doc/html/a00791.html (+0/-71)
doc/html/a00792.html (+0/-186)
doc/html/a00792_source.html (+89/-0)
doc/html/a00793.html (+0/-103)
doc/html/a00794.html (+0/-64)
doc/html/a00794_source.html (+217/-0)
doc/html/a00795.html (+0/-102)
doc/html/a00796.html (+0/-55)
doc/html/a00796_source.html (+108/-0)
doc/html/a00797.html (+0/-58)
doc/html/a00798.html (+0/-57)
doc/html/a00798_source.html (+211/-0)
doc/html/a00799.html (+0/-62)
doc/html/a00800.html (+0/-62)
doc/html/a00800_source.html (+58/-0)
doc/html/a00801.html (+0/-62)
doc/html/a00802.html (+0/-62)
doc/html/a00802_source.html (+148/-0)
doc/html/a00803.html (+0/-62)
doc/html/a00804.html (+0/-62)
doc/html/a00804_source.html (+129/-0)
doc/html/a00805.html (+0/-62)
doc/html/a00806.html (+0/-62)
doc/html/a00806_source.html (+165/-0)
doc/html/a00807.html (+0/-62)
doc/html/a00808.html (+0/-62)
doc/html/a00808_source.html (+102/-0)
doc/html/a00809.html (+0/-62)
doc/html/a00810.html (+0/-62)
doc/html/a00810_source.html (+334/-0)
doc/html/a00811.html (+0/-62)
doc/html/a00812.html (+0/-62)
doc/html/a00812_source.html (+180/-0)
doc/html/a00813.html (+0/-62)
doc/html/a00814.html (+0/-62)
doc/html/a00814_source.html (+89/-0)
doc/html/a00815.html (+0/-71)
doc/html/a00816.html (+0/-79)
doc/html/a00816_source.html (+104/-0)
doc/html/a00817.html (+0/-60)
doc/html/a00817_source.html (+149/-0)
doc/html/a00818.html (+0/-116)
doc/html/a00819.html (+0/-55)
doc/html/a00819_source.html (+354/-0)
doc/html/a00820.html (+0/-104)
doc/html/a00821.html (+0/-159)
doc/html/a00821_source.html (+129/-0)
doc/html/a00822.html (+0/-108)
doc/html/a00823.html (+0/-60)
doc/html/a00823_source.html (+137/-0)
doc/html/a00824.html (+0/-149)
doc/html/a00824_source.html (+145/-0)
doc/html/a00825.html (+0/-67)
doc/html/a00826.html (+0/-70)
doc/html/a00826_source.html (+155/-0)
doc/html/a00827.html (+0/-87)
doc/html/a00828.html (+0/-71)
doc/html/a00828_source.html (+111/-0)
doc/html/a00829.html (+0/-70)
doc/html/a00830.html (+0/-56)
doc/html/a00830_source.html (+138/-0)
doc/html/a00831.html (+0/-108)
doc/html/a00832.html (+0/-119)
doc/html/a00832_source.html (+258/-0)
doc/html/a00833.html (+0/-68)
doc/html/a00834.html (+0/-80)
doc/html/a00834_source.html (+298/-0)
doc/html/a00835.html (+0/-60)
doc/html/a00836.html (+0/-104)
doc/html/a00836_source.html (+281/-0)
doc/html/a00837.html (+0/-62)
doc/html/a00838.html (+0/-162)
doc/html/a00838_source.html (+210/-0)
doc/html/a00839.html (+0/-59)
doc/html/a00840.html (+0/-124)
doc/html/a00840_source.html (+1848/-0)
doc/html/a00841.html (+0/-59)
doc/html/a00842.html (+0/-59)
doc/html/a00842_source.html (+298/-0)
doc/html/a00843.html (+0/-53)
doc/html/a00844.html (+0/-61)
doc/html/a00844_source.html (+1287/-0)
doc/html/a00845.html (+0/-77)
doc/html/a00846.html (+0/-79)
doc/html/a00846_source.html (+85/-0)
doc/html/a00847.html (+0/-81)
doc/html/a00848.html (+0/-65)
doc/html/a00848_source.html (+188/-0)
doc/html/a00849.html (+0/-64)
doc/html/a00850.html (+0/-164)
doc/html/a00850_source.html (+58/-0)
doc/html/a00851.html (+0/-88)
doc/html/a00852.html (+0/-57)
doc/html/a00852_source.html (+106/-0)
doc/html/a00853.html (+0/-53)
doc/html/a00853_source.html (+1838/-0)
doc/html/a00854.html (+0/-74)
doc/html/a00855.html (+0/-174)
doc/html/a00855_source.html (+218/-0)
doc/html/a00856.html (+0/-56)
doc/html/a00856_source.html (+2276/-0)
doc/html/a00857.html (+0/-66)
doc/html/a00858.html (+0/-55)
doc/html/a00858_source.html (+78/-0)
doc/html/a00859.html (+0/-56)
doc/html/a00860.html (+10034/-18)
doc/html/a00861.html (+0/-56)
doc/html/a00862.html (+0/-55)
doc/html/a00863.html (+0/-56)
doc/html/a00864.html (+205/-17)
doc/html/a00865.html (+23/-18)
doc/html/a00866.html (+40/-17)
doc/html/a00867.html (+9/-18)
doc/html/a00868.html (+9/-17)
doc/html/a00869.html (+137/-18)
doc/html/a00870.html (+168/-18)
doc/html/a00871.html (+22/-19)
doc/html/a00872.html (+119/-18)
doc/html/a00873.html (+63/-19)
doc/html/a00874.html (+34/-24)
doc/html/a00875.html (+19/-24)
doc/html/a00876.html (+177/-17)
doc/html/a00877.html (+18/-130)
doc/html/a00878.html (+19/-140)
doc/html/a00879.html (+25/-149)
doc/html/a00880.html (+45/-41)
doc/html/a00881.html (+36/-21)
doc/html/a00882.html (+106/-19)
doc/html/a00883.html (+39/-31)
doc/html/a00884.html (+80/-43)
doc/html/a00885.html (+135/-29)
doc/html/a00886.html (+57/-25)
doc/html/a00887.html (+50/-22)
doc/html/a00888.html (+152/-19)
doc/html/a00889.html (+16/-23)
doc/html/a00890.html (+16/-22)
doc/html/a00891.html (+16/-130)
doc/html/a00892.html (+13/-138)
doc/html/a00893.html (+1500/-153)
doc/html/a00894.html (+3724/-28)
doc/html/a00895.html (+1470/-29)
doc/html/a00896.html (+1026/-30)
doc/html/a00897.html (+128/-34)
doc/html/a00898.html (+742/-28)
doc/html/a00899.html (+108/-33)
doc/html/a00900.html (+38/-28)
doc/html/a00901.html (+0/-84)
doc/html/a00902.html (+26/-28)
doc/html/a00903.html (+0/-64)
doc/html/a00904.html (+18/-36)
doc/html/a00905.html (+0/-62)
doc/html/a00906.html (+14/-25)
doc/html/a00907.html (+15/-27)
doc/html/a00908.html (+20/-28)
doc/html/a00909.html (+16/-27)
doc/html/a00910.html (+19/-26)
doc/html/a00911.html (+24/-25)
doc/html/a00912.html (+36/-25)
doc/html/a00913.html (+15/-35)
doc/html/a00914.html (+23/-41)
doc/html/a00915.html (+31/-15)
doc/html/a00916.html (+86/-33)
doc/html/a00917.html (+24/-34)
doc/html/a00918.html (+27/-22)
doc/html/a00919.html (+221/-21)
doc/html/a00920.html (+19/-30)
doc/html/a00921.html (+14/-29)
doc/html/a00922.html (+24/-30)
doc/html/a00923.html (+27/-16)
doc/html/a00924.html (+38/-19)
doc/html/a00925.html (+34/-73)
doc/html/a00926.html (+39/-50)
doc/html/a00927.html (+47/-16)
doc/html/a00928.html (+27/-111)
doc/html/a00929.html (+40/-113)
doc/html/a00930.html (+38/-12)
doc/html/a00931.html (+40/-34)
doc/html/a00932.html (+29/-23)
doc/html/a00933.html (+40/-29)
doc/html/a00934.html (+59/-23)
doc/html/a00935.html (+34/-23)
doc/html/a00936.html (+36/-24)
doc/html/a00937.html (+35/-23)
doc/html/a00938.html (+35/-25)
doc/html/a00939.html (+61/-29)
doc/html/a00940.html (+63/-21)
doc/html/a00941.html (+35/-141)
doc/html/a00942.html (+32/-34)
doc/html/a00943.html (+32/-13)
doc/html/a00944.html (+37/-19)
doc/html/a00945.html (+34/-33)
doc/html/a00946.html (+39/-13)
doc/html/a00947.html (+61/-19)
doc/html/a00948.html (+27/-19)
doc/html/a00949.html (+35/-25)
doc/html/a00950.html (+34/-51)
doc/html/a00951.html (+38/-136)
doc/html/a00952.html (+62/-135)
doc/html/a00953.html (+47/-115)
doc/html/a00954.html (+34/-13)
doc/html/a00955.html (+43/-13)
doc/html/a00956.html (+46/-13)
doc/html/a00957.html (+58/-12)
doc/html/a00958.html (+27/-13)
doc/html/a00959.html (+40/-13)
doc/html/a00960.html (+32/-12)
doc/html/a00961.html (+32/-12)
doc/html/a00962.html (+146/-13)
doc/html/a00963.html (+63/-13)
doc/html/a00964.html (+24/-14)
doc/html/a00965.html (+62/-14)
doc/html/a00966.html (+15/-13)
doc/html/a00967.html (+18/-16)
doc/html/a00968.html (+17/-12)
doc/html/a00969.html (+22/-13)
doc/html/a00970.html (+22/-15)
doc/html/a00971.html (+22/-13)
doc/html/a00972.html (+22/-13)
doc/html/a00973.html (+22/-12)
doc/html/a00974.html (+22/-14)
doc/html/a00975.html (+22/-13)
doc/html/a00976.html (+22/-13)
doc/html/a00977.html (+22/-13)
doc/html/a00978.html (+22/-13)
doc/html/a00979.html (+22/-14)
doc/html/a00980.html (+22/-13)
doc/html/a00981.html (+22/-13)
doc/html/a00982.html (+22/-13)
doc/html/a00983.html (+22/-13)
doc/html/a00984.html (+22/-13)
doc/html/a00985.html (+31/-13)
doc/html/a00986.html (+39/-13)
doc/html/a00987.html (+20/-13)
doc/html/a00988.html (+76/-13)
doc/html/a00989.html (+15/-12)
doc/html/a00990.html (+64/-13)
doc/html/a00991.html (+119/-14)
doc/html/a00992.html (+68/-14)
doc/html/a00993.html (+20/-12)
doc/html/a00994.html (+109/-13)
doc/html/a00995.html (+26/-13)
doc/html/a00996.html (+30/-14)
doc/html/a00997.html (+47/-13)
doc/html/a00998.html (+31/-13)
doc/html/a00999.html (+30/-12)
doc/html/a01000.html (+16/-12)
doc/html/a01001.html (+68/-13)
doc/html/a01002.html (+79/-12)
doc/html/a01003.html (+27/-20)
doc/html/a01004.html (+40/-16)
doc/html/a01005.html (+20/-13)
doc/html/a01006.html (+64/-13)
doc/html/a01007.html (+22/-13)
doc/html/a01008.html (+122/-13)
doc/html/a01009.html (+18/-12)
doc/html/a01010.html (+84/-13)
doc/html/a01011.html (+18/-14)
doc/html/a01012.html (+19/-16)
doc/html/a01013.html (+15/-12)
doc/html/a01014.html (+21/-14)
doc/html/a01015.html (+37/-12)
doc/html/a01016.html (+39/-13)
doc/html/a01017.html (+41/-13)
doc/html/a01018.html (+25/-13)
doc/html/a01019.html (+25/-14)
doc/html/a01020.html (+124/-12)
doc/html/a01021.html (+48/-12)
doc/html/a01022.html (+17/-13)
doc/html/a01023.html (+13/-12)
doc/html/a01024.html (+34/-13)
doc/html/a01025.html (+134/-13)
doc/html/a01026.html (+16/-13)
doc/html/a01027.html (+26/-12)
doc/html/a01028.html (+15/-12)
doc/html/a01029.html (+16/-12)
doc/html/a01030.html (+15/-12)
doc/html/a01031.html (+16/-12)
doc/html/a01032.html (+15/-12)
doc/html/a01033.html (+16/-13)
doc/html/a01034.html (+15/-13)
doc/html/a01035.html (+16/-13)
doc/html/a01036.html (+15/-13)
doc/html/a01037.html (+16/-16)
doc/html/a01038.html (+15/-13)
doc/html/a01039.html (+16/-12)
doc/html/a01040.html (+15/-12)
doc/html/a01041.html (+16/-16)
doc/html/a01042.html (+15/-13)
doc/html/a01043.html (+16/-13)
doc/html/a01044.html (+21/-13)
doc/html/a01045.html (+21/-13)
doc/html/a01046.html (+14/-13)
doc/html/a01047.html (+127/-12)
doc/html/a01048.html (+137/-13)
doc/html/a01049.html (+146/-12)
doc/html/a01050.html (+38/-16)
doc/html/a01051.html (+18/-13)
doc/html/a01052.html (+16/-12)
doc/html/a01053.html (+28/-12)
doc/html/a01054.html (+48/-13)
doc/html/a01055.html (+25/-13)
doc/html/a01056.html (+22/-14)
doc/html/a01057.html (+19/-13)
doc/html/a01058.html (+16/-13)
doc/html/a01059.html (+20/-13)
doc/html/a01060.html (+19/-13)
doc/html/a01061.html (+127/-36)
doc/html/a01062.html (+135/-64)
doc/html/a01063.html (+150/-33)
doc/html/a01064.html (+25/-34)
doc/html/a01065.html (+26/-35)
doc/html/a01066.html (+27/-37)
doc/html/a01067.html (+31/-38)
doc/html/a01068.html (+25/-33)
doc/html/a01069.html (+30/-32)
doc/html/a01070.html (+25/-37)
doc/html/a01071.html (+44/-35)
doc/html/a01072.html (+25/-39)
doc/html/a01073.html (+24/-46)
doc/html/a01074.html (+33/-41)
doc/html/a01075.html (+22/-46)
doc/html/a01076.html (+25/-38)
doc/html/a01077.html (+27/-58)
doc/html/a01078.html (+28/-39)
doc/html/a01079.html (+27/-37)
doc/html/a01080.html (+26/-40)
doc/html/a01081.html (+25/-42)
doc/html/a01082.html (+25/-34)
doc/html/a01083.html (+35/-33)
doc/html/a01084.html (+41/-39)
doc/html/a01085.html (+15/-34)
doc/html/a01086.html (+33/-39)
doc/html/a01087.html (+34/-40)
doc/html/a01088.html (+21/-32)
doc/html/a01089.html (+20/-35)
doc/html/a01090.html (+30/-56)
doc/html/a01091.html (+29/-34)
doc/html/a01092.html (+30/-33)
doc/html/a01093.html (+15/-41)
doc/html/a01094.html (+19/-34)
doc/html/a01095.html (+73/-48)
doc/html/a01096.html (+50/-35)
doc/html/a01097.html (+16/-33)
doc/html/a01098.html (+111/-34)
doc/html/a01099.html (+113/-34)
doc/html/a01100.html (+34/-54)
doc/html/a01101.html (+23/-31)
doc/html/a01102.html (+12/-40)
doc/html/a01103.html (+29/-37)
doc/html/a01104.html (+23/-50)
doc/html/a01105.html (+23/-37)
doc/html/a01106.html (+24/-32)
doc/html/a01107.html (+23/-34)
doc/html/a01108.html (+25/-38)
doc/html/a01109.html (+29/-43)
doc/html/a01110.html (+21/-39)
doc/html/a01111.html (+141/-47)
doc/html/a01112.html (+34/-30)
doc/html/a01113.html (+12/-33)
doc/html/a01114.html (+18/-36)
doc/html/a01115.html (+33/-33)
doc/html/a01116.html (+12/-35)
doc/html/a01117.html (+18/-35)
doc/html/a01118.html (+18/-41)
doc/html/a01119.html (+25/-35)
doc/html/a01120.html (+51/-39)
doc/html/a01121.html (+136/-32)
doc/html/a01122.html (+135/-51)
doc/html/a01123.html (+115/-33)
doc/html/a01124.html (+13/-36)
doc/html/a01125.html (+13/-37)
doc/html/a01126.html (+13/-48)
doc/html/a01127.html (+12/-34)
doc/html/a01128.html (+13/-34)
doc/html/a01129.html (+13/-43)
doc/html/a01130.html (+12/-34)
doc/html/a01131.html (+12/-36)
doc/html/a01132.html (+13/-34)
doc/html/a01133.html (+13/-44)
doc/html/a01134.html (+14/-38)
doc/html/a01135.html (+14/-46)
doc/html/a01136.html (+13/-33)
doc/html/a01137.html (+16/-39)
doc/html/a01138.html (+12/-39)
doc/html/a01139.html (+13/-34)
doc/html/a01140.html (+15/-40)
doc/html/a01141.html (+13/-37)
doc/html/a01142.html (+13/-33)
doc/html/a01143.html (+12/-36)
doc/html/a01144.html (+14/-33)
doc/html/a01145.html (+13/-32)
doc/html/a01146.html (+13/-63)
doc/html/a01147.html (+13/-36)
doc/html/a01148.html (+13/-39)
doc/html/a01149.html (+14/-51)
doc/html/a01150.html (+13/-33)
doc/html/a01151.html (+13/-34)
doc/html/a01152.html (+13/-35)
doc/html/a01153.html (+13/-27)
doc/html/a01154.html (+53/-0)
doc/html/a01155.html (+53/-0)
doc/html/a01156.html (+53/-0)
doc/html/a01157.html (+53/-0)
doc/html/a01158.html (+53/-0)
doc/html/a01159.html (+52/-0)
doc/html/a01160.html (+53/-0)
doc/html/a01161.html (+54/-0)
doc/html/a01162.html (+54/-0)
doc/html/a01163.html (+52/-0)
doc/html/a01164.html (+53/-0)
doc/html/a01165.html (+53/-0)
doc/html/a01166.html (+54/-0)
doc/html/a01167.html (+53/-0)
doc/html/a01168.html (+53/-0)
doc/html/a01169.html (+52/-0)
doc/html/a01170.html (+52/-0)
doc/html/a01171.html (+53/-0)
doc/html/a01172.html (+52/-0)
doc/html/a01173.html (+60/-0)
doc/html/a01174.html (+56/-0)
doc/html/a01175.html (+53/-0)
doc/html/a01176.html (+53/-0)
doc/html/a01177.html (+53/-0)
doc/html/a01178.html (+53/-0)
doc/html/a01179.html (+52/-0)
doc/html/a01180.html (+53/-0)
doc/html/a01181.html (+54/-0)
doc/html/a01182.html (+56/-0)
doc/html/a01183.html (+52/-0)
doc/html/a01184.html (+54/-0)
doc/html/a01185.html (+52/-0)
doc/html/a01186.html (+53/-0)
doc/html/a01187.html (+53/-0)
doc/html/a01188.html (+53/-0)
doc/html/a01189.html (+54/-0)
doc/html/a01190.html (+52/-0)
doc/html/a01191.html (+52/-0)
doc/html/a01192.html (+53/-0)
doc/html/a01193.html (+52/-0)
doc/html/a01194.html (+53/-0)
doc/html/a01195.html (+53/-0)
doc/html/a01196.html (+53/-0)
doc/html/a01197.html (+52/-0)
doc/html/a01198.html (+52/-0)
doc/html/a01199.html (+52/-0)
doc/html/a01200.html (+52/-0)
doc/html/a01201.html (+52/-0)
doc/html/a01202.html (+52/-0)
doc/html/a01203.html (+53/-0)
doc/html/a01204.html (+53/-0)
doc/html/a01205.html (+53/-0)
doc/html/a01206.html (+53/-0)
doc/html/a01207.html (+56/-0)
doc/html/a01208.html (+53/-0)
doc/html/a01209.html (+52/-0)
doc/html/a01210.html (+52/-0)
doc/html/a01211.html (+56/-0)
doc/html/a01212.html (+53/-0)
doc/html/a01213.html (+53/-0)
doc/html/a01214.html (+53/-0)
doc/html/a01215.html (+53/-0)
doc/html/a01216.html (+53/-0)
doc/html/a01217.html (+52/-0)
doc/html/a01218.html (+53/-0)
doc/html/a01219.html (+52/-0)
doc/html/a01220.html (+56/-0)
doc/html/a01221.html (+53/-0)
doc/html/a01222.html (+52/-0)
doc/html/a01223.html (+52/-0)
doc/html/a01224.html (+53/-0)
doc/html/a01225.html (+53/-0)
doc/html/a01226.html (+54/-0)
doc/html/a01227.html (+53/-0)
doc/html/a01228.html (+53/-0)
doc/html/a01229.html (+53/-0)
doc/html/a01230.html (+53/-0)
doc/html/a01231.html (+75/-0)
doc/html/a01232.html (+103/-0)
doc/html/a01233.html (+72/-0)
doc/html/a01234.html (+73/-0)
doc/html/a01235.html (+74/-0)
doc/html/a01236.html (+76/-0)
doc/html/a01237.html (+77/-0)
doc/html/a01238.html (+72/-0)
doc/html/a01239.html (+71/-0)
doc/html/a01240.html (+76/-0)
doc/html/a01241.html (+74/-0)
doc/html/a01242.html (+78/-0)
doc/html/a01243.html (+85/-0)
doc/html/a01244.html (+80/-0)
doc/html/a01245.html (+85/-0)
doc/html/a01246.html (+77/-0)
doc/html/a01247.html (+97/-0)
doc/html/a01248.html (+78/-0)
doc/html/a01249.html (+76/-0)
doc/html/a01250.html (+71/-0)
doc/html/a01251.html (+79/-0)
doc/html/a01252.html (+81/-0)
doc/html/a01253.html (+73/-0)
doc/html/a01254.html (+72/-0)
doc/html/a01255.html (+78/-0)
doc/html/a01256.html (+73/-0)
doc/html/a01257.html (+78/-0)
doc/html/a01258.html (+79/-0)
doc/html/a01259.html (+71/-0)
doc/html/a01260.html (+74/-0)
doc/html/a01261.html (+95/-0)
doc/html/a01262.html (+73/-0)
doc/html/a01263.html (+72/-0)
doc/html/a01264.html (+80/-0)
doc/html/a01265.html (+73/-0)
doc/html/a01266.html (+85/-0)
doc/html/a01267.html (+75/-0)
doc/html/a01268.html (+87/-0)
doc/html/a01269.html (+74/-0)
doc/html/a01270.html (+72/-0)
doc/html/a01271.html (+73/-0)
doc/html/a01272.html (+76/-0)
doc/html/a01273.html (+73/-0)
doc/html/a01274.html (+93/-0)
doc/html/a01275.html (+70/-0)
doc/html/a01276.html (+79/-0)
doc/html/a01277.html (+76/-0)
doc/html/a01278.html (+90/-0)
doc/html/a01279.html (+76/-0)
doc/html/a01280.html (+71/-0)
doc/html/a01281.html (+73/-0)
doc/html/a01282.html (+77/-0)
doc/html/a01283.html (+82/-0)
doc/html/a01284.html (+78/-0)
doc/html/a01285.html (+86/-0)
doc/html/a01286.html (+69/-0)
doc/html/a01287.html (+72/-0)
doc/html/a01288.html (+75/-0)
doc/html/a01289.html (+72/-0)
doc/html/a01290.html (+74/-0)
doc/html/a01291.html (+74/-0)
doc/html/a01292.html (+80/-0)
doc/html/a01293.html (+74/-0)
doc/html/a01294.html (+78/-0)
doc/html/a01295.html (+71/-0)
doc/html/a01296.html (+92/-0)
doc/html/a01297.html (+72/-0)
doc/html/a01298.html (+75/-0)
doc/html/a01299.html (+76/-0)
doc/html/a01300.html (+87/-0)
doc/html/a01301.html (+73/-0)
doc/html/a01302.html (+73/-0)
doc/html/a01303.html (+82/-0)
doc/html/a01304.html (+73/-0)
doc/html/a01305.html (+75/-0)
doc/html/a01306.html (+73/-0)
doc/html/a01307.html (+83/-0)
doc/html/a01308.html (+77/-0)
doc/html/a01309.html (+85/-0)
doc/html/a01310.html (+73/-0)
doc/html/a01311.html (+78/-0)
doc/html/a01312.html (+78/-0)
doc/html/a01313.html (+73/-0)
doc/html/a01314.html (+79/-0)
doc/html/a01315.html (+76/-0)
doc/html/a01316.html (+72/-0)
doc/html/a01317.html (+75/-0)
doc/html/a01318.html (+72/-0)
doc/html/a01319.html (+71/-0)
doc/html/a01320.html (+102/-0)
doc/html/a01321.html (+75/-0)
doc/html/a01322.html (+78/-0)
doc/html/a01323.html (+89/-0)
doc/html/a01324.html (+71/-0)
doc/html/a01325.html (+72/-0)
doc/html/a01326.html (+73/-0)
doc/html/a01327.html (+66/-0)
doc/html/a01328.html (+62/-0)
doc/html/a01329.html (+62/-0)
doc/html/a01330.html (+57/-0)
doc/html/a01331.html (+67/-0)
doc/html/a01332.html (+57/-0)
doc/html/a01333.html (+56/-0)
doc/html/a01334.html (+62/-0)
doc/html/a01335.html (+57/-0)
doc/html/a01336.html (+62/-0)
doc/html/a01337.html (+63/-0)
doc/html/a01338.html (+55/-0)
doc/html/a01339.html (+58/-0)
doc/html/a01340.html (+79/-0)
doc/html/a01341.html (+57/-0)
doc/html/a01342.html (+56/-0)
doc/html/a01343.html (+55/-0)
doc/html/a01344.html (+64/-0)
doc/html/a01345.html (+57/-0)
doc/html/a01346.html (+59/-0)
doc/html/a01347.html (+69/-0)
doc/html/a01348.html (+71/-0)
doc/html/a01349.html (+58/-0)
doc/html/a01350.html (+56/-0)
doc/html/a01351.html (+57/-0)
doc/html/a01352.html (+55/-0)
doc/html/a01353.html (+60/-0)
doc/html/a01354.html (+77/-0)
doc/html/a01355.html (+63/-0)
doc/html/a01356.html (+60/-0)
doc/html/a01357.html (+74/-0)
doc/html/a01358.html (+60/-0)
doc/html/a01359.html (+55/-0)
doc/html/a01360.html (+57/-0)
doc/html/a01361.html (+61/-0)
doc/html/a01362.html (+66/-0)
doc/html/a01363.html (+62/-0)
doc/html/a01364.html (+60/-0)
doc/html/a01365.html (+64/-0)
doc/html/a01366.html (+58/-0)
doc/html/a01367.html (+62/-0)
doc/html/a01368.html (+55/-0)
doc/html/a01369.html (+78/-0)
doc/html/a01370.html (+56/-0)
doc/html/a01371.html (+59/-0)
doc/html/a01372.html (+60/-0)
doc/html/a01373.html (+71/-0)
doc/html/a01374.html (+57/-0)
doc/html/a01375.html (+66/-0)
doc/html/a01376.html (+57/-0)
doc/html/a01377.html (+59/-0)
doc/html/a01378.html (+57/-0)
doc/html/a01379.html (+67/-0)
doc/html/a01380.html (+61/-0)
doc/html/a01381.html (+69/-0)
doc/html/a01382.html (+57/-0)
doc/html/a01383.html (+62/-0)
doc/html/a01384.html (+62/-0)
doc/html/a01385.html (+57/-0)
doc/html/a01386.html (+60/-0)
doc/html/a01387.html (+56/-0)
doc/html/a01388.html (+59/-0)
doc/html/annotated.html (+498/-392)
doc/html/classes.html (+128/-106)
doc/html/dir_6a0ad83b73160d92798e0df0d91b99f2.html (+58/-0)
doc/html/dir_873b20b8174f0d08bad0230936669cc5.html (+53/-0)
doc/html/dir_a7efd3693e0e01cb2055bca70ce6963d.html (+57/-0)
doc/html/dir_d31e7bccdbb8c214182f9922ec6f9b9e.html (+550/-0)
doc/html/dir_da638a168252e2c60116c394abd6721a.html (+149/-0)
doc/html/dynsections.js (+97/-0)
doc/html/files.html (+0/-221)
doc/html/functions.html (+376/-244)
doc/html/functions_0x62.html (+112/-55)
doc/html/functions_0x63.html (+853/-555)
doc/html/functions_0x64.html (+141/-76)
doc/html/functions_0x65.html (+99/-74)
doc/html/functions_0x66.html (+196/-183)
doc/html/functions_0x67.html (+235/-110)
doc/html/functions_0x68.html (+132/-100)
doc/html/functions_0x69.html (+457/-309)
doc/html/functions_0x6b.html (+8/-5)
doc/html/functions_0x6c.html (+93/-61)
doc/html/functions_0x6d.html (+239/-100)
doc/html/functions_0x6e.html (+104/-81)
doc/html/functions_0x6f.html (+202/-192)
doc/html/functions_0x70.html (+213/-156)
doc/html/functions_0x71.html (+7/-7)
doc/html/functions_0x72.html (+812/-609)
doc/html/functions_0x73.html (+1125/-506)
doc/html/functions_0x74.html (+122/-87)
doc/html/functions_0x75.html (+109/-68)
doc/html/functions_0x76.html (+45/-34)
doc/html/functions_0x77.html (+7/-7)
doc/html/functions_0x78.html (+5/-5)
doc/html/functions_0x79.html (+4/-4)
doc/html/functions_0x7e.html (+245/-149)
doc/html/functions_enum.html (+10/-10)
doc/html/functions_eval.html (+31/-31)
doc/html/functions_func.html (+339/-224)
doc/html/functions_func_0x62.html (+111/-54)
doc/html/functions_func_0x63.html (+800/-512)
doc/html/functions_func_0x64.html (+124/-65)
doc/html/functions_func_0x65.html (+75/-63)
doc/html/functions_func_0x66.html (+93/-80)
doc/html/functions_func_0x67.html (+205/-109)
doc/html/functions_func_0x68.html (+119/-88)
doc/html/functions_func_0x69.html (+427/-280)
doc/html/functions_func_0x6b.html (+7/-4)
doc/html/functions_func_0x6c.html (+82/-54)
doc/html/functions_func_0x6d.html (+207/-84)
doc/html/functions_func_0x6e.html (+94/-65)
doc/html/functions_func_0x6f.html (+190/-180)
doc/html/functions_func_0x70.html (+175/-114)
doc/html/functions_func_0x71.html (+6/-6)
doc/html/functions_func_0x72.html (+737/-562)
doc/html/functions_func_0x73.html (+1038/-473)
doc/html/functions_func_0x74.html (+107/-72)
doc/html/functions_func_0x75.html (+91/-57)
doc/html/functions_func_0x76.html (+35/-26)
doc/html/functions_func_0x77.html (+5/-5)
doc/html/functions_func_0x78.html (+5/-5)
doc/html/functions_func_0x79.html (+4/-4)
doc/html/functions_func_0x7e.html (+245/-149)
doc/html/functions_prop.html (+37/-37)
doc/html/functions_rela.html (+5/-5)
doc/html/functions_type.html (+288/-87)
doc/html/functions_vars.html (+16/-16)
doc/html/functions_vars_0x63.html (+26/-22)
doc/html/functions_vars_0x64.html (+11/-11)
doc/html/functions_vars_0x65.html (+11/-7)
doc/html/functions_vars_0x66.html (+84/-84)
doc/html/functions_vars_0x67.html (+4/-4)
doc/html/functions_vars_0x68.html (+11/-11)
doc/html/functions_vars_0x69.html (+16/-16)
doc/html/functions_vars_0x6b.html (+4/-4)
doc/html/functions_vars_0x6c.html (+7/-7)
doc/html/functions_vars_0x6d.html (+19/-19)
doc/html/functions_vars_0x6e.html (+14/-14)
doc/html/functions_vars_0x6f.html (+13/-13)
doc/html/functions_vars_0x70.html (+31/-31)
doc/html/functions_vars_0x72.html (+13/-8)
doc/html/functions_vars_0x73.html (+21/-21)
doc/html/functions_vars_0x74.html (+19/-19)
doc/html/functions_vars_0x75.html (+10/-10)
doc/html/functions_vars_0x76.html (+5/-5)
doc/html/functions_vars_0x77.html (+5/-5)
doc/html/hierarchy.html (+595/-515)
doc/html/index.html (+20/-20)
doc/html/index.qhp (+25233/-12936)
doc/html/installdox (+0/-112)
doc/html/jquery.js (+31/-0)
doc/html/modules.html (+38/-42)
doc/html/namespacemembers.html (+5/-5)
doc/html/namespacemembers_enum.html (+82/-79)
doc/html/namespacemembers_eval.html (+25/-25)
doc/html/namespacemembers_func.html (+4/-4)
doc/html/namespacemembers_type.html (+84/-84)
doc/html/namespacemembers_vars.html (+58/-55)
doc/html/namespaces.html (+13/-10)
doc/html/pages.html (+10/-11)
doc/html/tabs.css (+1/-0)
doc/html/telepathy-qt.tags (+17380/-7363)
examples/accounts/CMakeLists.txt (+7/-7)
examples/cm/CMakeLists.txt (+8/-8)
examples/contact-messenger/CMakeLists.txt (+5/-5)
examples/extensions/CMakeLists.txt (+3/-3)
examples/file-transfer/CMakeLists.txt (+10/-10)
examples/file-transfer/file-sender.cpp (+2/-0)
examples/protocols/CMakeLists.txt (+7/-7)
examples/roster/CMakeLists.txt (+14/-14)
examples/stream-tubes/CMakeLists.txt (+10/-10)
spec/Account_Interface_Addressing.xml (+8/-0)
spec/Account_Interface_Minimum_Presence.xml (+0/-108)
spec/Call_Content_Codec_Offer.xml (+0/-87)
spec/Call_Content_Interface_Mute.xml (+0/-85)
spec/Channel.xml (+1/-1)
spec/Channel_Dispatcher_Future.xml (+0/-377)
spec/Channel_Dispatcher_Interface_Messages.xml (+0/-49)
spec/Channel_Dispatcher_Interface_Messages1.xml (+175/-0)
spec/Channel_Interface_Room_Config.xml (+1/-1)
spec/Channel_Interface_Tube.xml (+2/-1)
spec/Channel_Request_Future.xml (+0/-98)
spec/Channel_Type_Call.xml (+6/-9)
spec/Channel_Type_DBus_Tube.xml (+5/-2)
spec/Channel_Type_File_Transfer.xml (+29/-0)
spec/Channel_Type_Room_List.xml (+2/-1)
spec/Channel_Type_Stream_Tube.xml (+5/-2)
spec/Connection.xml (+45/-5)
spec/Connection_Future.xml (+0/-110)
spec/Connection_Interface_Contact_Capabilities.xml (+1/-1)
spec/Connection_Interface_IRC_Command1.xml (+55/-0)
spec/Connection_Interface_Renaming.xml (+2/-2)
spec/Connection_Interface_Sidecars1.xml (+110/-0)
spec/all.xml (+4/-2)
spec/errors.xml (+3/-3)
tests/dbus/CMakeLists.txt (+11/-11)
tests/dbus/account-channel-dispatcher.cpp (+15/-1)
tests/dbus/account-set.cpp (+1/-1)
tests/dbus/client.cpp (+17/-3)
tests/dbus/contact-messenger.cpp (+2/-2)
tests/dbus/dbus-proxy-factory.cpp (+4/-0)
tests/dbus/dbus-tube-chan.cpp (+0/-5)
tests/key-file.cpp (+3/-1)
tests/lib/CMakeLists.txt (+1/-1)
tests/lib/glib-helpers/CMakeLists.txt (+3/-3)
tests/lib/glib/future/extensions/misc.xml (+0/-1)
tests/lib/glib/simple-channel-dispatch-operation.c (+10/-1)
tests/lib/glib/util.c (+4/-0)
tools/manager-file.py (+1/-0)
tools/qt-svc-gen.py (+1/-1)
To merge this branch: bzr merge lp:~tiagosh/ubuntu/wily/telepathy-qt5/update-0.9.6.1
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Review via email: mp+262167@code.launchpad.net

Commit message

Update to new upstream release (0.9.6.1).

Description of the change

Update to new upstream release (0.9.6.1).

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

The changelog doesn't document/justify the dropping of all patches. I went through them, and most seem to be applied upstream. 02-adapt_to_work_with_q5_final.patch and 05-fix-qt52-build.patch don't seem to be applied at all, but the package builds fine in wily (with Qt 5.4), so I assume they are obsolete.

Please document this in the changelog next time instead of requiring such guesswork.

Uploaded, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc/01-force_setInterfaces_on_call-content-for-dtmf.patch'
2=== removed directory '.pc/01-force_setInterfaces_on_call-content-for-dtmf.patch/TelepathyQt'
3=== removed file '.pc/01-force_setInterfaces_on_call-content-for-dtmf.patch/TelepathyQt/call-content.cpp'
4--- .pc/01-force_setInterfaces_on_call-content-for-dtmf.patch/TelepathyQt/call-content.cpp 2013-06-06 04:56:14 +0000
5+++ .pc/01-force_setInterfaces_on_call-content-for-dtmf.patch/TelepathyQt/call-content.cpp 1970-01-01 00:00:00 +0000
6@@ -1,537 +0,0 @@
7-/*
8- * This file is part of TelepathyQt
9- *
10- * @copyright Copyright (C) 2010-2012 Collabora Ltd. <http://www.collabora.co.uk/>
11- * @copyright Copyright (C) 2012 Nokia Corporation
12- * @license LGPL 2.1
13- *
14- * This library is free software; you can redistribute it and/or
15- * modify it under the terms of the GNU Lesser General Public
16- * License as published by the Free Software Foundation; either
17- * version 2.1 of the License, or (at your option) any later version.
18- *
19- * This library is distributed in the hope that it will be useful,
20- * but WITHOUT ANY WARRANTY; without even the implied warranty of
21- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22- * Lesser General Public License for more details.
23- *
24- * You should have received a copy of the GNU Lesser General Public
25- * License along with this library; if not, write to the Free Software
26- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27- */
28-
29-#include <TelepathyQt/CallContent>
30-
31-#include "TelepathyQt/_gen/call-content.moc.hpp"
32-
33-#include "TelepathyQt/_gen/cli-call-content-body.hpp"
34-#include "TelepathyQt/_gen/cli-call-content.moc.hpp"
35-
36-#include <TelepathyQt/debug-internal.h>
37-
38-#include <TelepathyQt/CallChannel>
39-#include <TelepathyQt/DBus>
40-#include <TelepathyQt/PendingReady>
41-#include <TelepathyQt/PendingVoid>
42-#include <TelepathyQt/PendingVariantMap>
43-#include <TelepathyQt/ReadinessHelper>
44-
45-namespace Tp
46-{
47-
48-/* ====== CallContent ====== */
49-struct TP_QT_NO_EXPORT CallContent::Private
50-{
51- Private(CallContent *parent, const CallChannelPtr &channel);
52-
53- static void introspectMainProperties(Private *self);
54- void checkIntrospectionCompleted();
55-
56- CallStreamPtr addStream(const QDBusObjectPath &streamPath);
57- CallStreamPtr lookupStream(const QDBusObjectPath &streamPath);
58-
59- // Public object
60- CallContent *parent;
61-
62- WeakPtr<CallChannel> channel;
63-
64- // Mandatory proxies
65- Client::CallContentInterface *contentInterface;
66-
67- ReadinessHelper *readinessHelper;
68-
69- // Introspection
70- QString name;
71- uint type;
72- uint disposition;
73- CallStreams streams;
74- CallStreams incompleteStreams;
75-};
76-
77-CallContent::Private::Private(CallContent *parent, const CallChannelPtr &channel)
78- : parent(parent),
79- channel(channel.data()),
80- contentInterface(parent->interface<Client::CallContentInterface>()),
81- readinessHelper(parent->readinessHelper())
82-{
83- ReadinessHelper::Introspectables introspectables;
84-
85- ReadinessHelper::Introspectable introspectableCore(
86- QSet<uint>() << 0, // makesSenseForStatuses
87- Features(), // dependsOnFeatures
88- QStringList(), // dependsOnInterfaces
89- (ReadinessHelper::IntrospectFunc) &Private::introspectMainProperties,
90- this);
91- introspectables[FeatureCore] = introspectableCore;
92-
93- readinessHelper->addIntrospectables(introspectables);
94- readinessHelper->becomeReady(FeatureCore);
95-}
96-
97-void CallContent::Private::introspectMainProperties(CallContent::Private *self)
98-{
99- CallContent *parent = self->parent;
100- CallChannelPtr channel = parent->channel();
101-
102- parent->connect(self->contentInterface,
103- SIGNAL(StreamsAdded(Tp::ObjectPathList)),
104- SLOT(onStreamsAdded(Tp::ObjectPathList)));
105- parent->connect(self->contentInterface,
106- SIGNAL(StreamsRemoved(Tp::ObjectPathList,Tp::CallStateReason)),
107- SLOT(onStreamsRemoved(Tp::ObjectPathList,Tp::CallStateReason)));
108-
109- parent->connect(self->contentInterface->requestAllProperties(),
110- SIGNAL(finished(Tp::PendingOperation*)),
111- SLOT(gotMainProperties(Tp::PendingOperation*)));
112-}
113-
114-void CallContent::Private::checkIntrospectionCompleted()
115-{
116- if (!parent->isReady(FeatureCore) && incompleteStreams.size() == 0) {
117- readinessHelper->setIntrospectCompleted(FeatureCore, true);
118- }
119-}
120-
121-CallStreamPtr CallContent::Private::addStream(const QDBusObjectPath &streamPath)
122-{
123- CallStreamPtr stream = CallStreamPtr(
124- new CallStream(CallContentPtr(parent), streamPath));
125- incompleteStreams.append(stream);
126- parent->connect(stream->becomeReady(),
127- SIGNAL(finished(Tp::PendingOperation*)),
128- SLOT(onStreamReady(Tp::PendingOperation*)));
129- return stream;
130-}
131-
132-CallStreamPtr CallContent::Private::lookupStream(const QDBusObjectPath &streamPath)
133-{
134- foreach (const CallStreamPtr &stream, streams) {
135- if (stream->objectPath() == streamPath.path()) {
136- return stream;
137- }
138- }
139- foreach (const CallStreamPtr &stream, incompleteStreams) {
140- if (stream->objectPath() == streamPath.path()) {
141- return stream;
142- }
143- }
144- return CallStreamPtr();
145-}
146-
147-/**
148- * \class CallContent
149- * \ingroup clientchannel
150- * \headerfile TelepathyQt/call-content.h <TelepathyQt/CallContent>
151- *
152- * \brief The CallContent class provides an object representing a Telepathy
153- * Call.Content.
154- *
155- * Instances of this class cannot be constructed directly; the only way to get
156- * one is via CallChannel.
157- *
158- * See \ref async_model
159- */
160-
161-/**
162- * Feature representing the core that needs to become ready to make the
163- * CallContent object usable.
164- *
165- * Note that this feature must be enabled in order to use most CallContent
166- * methods. See specific methods documentation for more details.
167- *
168- * When calling isReady(), becomeReady(), this feature is implicitly added
169- * to the requested features.
170- */
171-const Feature CallContent::FeatureCore = Feature(QLatin1String(CallContent::staticMetaObject.className()), 0);
172-
173-/**
174- * Construct a new CallContent object.
175- *
176- * \param channel The channel owning this media content.
177- * \param name The object path of this media content.
178- */
179-CallContent::CallContent(const CallChannelPtr &channel, const QDBusObjectPath &objectPath)
180- : StatefulDBusProxy(channel->dbusConnection(), channel->busName(),
181- objectPath.path(), FeatureCore),
182- OptionalInterfaceFactory<CallContent>(this),
183- mPriv(new Private(this, channel))
184-{
185-}
186-
187-/**
188- * Class destructor.
189- */
190-CallContent::~CallContent()
191-{
192- delete mPriv;
193-}
194-
195-/**
196- * Return the channel owning this media content.
197- *
198- * \return The channel owning this media content.
199- */
200-CallChannelPtr CallContent::channel() const
201-{
202- return CallChannelPtr(mPriv->channel);
203-}
204-
205-/**
206- * Return the name of this media content.
207- *
208- * \return The name of this media content.
209- */
210-QString CallContent::name() const
211-{
212- return mPriv->name;
213-}
214-
215-/**
216- * Return the type of this media content.
217- *
218- * \return The type of this media content.
219- */
220-MediaStreamType CallContent::type() const
221-{
222- return (MediaStreamType) mPriv->type;
223-}
224-
225-/**
226- * Return the disposition of this media content.
227- *
228- * \return The disposition of this media content.
229- */
230-CallContentDisposition CallContent::disposition() const
231-{
232- return (CallContentDisposition) mPriv->disposition;
233-}
234-
235-/**
236- * Return the media streams of this media content.
237- *
238- * \return A list of media streams of this media content.
239- * \sa streamAdded(), streamRemoved()
240- */
241-CallStreams CallContent::streams() const
242-{
243- return mPriv->streams;
244-}
245-
246-/**
247- * Removes this media content from the call.
248- *
249- * \return A PendingOperation which will emit PendingOperation::finished
250- * when the call has finished.
251- */
252-PendingOperation *CallContent::remove()
253-{
254- return new PendingVoid(mPriv->contentInterface->Remove(), CallContentPtr(this));
255-}
256-
257-/**
258- * Return whether sending DTMF events is supported on this content.
259- * DTMF is only supported on audio contents that implement the
260- * #TP_QT_IFACE_CALL_CONTENT_INTERFACE_DTMF interface.
261- *
262- * \returns \c true if DTMF is supported, or \c false otherwise.
263- */
264-bool CallContent::supportsDTMF() const
265-{
266- return hasInterface(TP_QT_IFACE_CALL_CONTENT_INTERFACE_DTMF);
267-}
268-
269-/**
270- * Start sending a DTMF tone on this media stream.
271- *
272- * Where possible, the tone will continue until stopDTMFTone() is called.
273- * On certain protocols, it may only be possible to send events with a predetermined
274- * length. In this case, the implementation may emit a fixed-length tone,
275- * and the stopDTMFTone() method call should return #TP_QT_ERROR_NOT_AVAILABLE.
276- *
277- * If this content does not support the #TP_QT_IFACE_CALL_CONTENT_INTERFACE_DTMF
278- * interface, the resulting PendingOperation will fail with error code
279- * #TP_QT_ERROR_NOT_IMPLEMENTED.
280- *
281- * \param event A numeric event code from the #DTMFEvent enum.
282- * \return A PendingOperation which will emit PendingOperation::finished
283- * when the request finishes.
284- * \sa stopDTMFTone(), supportsDTMF()
285- */
286-PendingOperation *CallContent::startDTMFTone(DTMFEvent event)
287-{
288- if (!supportsDTMF()) {
289- warning() << "CallContent::startDTMFTone() used with no dtmf interface";
290- return new PendingFailure(TP_QT_ERROR_NOT_IMPLEMENTED,
291- QLatin1String("This CallContent does not support the dtmf interface"),
292- CallContentPtr(this));
293- }
294-
295- Client::CallContentInterfaceDTMFInterface *dtmfInterface =
296- interface<Client::CallContentInterfaceDTMFInterface>();
297- return new PendingVoid(dtmfInterface->StartTone(event), CallContentPtr(this));
298-}
299-
300-/**
301- * Stop sending any DTMF tone which has been started using the startDTMFTone()
302- * method.
303- *
304- * If there is no current tone, the resulting PendingOperation will
305- * finish successfully.
306- *
307- * If this content does not support the #TP_QT_IFACE_CALL_CONTENT_INTERFACE_DTMF
308- * interface, the resulting PendingOperation will fail with error code
309- * #TP_QT_ERROR_NOT_IMPLEMENTED.
310- *
311- * \return A PendingOperation which will emit PendingOperation::finished
312- * when the request finishes.
313- * \sa startDTMFTone(), supportsDTMF()
314- */
315-PendingOperation *CallContent::stopDTMFTone()
316-{
317- if (!supportsDTMF()) {
318- warning() << "CallContent::stopDTMFTone() used with no dtmf interface";
319- return new PendingFailure(TP_QT_ERROR_NOT_IMPLEMENTED,
320- QLatin1String("This CallContent does not support the dtmf interface"),
321- CallContentPtr(this));
322- }
323-
324- Client::CallContentInterfaceDTMFInterface *dtmfInterface =
325- interface<Client::CallContentInterfaceDTMFInterface>();
326- return new PendingVoid(dtmfInterface->StopTone(), CallContentPtr(this));
327-}
328-
329-void CallContent::gotMainProperties(PendingOperation *op)
330-{
331- if (op->isError()) {
332- warning().nospace() << "CallContentInterface::requestAllProperties() failed with" <<
333- op->errorName() << ": " << op->errorMessage();
334- mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, false,
335- op->errorName(), op->errorMessage());
336- return;
337- }
338-
339- debug() << "Got reply to CallContentInterface::requestAllProperties()";
340-
341- PendingVariantMap *pvm = qobject_cast<PendingVariantMap*>(op);
342- Q_ASSERT(pvm);
343-
344- QVariantMap props = pvm->result();
345-
346- mPriv->name = qdbus_cast<QString>(props[QLatin1String("Name")]);
347- mPriv->type = qdbus_cast<uint>(props[QLatin1String("Type")]);
348- mPriv->disposition = qdbus_cast<uint>(props[QLatin1String("Disposition")]);
349-
350- ObjectPathList streamsPaths = qdbus_cast<ObjectPathList>(props[QLatin1String("Streams")]);
351- if (streamsPaths.size() != 0) {
352- foreach (const QDBusObjectPath &streamPath, streamsPaths) {
353- CallStreamPtr stream = mPriv->lookupStream(streamPath);
354- if (!stream) {
355- mPriv->addStream(streamPath);
356- }
357- }
358- } else {
359- mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, true);
360- }
361-}
362-
363-void CallContent::onStreamsAdded(const ObjectPathList &streamsPaths)
364-{
365- foreach (const QDBusObjectPath &streamPath, streamsPaths) {
366- debug() << "Received Call::Content::StreamAdded for stream" << streamPath.path();
367-
368- if (mPriv->lookupStream(streamPath)) {
369- debug() << "Stream already exists, ignoring";
370- return;
371- }
372-
373- mPriv->addStream(streamPath);
374- }
375-}
376-
377-void CallContent::onStreamsRemoved(const ObjectPathList &streamsPaths,
378- const CallStateReason &reason)
379-{
380- foreach (const QDBusObjectPath &streamPath, streamsPaths) {
381- debug() << "Received Call::Content::StreamRemoved for stream" << streamPath.path();
382-
383- CallStreamPtr stream = mPriv->lookupStream(streamPath);
384- if (!stream) {
385- debug() << "Stream does not exist, ignoring";
386- return;
387- }
388-
389- bool incomplete = mPriv->incompleteStreams.contains(stream);
390- if (incomplete) {
391- mPriv->incompleteStreams.removeOne(stream);
392- } else {
393- mPriv->streams.removeOne(stream);
394- }
395-
396- if (isReady(FeatureCore) && !incomplete) {
397- emit streamRemoved(stream, reason);
398- }
399-
400- mPriv->checkIntrospectionCompleted();
401- }
402-}
403-
404-void CallContent::onStreamReady(PendingOperation *op)
405-{
406- PendingReady *pr = qobject_cast<PendingReady*>(op);
407- CallStreamPtr stream = CallStreamPtr::qObjectCast(pr->proxy());
408-
409- if (op->isError() || !mPriv->incompleteStreams.contains(stream)) {
410- mPriv->incompleteStreams.removeOne(stream);
411- mPriv->checkIntrospectionCompleted();
412- return;
413- }
414-
415- mPriv->incompleteStreams.removeOne(stream);
416- mPriv->streams.append(stream);
417-
418- if (isReady(FeatureCore)) {
419- emit streamAdded(stream);
420- }
421-
422- mPriv->checkIntrospectionCompleted();
423-}
424-
425-/**
426- * \fn void CallContent::streamAdded(const Tp::CallStreamPtr &stream);
427- *
428- * This signal is emitted when a new media stream is added to this media
429- * content.
430- *
431- * \param stream The media stream that was added.
432- * \sa streams()
433- */
434-
435-/**
436- * \fn void CallContent::streamRemoved(const Tp::CallStreamPtr &stream, const Tp::CallStateReason &reason);
437- *
438- * This signal is emitted when a new media stream is removed from this media
439- * content.
440- *
441- * \param stream The media stream that was removed.
442- * \param reason The reason for this removal.
443- * \sa streams()
444- */
445-
446-
447-/* ====== PendingCallContent ====== */
448-struct TP_QT_NO_EXPORT PendingCallContent::Private
449-{
450- Private(PendingCallContent *parent, const CallChannelPtr &channel)
451- : parent(parent),
452- channel(channel)
453- {
454- }
455-
456- PendingCallContent *parent;
457- CallChannelPtr channel;
458- CallContentPtr content;
459-};
460-
461-PendingCallContent::PendingCallContent(const CallChannelPtr &channel,
462- const QString &name, MediaStreamType type, MediaStreamDirection direction)
463- : PendingOperation(channel),
464- mPriv(new Private(this, channel))
465-{
466- Client::ChannelTypeCallInterface *callInterface =
467- channel->interface<Client::ChannelTypeCallInterface>();
468- QDBusPendingCallWatcher *watcher =
469- new QDBusPendingCallWatcher(
470- callInterface->AddContent(name, type, direction), this);
471- connect(watcher,
472- SIGNAL(finished(QDBusPendingCallWatcher*)),
473- SLOT(gotContent(QDBusPendingCallWatcher*)));
474-}
475-
476-PendingCallContent::~PendingCallContent()
477-{
478- delete mPriv;
479-}
480-
481-CallContentPtr PendingCallContent::content() const
482-{
483- if (!isFinished() || !isValid()) {
484- return CallContentPtr();
485- }
486-
487- return mPriv->content;
488-}
489-
490-void PendingCallContent::gotContent(QDBusPendingCallWatcher *watcher)
491-{
492- QDBusPendingReply<QDBusObjectPath> reply = *watcher;
493- if (reply.isError()) {
494- warning().nospace() << "Call::AddContent failed with " <<
495- reply.error().name() << ": " << reply.error().message();
496- setFinishedWithError(reply.error());
497- watcher->deleteLater();
498- return;
499- }
500-
501- QDBusObjectPath contentPath = reply.value();
502- CallChannelPtr channel(mPriv->channel);
503- CallContentPtr content = channel->lookupContent(contentPath);
504- if (!content) {
505- content = channel->addContent(contentPath);
506- }
507-
508- connect(content->becomeReady(),
509- SIGNAL(finished(Tp::PendingOperation*)),
510- SLOT(onContentReady(Tp::PendingOperation*)));
511- connect(channel.data(),
512- SIGNAL(contentRemoved(Tp::CallContentPtr,Tp::CallStateReason)),
513- SLOT(onContentRemoved(Tp::CallContentPtr)));
514-
515- mPriv->content = content;
516-
517- watcher->deleteLater();
518-}
519-
520-void PendingCallContent::onContentReady(PendingOperation *op)
521-{
522- if (op->isError()) {
523- setFinishedWithError(op->errorName(), op->errorMessage());
524- return;
525- }
526-
527- setFinished();
528-}
529-
530-void PendingCallContent::onContentRemoved(const CallContentPtr &content)
531-{
532- if (isFinished()) {
533- return;
534- }
535-
536- if (mPriv->content == content) {
537- // the content was removed before becoming ready
538- setFinishedWithError(TP_QT_ERROR_CANCELLED,
539- QLatin1String("Content removed before ready"));
540- }
541-}
542-
543-} // Tp
544
545=== removed directory '.pc/02-adapt_to_work_with_q5_final.patch'
546=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/CMakeLists.txt'
547--- .pc/02-adapt_to_work_with_q5_final.patch/CMakeLists.txt 2013-06-06 04:56:14 +0000
548+++ .pc/02-adapt_to_work_with_q5_final.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000
549@@ -1,304 +0,0 @@
550-project(TelepathyQt)
551-
552-cmake_minimum_required(VERSION 2.6)
553-
554-# CMake policies are used for backwards compatibilty. Setting a policy to a behavior lets newer
555-# CMake versions where some behaviors changed behave in a way or another. In our specific case,
556-# From CMake's documentation:
557-#
558-# In CMake 2.6.2 and below, CMake Policy settings in scripts loaded by
559-# the include() and find_package() commands would affect the includer.
560-# Explicit invocations of cmake_policy(PUSH) and cmake_policy(POP) were
561-# required to isolate policy changes and protect the includer. While
562-# some scripts intend to affect the policies of their includer, most do
563-# not. In CMake 2.6.3 and above, include() and find_package() by
564-# default PUSH and POP an entry on the policy stack around an included
565-# script, but provide a NO_POLICY_SCOPE option to disable it. This
566-# policy determines whether or not to imply NO_POLICY_SCOPE for
567-# compatibility. The OLD behavior for this policy is to imply
568-# NO_POLICY_SCOPE for include() and find_package() commands. The NEW
569-# behavior for this policy is to allow the commands to do their default
570-# cmake_policy PUSH and POP.
571-#
572-# This policy was introduced in CMake version 2.6.3. CMake version
573-# 2.8.2 warns when the policy is not set and uses OLD behavior. Use the
574-# cmake_policy command to set it to OLD or NEW explicitly.
575-#
576-# Whenever our cmake_minimum_required version bumps up to 2.7 or 2.6.3, this policy setting can
577-# hence be removed.
578-if(POLICY CMP0011)
579- cmake_policy(SET CMP0011 NEW)
580-endif(POLICY CMP0011)
581-
582-# Making releases:
583-# set the new version number:
584-# odd minor -> development series
585-# even minor -> stable series
586-# increment micro for each release within a series
587-# set nano_version to 0
588-# make the release, tag it
589-# set nano_version to 1
590-set(TP_QT_MAJOR_VERSION 0)
591-set(TP_QT_MINOR_VERSION 9)
592-set(TP_QT_MICRO_VERSION 3)
593-set(TP_QT_NANO_VERSION 0)
594-
595-set(PACKAGE_NAME telepathy-qt)
596-
597-if (${TP_QT_NANO_VERSION} EQUAL 0)
598- set(PACKAGE_VERSION ${TP_QT_MAJOR_VERSION}.${TP_QT_MINOR_VERSION}.${TP_QT_MICRO_VERSION})
599-else (${TP_QT_NANO_VERSION} EQUAL 0)
600- set(PACKAGE_VERSION ${TP_QT_MAJOR_VERSION}.${TP_QT_MINOR_VERSION}.${TP_QT_MICRO_VERSION}.${TP_QT_NANO_VERSION})
601-endif (${TP_QT_NANO_VERSION} EQUAL 0)
602-
603-# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is
604-# checked
605-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
606-
607-# Default build type is RelWithDebInfo for release versions and Debug for developement
608-# versions
609-if(NOT CMAKE_BUILD_TYPE)
610- if(TP_QT_NANO_VERSION EQUAL 0)
611- set(CMAKE_BUILD_TYPE RelWithDebInfo)
612- else(TP_QT_NANO_VERSION EQUAL 0)
613- set(CMAKE_BUILD_TYPE Debug)
614- endif(TP_QT_NANO_VERSION EQUAL 0)
615-endif(NOT CMAKE_BUILD_TYPE)
616-
617-# This file contains all the needed initialization macros
618-include(TelepathyDefaults)
619-
620-# This file contains all the tpqt macros used in the buildsystem
621-include(TpQtMacros)
622-
623-include(MacroLogFeature)
624-
625-# external dependencies
626-
627-# Required dependencies
628-# Find qt4 version >= 4.6 or qt5 >= 5.0.0
629-set(QT4_MIN_VERSION "4.6.0")
630-set(QT4_MAX_VERSION "5.0.0")
631-set(QT5_MIN_VERSION "5.0.0")
632-set(QT5_MAX_VERSION "6.0.0")
633-find_package(Qt REQUIRED)
634-
635-foreach(flag ${QT_CONFIG_FLAGS})
636- if (${flag} MATCHES "reduce_relocations")
637- set(TP_QT_EXECUTABLE_LINKER_FLAGS "-fPIE")
638- set(TP_QT_LIBRARY_LINKER_FLAGS "-fPIC")
639- endif (${flag} MATCHES "reduce_relocations")
640-endforeach(flag ${QT_CONFIG_FLAGS})
641-
642-# This value contains the library's SOVERSION. This value is to be increased everytime an API/ABI break
643-# occurs, and will be used for the SOVERSION of the generated shared libraries.
644-if (${QT_VERSION_MAJOR} EQUAL 4)
645- set(TP_QT_ABI_VERSION 2)
646-else (${QT_VERSION_MAJOR} EQUAL 4)
647- set(TP_QT_ABI_VERSION 0)
648-endif (${QT_VERSION_MAJOR} EQUAL 4)
649-
650-# This variable is used for the library's long version. It is generated dynamically, so don't change its
651-# value! Change TP_QT_ABI_VERSION and TP_QT_*_VERSION instead.
652-if (${TP_QT_NANO_VERSION} EQUAL 0)
653- set(TP_QT_LIBRARY_VERSION ${TP_QT_ABI_VERSION}.${TP_QT_MAJOR_VERSION}.${TP_QT_MINOR_VERSION}.${TP_QT_MICRO_VERSION})
654-else (${TP_QT_NANO_VERSION} EQUAL 0)
655- set(TP_QT_LIBRARY_VERSION ${TP_QT_ABI_VERSION}.${TP_QT_MAJOR_VERSION}.${TP_QT_MINOR_VERSION}.${TP_QT_MICRO_VERSION}.${TP_QT_NANO_VERSION})
656-endif (${TP_QT_NANO_VERSION} EQUAL 0)
657-
658-# Add an option for compiling tp-qt-service
659-option(ENABLE_EXPERIMENTAL_SERVICE_SUPPORT "Enable compilation of experimental and unstable service side bindings for Telepathy-Qt" FALSE)
660-# Add an option for compiling examples
661-option(ENABLE_EXAMPLES "Enable compilation of examples for Telepathy-Qt" TRUE)
662-# Add an option for compiling Farsight (disabled by default)
663-option(ENABLE_FARSIGHT "Enable compilation of Farsight bindings (deprecated)" FALSE)
664-# Add an option for compiling Farstream
665-option(ENABLE_FARSTREAM "Enable compilation of Farstream bindings" TRUE)
666-# Add an option for building tests
667-option(ENABLE_TESTS "Enable compilation of automated tests" TRUE)
668-
669-if (ENABLE_EXPERIMENTAL_SERVICE_SUPPORT)
670- message(STATUS "You have enabled experimental service support for Telepathy-Qt. Be aware there are no guarantees of API stability yet for service-side classes.")
671-endif (ENABLE_EXPERIMENTAL_SERVICE_SUPPORT)
672-
673-# The doxygen macro requires Qt to have been looked up to enable crosslinking
674-include(Doxygen)
675-
676-include_directories(${CMAKE_SOURCE_DIR}
677- ${CMAKE_BINARY_DIR}
678- ${QT_INCLUDES})
679-
680-add_definitions(-DQT_NO_CAST_FROM_ASCII)
681-
682-set(ENABLE_DEBUG_OUTPUT ON CACHE BOOL "If activated, compiles support for printing debug output to stderr")
683-if (ENABLE_DEBUG_OUTPUT)
684- add_definitions(-DENABLE_DEBUG)
685-endif (ENABLE_DEBUG_OUTPUT)
686-
687-# Check for Qt Glib support
688-include(CheckCXXSourceCompiles)
689-set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
690-set(CMAKE_REQUIRED_DEFINITIONS "")
691-# set the flags (-fPIE) here so that CHECK_CXX_SOURCE_COMPILES works properly if qt5 was built with
692-# -reduce-locations
693-set(CMAKE_REQUIRED_FLAGS "${TP_QT_EXECUTABLE_LINKER_FLAGS}")
694-
695-CHECK_CXX_SOURCE_COMPILES("
696-#include <QtCore/QtGlobal>
697-int main()
698-{
699-#if defined(QT_NO_GLIB)
700-#error \"Qt was compiled with Glib disabled\"
701-#endif
702-return 0;
703-}"
704-QT_GLIB_SUPPORT)
705-macro_log_feature(QT_GLIB_SUPPORT "Qt Glib Support"
706- "QtCore library using Glib's main event loop"
707- "http://qt.nokia.com/" FALSE ""
708- "Needed, together with Telepathy-Glib, to build most of the unit tests")
709-
710-# reset flags
711-set(CMAKE_REQUIRED_FLAGS "")
712-
713-# Find python version >= 2.5
714-find_package(PythonLibrary REQUIRED)
715-set(REQUIRED_PY 2.5)
716-if(${PYTHON_SHORT_VERSION} VERSION_GREATER ${REQUIRED_PY} OR ${PYTHON_SHORT_VERSION} VERSION_EQUAL ${REQUIRED_PY})
717- message(STATUS "Python ${PYTHON_SHORT_VERSION} found")
718-else(${PYTHON_SHORT_VERSION} VERSION_GREATER ${REQUIRED_PY} OR ${PYTHON_SHORT_VERSION} VERSION_EQUAL ${REQUIRED_PY})
719- message(SEND_ERROR "Python >= ${REQUIRED_PY} is required")
720-endif(${PYTHON_SHORT_VERSION} VERSION_GREATER ${REQUIRED_PY} OR ${PYTHON_SHORT_VERSION} VERSION_EQUAL ${REQUIRED_PY})
721-
722-# Check for dbus-python
723-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import dbus.mainloop.glib"
724- RESULT_VARIABLE PYTHON_DBUS_RESULT)
725-if(PYTHON_DBUS_RESULT EQUAL 0)
726- set(HAVE_TEST_PYTHON 1)
727-else(PYTHON_DBUS_RESULT EQUAL 0)
728- set(HAVE_TEST_PYTHON 0)
729-endif(PYTHON_DBUS_RESULT EQUAL 0)
730-macro_log_feature(HAVE_TEST_PYTHON "dbus-python"
731- "GLib-based Python DBus support"
732- "http://www.python.org/" FALSE ""
733- "Needed to build some additional unit tests")
734-
735-if(ENABLE_TESTS OR ENABLE_FARSTREAM OR ENABLE_FARSIGHT)
736- # Find telepathy-glib
737- set(TELEPATHY_GLIB_MIN_VERSION 0.17.5)
738- find_package(TelepathyGlib)
739- macro_log_feature(TELEPATHYGLIB_FOUND "Telepathy-glib"
740- "Glib bindings for Telepathy"
741- "http://telepathy.freedesktop.org/" FALSE ${TELEPATHY_GLIB_MIN_VERSION}
742- "Needed, together with Qt Glib integration, to build most of the unit tests")
743-
744- find_program(GLIB_GENMARSHAL glib-genmarshal)
745-
746- # Find GLib2, GObject, DBus and LibXml2
747- # Those are needed for the insane include dir dependency hell
748- find_package(GLIB2)
749- find_package(GObject)
750- find_package(GIO)
751- find_package(GIOUnix)
752- find_package(DBus)
753- find_package(DBusGLib)
754- find_package(LibXml2)
755-endif()
756-
757-if(ENABLE_FARSIGHT)
758- # Find tp-farsight
759- set(TELEPATHY_FARSIGHT_MIN_VERSION "0.0.4")
760- find_package(TelepathyFarsight)
761- macro_log_feature(TELEPATHYFARSIGHT_FOUND "Telepathy-Farsight"
762- "A Framework for dealing with audio/video conferencing protocols"
763- "http://farsight.freedesktop.org/wiki/" FALSE "${TELEPATHY_FARSIGHT_MIN_VERSION}"
764- "Needed, together with GStreamer, to build telepathy-qt-farsight and some additional examples")
765-endif()
766-
767-if(ENABLE_FARSTREAM)
768- # Find tp-farstream
769- set(FARSTREAM_MIN_VERSION "0.1.0")
770- find_package(Farstream)
771- macro_log_feature(FARSTREAM_FOUND "Farstream"
772- "A Framework for dealing with audio/video conferencing protocols"
773- "http://www.freedesktop.org/wiki/Software/Farstream" FALSE "${FARSTREAM_MIN_VERSION}"
774- "Needed, together with GStreamer and Telepathy-Farstream, to build telepathy-qt-farstream")
775-
776- # Find tp-farstream
777- set(TELEPATHY_FARSTREAM_MIN_VERSION "0.2.2")
778- find_package(TelepathyFarstream)
779- macro_log_feature(TELEPATHYFARSTREAM_FOUND "Telepathy-Farstream"
780- "A Framework for dealing with audio/video conferencing protocols"
781- "http://telepathy.freedesktop.org/wiki/" FALSE "${TELEPATHY_FARSTREAM_MIN_VERSION}"
782- "Needed, together with GStreamer and Farstream, to build telepathy-qt-farstream")
783-endif()
784-
785-if(ENABLE_FARSTREAM OR ENABLE_FARSIGHT)
786- # Find GStreamer
787- find_package(GStreamer)
788- macro_log_feature(GSTREAMER_FOUND "GStreamer"
789- "An open source multimedia framework"
790- "Needed, together with Tp-Farsight, to build telepathy-qt-farsight and some additional examples"
791- "http://www.gstreamer.net/" FALSE)
792-endif()
793-
794-# Build TelepathyQt-Farsight only if GStreamer, TelepathyFarsight and all of their dependencies were found
795-if (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND AND TELEPATHYGLIB_FOUND AND ENABLE_FARSIGHT)
796- set (FARSIGHT_COMPONENTS_FOUND 1)
797-else (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND AND TELEPATHYGLIB_FOUND AND ENABLE_FARSIGHT)
798- set (FARSIGHT_COMPONENTS_FOUND 0)
799-endif (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND AND TELEPATHYGLIB_FOUND AND ENABLE_FARSIGHT)
800-
801-# Build TelepathyQt-Farstream only if GStreamer, TelepathyFarstream and all of their dependencies were found
802-if (TELEPATHYFARSTREAM_FOUND AND FARSTREAM_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND AND TELEPATHYGLIB_FOUND AND ENABLE_FARSTREAM)
803- set (FARSTREAM_COMPONENTS_FOUND 1)
804-else (TELEPATHYFARSTREAM_FOUND AND FARSTREAM_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND AND TELEPATHYGLIB_FOUND AND ENABLE_FARSTREAM)
805- set (FARSTREAM_COMPONENTS_FOUND 0)
806-endif (TELEPATHYFARSTREAM_FOUND AND FARSTREAM_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND AND TELEPATHYGLIB_FOUND AND ENABLE_FARSTREAM)
807-
808-if (ENABLE_TESTS)
809- # Enable glib-based tests only if Qt has GLib support and Telepathy-glib was found
810- if(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
811- # Disable GLib deprecation warnings for now; GValueArray is deprecated but we
812- # need it for telepathy-glib.
813- add_definitions(-DGLIB_DISABLE_DEPRECATION_WARNINGS)
814- set(ENABLE_TP_GLIB_TESTS 1)
815- if(GIO_FOUND AND GIOUNIX_FOUND)
816- set(ENABLE_TP_GLIB_GIO_TESTS 1)
817- else(GIO_FOUND AND GIOUNIX_FOUND)
818- set(ENABLE_TP_GLIB_GIO_TESTS 0)
819- endif(GIO_FOUND AND GIOUNIX_FOUND)
820- else(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
821- set(ENABLE_TP_GLIB_TESTS 0)
822- set(ENABLE_TP_GLIB_GIO_TESTS 0)
823- endif(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
824-endif(ENABLE_TESTS)
825-
826-# Add the source subdirectories
827-add_subdirectory(TelepathyQt)
828-if(ENABLE_EXAMPLES)
829- add_subdirectory(examples)
830-endif()
831-if(ENABLE_TESTS)
832- add_subdirectory(tests)
833-endif()
834-add_subdirectory(tools)
835-
836-# Generate config.h and config-version.h
837-configure_file(${CMAKE_SOURCE_DIR}/config.h.in ${CMAKE_BINARY_DIR}/config.h)
838-configure_file(${CMAKE_SOURCE_DIR}/config-version.h.in ${CMAKE_BINARY_DIR}/config-version.h)
839-
840-# Create the uninstall target
841-configure_file(
842- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
843- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
844- IMMEDIATE @ONLY)
845-
846-add_custom_target(uninstall
847- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
848-
849-# Display the feature log
850-macro_display_feature_log()
851-
852-# Always keep it last: CPack definitions file
853-include(TelepathyDist)
854
855=== removed directory '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt'
856=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/CMakeLists.txt'
857--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/CMakeLists.txt 2013-06-06 04:56:14 +0000
858+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/CMakeLists.txt 1970-01-01 00:00:00 +0000
859@@ -1,1007 +0,0 @@
860-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/_gen")
861-
862-# Set the required flags found in TelepathyDefaults
863-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${VISIBILITY_HIDDEN_FLAGS} ${COMPILER_COVERAGE_FLAGS} ${DEPRECATED_DECLARATIONS_FLAGS}")
864-set(LD_FLAGS "${LD_FLAGS} ${VISIBILITY_HIDDEN_FLAGS} ${COMPILER_COVERAGE_FLAGS} ${DEPRECATED_DECLARATIONS_FLAGS}")
865-
866-# We are building Telepathy-Qt
867-add_definitions(-DBUILDING_TP_QT)
868-
869-# Sources for Tp-Qt
870-set(telepathy_qt_SRCS
871- abstract-client.cpp
872- abstract-interface.cpp
873- account.cpp
874- account-factory.cpp
875- account-manager.cpp
876- account-property-filter.cpp
877- account-set.cpp
878- account-set-internal.h
879- avatar.cpp
880- call-channel.cpp
881- call-content.cpp
882- call-stream.cpp
883- capabilities-base.cpp
884- call-content.cpp
885- call-content-media-description.cpp
886- call-stream.cpp
887- call-stream-endpoint.cpp
888- captcha.cpp
889- captcha-authentication.cpp
890- channel.cpp
891- channel-class-spec.cpp
892- channel-dispatcher.cpp
893- channel-dispatch-operation.cpp
894- channel-factory.cpp
895- channel-internal.h
896- channel-request.cpp
897- client.cpp
898- client-registrar.cpp
899- client-registrar-internal.h
900- connection.cpp
901- connection-capabilities.cpp
902- connection-factory.cpp
903- connection-internal.h
904- connection-manager.cpp
905- connection-manager-internal.h
906- contact.cpp
907- contact-capabilities.cpp
908- contact-factory.cpp
909- contact-manager.cpp
910- contact-manager-roster.cpp
911- contact-messenger.cpp
912- contact-search-channel.cpp
913- dbus.cpp
914- dbus-proxy.cpp
915- dbus-proxy-factory.cpp
916- dbus-proxy-factory-internal.h
917- dbus-tube-channel.cpp
918- debug.cpp
919- debug-receiver.cpp
920- debug-internal.h
921- fake-handler-manager-internal.cpp
922- fake-handler-manager-internal.h
923- feature.cpp
924- file-transfer-channel.cpp
925- file-transfer-channel-creation-properties.cpp
926- fixed-feature-factory.cpp
927- future.cpp
928- future-internal.h
929- handled-channel-notifier.cpp
930- incoming-dbus-tube-channel.cpp
931- incoming-file-transfer-channel.cpp
932- incoming-stream-tube-channel.cpp
933- key-file.cpp
934- key-file.h
935- location-info.cpp
936- manager-file.cpp
937- manager-file.h
938- media-session-handler.cpp
939- media-stream-handler.cpp
940- message.cpp
941- message-content-part.cpp
942- object.cpp
943- optional-interface-factory.cpp
944- outgoing-dbus-tube-channel.cpp
945- outgoing-file-transfer-channel.cpp
946- outgoing-stream-tube-channel.cpp
947- pending-account.cpp
948- pending-captchas.cpp
949- pending-channel.cpp
950- pending-channel-request.cpp
951- pending-channel-request-internal.h
952- pending-connection.cpp
953- pending-contact-attributes.cpp
954- pending-contact-info.cpp
955- pending-contacts.cpp
956- pending-dbus-tube-connection.cpp
957- pending-debug-message-list.cpp
958- pending-handles.cpp
959- pending-operation.cpp
960- pending-ready.cpp
961- pending-send-message.cpp
962- pending-string.cpp
963- pending-string-list.cpp
964- pending-stream-tube-connection.cpp
965- pending-variant.cpp
966- presence.cpp
967- pending-variant-map.cpp
968- profile.cpp
969- profile-manager.cpp
970- properties.cpp
971- protocol-info.cpp
972- protocol-parameter.cpp
973- readiness-helper.cpp
974- requestable-channel-class-spec.cpp
975- ready-object.cpp
976- referenced-handles.cpp
977- request-temporary-handler-internal.cpp
978- request-temporary-handler-internal.h
979- room-list-channel.cpp
980- server-authentication-channel.cpp
981- simple-call-observer.cpp
982- simple-observer.cpp
983- simple-observer-internal.h
984- simple-stream-tube-handler.cpp
985- simple-text-observer.cpp
986- simple-text-observer-internal.h
987- stream-tube-channel.cpp
988- stream-tube-client.cpp
989- stream-tube-client-internal.h
990- stream-tube-server.cpp
991- stream-tube-server-internal.h
992- streamed-media-channel.cpp
993- text-channel.cpp
994- tls-certificate.cpp
995- tube-channel.cpp
996- types.cpp
997- types-internal.h
998- utils.cpp)
999-
1000-# Exported headers for Tp-Qt
1001-set(telepathy_qt_HEADERS
1002- AbstractClient
1003- AbstractClientApprover
1004- abstract-client.h
1005- AbstractClientHandler
1006- AbstractClientObserver
1007- AbstractInterface
1008- abstract-interface.h
1009- Account
1010- account.h
1011- AccountCapabilityFilter
1012- account-capability-filter.h
1013- AccountFactory
1014- account-factory.h
1015- AccountFilter
1016- account-filter.h
1017- AccountInterface
1018- AccountInterfaceAddressingInterface
1019- AccountInterfaceAvatarInterface
1020- AccountInterfaceStorageInterface
1021- AccountManager
1022- account-manager.h
1023- AccountManagerInterface
1024- account-property-filter.h
1025- AccountPropertyFilter
1026- AccountSet
1027- account-set.h
1028- AndFilter
1029- and-filter.h
1030- AuthenticationTLSCertificateInterface
1031- AvatarData
1032- AvatarSpec
1033- avatar.h
1034- CallChannel
1035- call-channel.h
1036- Callbacks
1037- callbacks.h
1038- CallContent
1039- CallContentInterface
1040- CallContentInterfaceAudioControlInterface
1041- CallContentInterfaceDTMFInterface
1042- CallContentInterfaceMediaInterface
1043- CallContentInterfaceVideoControlInterface
1044- call-content.h
1045- CallContentMediaDescription
1046- CallContentMediaDescriptionInterface
1047- CallContentMediaDescriptionInterfaceRTCPExtendedReportsInterface
1048- CallContentMediaDescriptionInterfaceRTCPFeedbackInterface
1049- CallContentMediaDescriptionInterfaceRTPHeaderExtensionsInterface
1050- call-content-media-description.h
1051- CallStream
1052- CallStreamInterface
1053- CallStreamInterfaceMediaInterface
1054- call-stream.h
1055- CallStreamEndpoint
1056- CallStreamEndpoint
1057- CallStreamEndpointInterface
1058- call-stream-endpoint.h
1059- CapabilitiesBase
1060- capabilities-base.h
1061- Captcha
1062- captcha.h
1063- CaptchaAuthentication
1064- captcha-authentication.h
1065- Channel
1066- channel.h
1067- ChannelClassFeatures
1068- channel-class-features.h
1069- ChannelClassSpec
1070- ChannelClassSpecList
1071- channel-class-spec.h
1072- ChannelDispatcher
1073- ChannelDispatcherInterface
1074- channel-dispatcher.h
1075- ChannelDispatchOperation
1076- channel-dispatch-operation.h
1077- ChannelDispatchOperationInterface
1078- ChannelFactory
1079- channel-factory.h
1080- ChannelInterface
1081- ChannelInterfaceAnonymityInterface
1082- ChannelInterfaceCaptchaAuthenticationInterface
1083- ChannelInterfaceCallStateInterface
1084- ChannelInterfaceChatStateInterface
1085- ChannelInterfaceConferenceInterface
1086- ChannelInterfaceDestroyableInterface
1087- ChannelInterfaceDTMFInterface
1088- ChannelInterfaceFileTransferMetadataInterface
1089- ChannelInterfaceGroupInterface
1090- ChannelInterfaceHoldInterface
1091- ChannelInterfaceMediaSignallingInterface
1092- ChannelInterfaceMessagesInterface
1093- ChannelInterfacePasswordInterface
1094- ChannelInterfaceSASLAuthenticationInterface
1095- ChannelInterfaceSecurableInterface
1096- ChannelInterfaceServicePointInterface
1097- ChannelInterfaceSMSInterface
1098- ChannelInterfaceTubeInterface
1099- ChannelRequest
1100- ChannelRequestHints
1101- channel-request.h
1102- ChannelRequestInterface
1103- ChannelTypeCallInterface
1104- ChannelTypeContactListInterface
1105- ChannelTypeContactSearchInterface
1106- ChannelTypeDBusTubeInterface
1107- ChannelTypeFileTransferInterface
1108- ChannelTypeRoomListInterface
1109- ChannelTypeServerAuthenticationInterface
1110- ChannelTypeServerTLSConnectionInterface
1111- ChannelTypeStreamedMediaInterface
1112- ChannelTypeStreamTubeInterface
1113- ChannelTypeTextInterface
1114- ChannelTypeTubeInterface
1115- ChannelTypeTubesInterface
1116- Client
1117- ClientApproverInterface
1118- client.h
1119- ClientHandlerInterface
1120- ClientInterface
1121- ClientInterfaceRequestsInterface
1122- ClientObserverInterface
1123- ClientRegistrar
1124- client-registrar.h
1125- Connection
1126- ConnectionCapabilities
1127- connection-capabilities.h
1128- connection.h
1129- ConnectionFactory
1130- connection-factory.h
1131- connection-lowlevel.h
1132- ConnectionInterface
1133- ConnectionInterfaceAddressingInterface
1134- ConnectionInterfaceAliasingInterface
1135- ConnectionInterfaceAnonymityInterface
1136- ConnectionInterfaceAvatarsInterface
1137- ConnectionInterfaceBalanceInterface
1138- ConnectionInterfaceCapabilitiesInterface
1139- ConnectionInterfaceCellularInterface
1140- ConnectionInterfaceContactBlockingInterface
1141- ConnectionInterfaceClientTypesInterface
1142- ConnectionInterfaceContactCapabilitiesInterface
1143- ConnectionInterfaceContactGroupsInterface
1144- ConnectionInterfaceContactInfoInterface
1145- ConnectionInterfaceContactListInterface
1146- ConnectionInterfaceContactsInterface
1147- ConnectionInterfaceLocationInterface
1148- ConnectionInterfaceMailNotificationInterface
1149- ConnectionInterfacePowerSavingInterface
1150- ConnectionInterfacePresenceInterface
1151- ConnectionInterfaceRequestsInterface
1152- ConnectionInterfaceServicePointInterface
1153- ConnectionInterfaceSimplePresenceInterface
1154- ConnectionLowlevel
1155- ConnectionManager
1156- connection-manager.h
1157- connection-manager-lowlevel.h
1158- ConnectionManagerInterface
1159- ConnectionManagerLowlevel
1160- Constants
1161- constants.h
1162- Contact
1163- contact.h
1164- ContactCapabilities
1165- contact-capabilities.h
1166- ContactFactory
1167- contact-factory.h
1168- ContactManager
1169- contact-manager.h
1170- ContactMessenger
1171- contact-messenger.h
1172- ContactSearchChannel
1173- contact-search-channel.h
1174- DBus
1175- DBusDaemonInterface
1176- dbus.h
1177- DBusProxy
1178- dbus-proxy.h
1179- DBusProxyFactory
1180- dbus-proxy-factory.h
1181- DBusTubeChannel
1182- dbus-tube-channel.h
1183- Debug
1184- debug.h
1185- DebugReceiver
1186- debug-receiver.h
1187- Feature
1188- Features
1189- feature.h
1190- FileTransferChannel
1191- FileTransferChannelCreationProperties
1192- file-transfer-channel-creation-properties.h
1193- file-transfer-channel.h
1194- Filter
1195- filter.h
1196- FixedFeatureFactory
1197- fixed-feature-factory.h
1198- Functors
1199- functors.h
1200- GenericCapabilityFilter
1201- generic-capability-filter.h
1202- GenericPropertyFilter
1203- generic-property-filter.h
1204- Global
1205- global.h
1206- HandledChannelNotifier
1207- handled-channel-notifier.h
1208- IncomingDBusTubeChannel
1209- incoming-dbus-tube-channel.h
1210- IncomingFileTransferChannel
1211- incoming-file-transfer-channel.h
1212- IncomingStreamTubeChannel
1213- incoming-stream-tube-channel.h
1214- IntrospectableInterface
1215- LocationInfo
1216- location-info.h
1217- MediaSessionHandler
1218- media-session-handler.h
1219- MediaSessionHandlerInterface
1220- MediaStreamHandler
1221- media-stream-handler.h
1222- MediaStreamHandlerInterface
1223- Message
1224- message.h
1225- MessageContentPart
1226- MessageContentPartList
1227- message-content-part.h
1228- MethodInvocationContext
1229- method-invocation-context.h
1230- NotFilter
1231- not-filter.h
1232- Object
1233- object.h
1234- OptionalInterfaceFactory
1235- optional-interface-factory.h
1236- OrFilter
1237- or-filter.h
1238- OutgoingDBusTubeChannel
1239- outgoing-dbus-tube-channel.h
1240- OutgoingFileTransferChannel
1241- outgoing-file-transfer-channel.h
1242- OutgoingStreamTubeChannel
1243- outgoing-stream-tube-channel.h
1244- PeerInterface
1245- PendingAccount
1246- pending-account.h
1247- PendingCallContent
1248- PendingCaptchas
1249- pending-captchas.h
1250- PendingChannel
1251- pending-channel.h
1252- PendingChannelRequest
1253- pending-channel-request.h
1254- PendingComposite
1255- PendingConnection
1256- pending-connection.h
1257- PendingContactAttributes
1258- pending-contact-attributes.h
1259- PendingContactInfo
1260- pending-contact-info.h
1261- PendingContacts
1262- pending-contacts.h
1263- PendingDBusTubeConnection
1264- pending-dbus-tube-connection.h
1265- PendingDebugMessageList
1266- pending-debug-message-list.h
1267- PendingFailure
1268- PendingHandles
1269- pending-handles.h
1270- PendingOperation
1271- pending-operation.h
1272- PendingReady
1273- pending-ready.h
1274- PendingSendMessage
1275- pending-send-message.h
1276- PendingStreamedMediaStreams
1277- PendingStreamTubeConnection
1278- pending-stream-tube-connection.h
1279- PendingString
1280- pending-string.h
1281- PendingStringList
1282- pending-string-list.h
1283- PendingSuccess
1284- PendingVariant
1285- pending-variant.h
1286- PendingVariantMap
1287- pending-variant-map.h
1288- PendingVoid
1289- Presence
1290- presence.h
1291- PresenceSpec
1292- PresenceSpecList
1293- Profile
1294- profile.h
1295- ProfileManager
1296- profile-manager.h
1297- Properties
1298- properties.h
1299- PropertiesInterface
1300- PropertiesInterfaceInterface
1301- ProtocolInfo
1302- ProtocolInfoList
1303- protocol-info.h
1304- ProtocolInterface
1305- ProtocolInterfaceAddressingInterface
1306- ProtocolInterfaceAvatarsInterface
1307- ProtocolInterfacePresenceInterface
1308- ProtocolParameter
1309- ProtocolParameterList
1310- protocol-parameter.h
1311- ReadinessHelper
1312- readiness-helper.h
1313- ReadyObject
1314- ready-object.h
1315- ReceivedMessage
1316- RefCounted
1317- ReferencedHandles
1318- referenced-handles.h
1319- ReferencedHandlesIterator
1320- requestable-channel-class-spec.h
1321- RequestableChannelClassSpec
1322- RequestableChannelClassSpecList
1323- RoomListChannel
1324- room-list-channel.h
1325- ServerAuthenticationChannel
1326- server-authentication-channel.h
1327- SharedPtr
1328- shared-ptr.h
1329- SimpleCallObserver
1330- simple-call-observer.h
1331- SimpleObserver
1332- simple-observer.h
1333- simple-pending-operations.h
1334- SimpleTextObserver
1335- simple-text-observer.h
1336- StatefulDBusProxy
1337- StatelessDBusProxy
1338- StreamTubeChannel
1339- StreamTubeClient
1340- StreamTubeServer
1341- stream-tube-channel.h
1342- stream-tube-client.h
1343- stream-tube-server.h
1344- StreamedMediaChannel
1345- streamed-media-channel.h
1346- StreamedMediaStream
1347- TextChannel
1348- text-channel.h
1349- tls-certificate.h
1350- TubeChannel
1351- tube-channel.h
1352- Types
1353- types.h
1354- Utils
1355- utils.h
1356- SharedPtr)
1357-
1358-# Generated headers which will be installed and exported
1359-set(telepathy_qt_gen_HEADERS
1360- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-account.h
1361- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-account-manager.h
1362- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-call-content.h
1363- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-call-content-media-description.h
1364- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-call-stream.h
1365- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-call-stream-endpoint.h
1366- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-channel.h
1367- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-channel-dispatcher.h
1368- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-channel-dispatch-operation.h
1369- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-channel-request.h
1370- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-client.h
1371- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-connection.h
1372- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-connection-manager.h
1373- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-dbus.h
1374- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-debug-receiver.h
1375- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-media-session-handler.h
1376- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-media-stream-handler.h
1377- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-properties.h
1378- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-tls-certificate.h
1379- ${CMAKE_CURRENT_BINARY_DIR}/_gen/constants.h
1380- ${CMAKE_CURRENT_BINARY_DIR}/_gen/types.h)
1381-
1382-# Headers file moc will be run on
1383-set(telepathy_qt_MOC_SRCS
1384- abstract-interface.h
1385- account.h
1386- account-factory.h
1387- account-manager.h
1388- account-set.h
1389- account-set-internal.h
1390- call-channel.h
1391- call-content.h
1392- call-stream.h
1393- captcha-authentication.h
1394- captcha-authentication-internal.h
1395- channel.h
1396- channel-dispatch-operation.h
1397- channel-dispatch-operation-internal.h
1398- channel-factory.h
1399- channel-internal.h
1400- channel-request.h
1401- client-registrar.h
1402- client-registrar-internal.h
1403- connection.h
1404- connection-internal.h
1405- connection-lowlevel.h
1406- connection-manager.h
1407- connection-manager-internal.h
1408- connection-manager-lowlevel.h
1409- contact.h
1410- contact-manager.h
1411- contact-manager-internal.h
1412- contact-messenger.h
1413- contact-search-channel.h
1414- contact-search-channel-internal.h
1415- dbus-proxy.h
1416- dbus-proxy-factory.h
1417- dbus-proxy-factory-internal.h
1418- debug-receiver.h
1419- dbus-tube-channel.h
1420- fake-handler-manager-internal.h
1421- file-transfer-channel.h
1422- fixed-feature-factory.h
1423- handled-channel-notifier.h
1424- incoming-dbus-tube-channel.h
1425- incoming-file-transfer-channel.h
1426- incoming-stream-tube-channel.h
1427- object.h
1428- outgoing-dbus-tube-channel.h
1429- outgoing-file-transfer-channel.h
1430- outgoing-stream-tube-channel.h
1431- outgoing-stream-tube-channel-internal.h
1432- pending-account.h
1433- pending-captchas.h
1434- pending-channel.h
1435- pending-channel-request.h
1436- pending-channel-request-internal.h
1437- pending-connection.h
1438- pending-contact-attributes.h
1439- pending-contact-info.h
1440- pending-contacts.h
1441- pending-contacts-internal.h
1442- pending-dbus-tube-connection.h
1443- pending-debug-message-list.h
1444- pending-handles.h
1445- pending-operation.h
1446- pending-ready.h
1447- pending-send-message.h
1448- pending-stream-tube-connection.h
1449- pending-string.h
1450- pending-string-list.h
1451- pending-variant.h
1452- pending-variant-map.h
1453- profile-manager.h
1454- readiness-helper.h
1455- request-temporary-handler-internal.h
1456- room-list-channel.h
1457- server-authentication-channel.h
1458- simple-call-observer.h
1459- simple-pending-operations.h
1460- simple-observer.h
1461- simple-observer-internal.h
1462- simple-stream-tube-handler.h
1463- simple-text-observer.h
1464- simple-text-observer-internal.h
1465- stream-tube-channel.h
1466- stream-tube-client.h
1467- stream-tube-client-internal.h
1468- stream-tube-server.h
1469- stream-tube-server-internal.h
1470- streamed-media-channel.h
1471- text-channel.h
1472- tube-channel.h)
1473-
1474-# Sources for test library, used by tests to test some unexported functionality
1475-set(telepathy_qt_test_backdoors_SRCS
1476- key-file.cpp
1477- manager-file.cpp
1478- test-backdoors.cpp
1479- utils.cpp)
1480-
1481-# Generate the spec files for both stable and future spec
1482-set(gen_stable_spec_xml ${CMAKE_CURRENT_BINARY_DIR}/_gen/stable-spec.xml)
1483-set(gen_future_spec_xml ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-spec.xml)
1484-
1485-tpqt_xincludator(stable-ifaces-includator ${CMAKE_CURRENT_SOURCE_DIR}/stable-interfaces.xml ${gen_stable_spec_xml})
1486-tpqt_xincludator(future-ifaces-includator ${CMAKE_CURRENT_SOURCE_DIR}/future-interfaces.xml ${gen_future_spec_xml})
1487-
1488-add_custom_target(all-generated-sources)
1489-
1490-tpqt_constants_gen(stable-constants ${gen_stable_spec_xml} ${CMAKE_CURRENT_BINARY_DIR}/_gen/constants.h
1491- --namespace=Tp
1492- --define-prefix=TP_QT_
1493- --must-define=IN_TP_QT_HEADER
1494- DEPENDS stable-ifaces-includator)
1495-tpqt_constants_gen(future-constants ${gen_future_spec_xml} ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-constants.h
1496- --namespace=TpFuture
1497- --define-prefix=TP_QT_FUTURE_
1498- DEPENDS future-ifaces-includator)
1499-
1500-tpqt_types_gen(stable-typesgen ${gen_stable_spec_xml}
1501- ${CMAKE_CURRENT_BINARY_DIR}/_gen/types.h ${CMAKE_CURRENT_BINARY_DIR}/_gen/types-body.hpp
1502- Tp TelepathyQt/types.h TelepathyQt/Types
1503- --must-define=IN_TP_QT_HEADER
1504- --visibility=TP_QT_EXPORT
1505- DEPENDS stable-constants)
1506-tpqt_types_gen(future-typesgen ${gen_future_spec_xml}
1507- ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-types.h ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-types-body.hpp
1508- TpFuture TelepathyQt/future-internal.h TelepathyQt/future-internal.h
1509- DEPENDS future-constants)
1510-
1511-# Add the generated types to the library's sources
1512-list(APPEND telepathy_qt_SRCS ${CMAKE_CURRENT_BINARY_DIR}/_gen/types.h)
1513-list(APPEND telepathy_qt_SRCS ${CMAKE_CURRENT_BINARY_DIR}/_gen/types-body.hpp)
1514-list(APPEND telepathy_qt_SRCS ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-constants.h)
1515-list(APPEND telepathy_qt_SRCS ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-types.h)
1516-list(APPEND telepathy_qt_SRCS ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-types-body.hpp)
1517-
1518-# For each spec, both stable and future, generate a cli file and add it to the sources (including mocs).
1519-set(SPECS
1520- account
1521- account-manager
1522- call-content
1523- call-content-media-description
1524- call-stream
1525- call-stream-endpoint
1526- channel
1527- channel-dispatcher
1528- channel-dispatch-operation
1529- channel-request
1530- client
1531- connection
1532- connection-manager
1533- dbus
1534- debug-receiver
1535- media-session-handler
1536- media-stream-handler
1537- properties
1538- tls-certificate)
1539-foreach(spec ${SPECS})
1540- tpqt_xincludator(${spec}-spec-xincludator ${CMAKE_CURRENT_SOURCE_DIR}/${spec}.xml ${CMAKE_CURRENT_BINARY_DIR}/_gen/spec-${spec}.xml
1541- DEPENDS stable-typesgen)
1542- set(NEW_FILES
1543- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-${spec}-body.hpp
1544- ${CMAKE_CURRENT_BINARY_DIR}/_gen/cli-${spec}.moc.hpp)
1545- list(APPEND telepathy_qt_SRCS ${NEW_FILES})
1546- list(APPEND telepathy_qt_generated_specs_mocs "moc-cli-${spec}.moc.hpp")
1547- set_source_files_properties(${NEW_FILES} PROPERTIES GENERATED true)
1548-endforeach(spec ${SPECS})
1549-
1550-set(FUTURE_SPECS
1551- channel
1552- channel-dispatcher
1553- misc)
1554-foreach(spec ${FUTURE_SPECS})
1555- tpqt_xincludator(${spec}-future-xincludator ${CMAKE_CURRENT_SOURCE_DIR}/future-${spec}.xml ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-${spec}.xml
1556- DEPENDS stable-typesgen future-typesgen)
1557- set(NEW_FILES
1558- ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-${spec}.h
1559- ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-${spec}-body.hpp
1560- ${CMAKE_CURRENT_BINARY_DIR}/_gen/future-${spec}.moc.hpp)
1561- list(APPEND telepathy_qt_SRCS ${NEW_FILES})
1562- list(APPEND telepathy_qt_generated_specs_mocs "moc-future-${spec}.moc.hpp")
1563- set_source_files_properties(${NEW_FILES} PROPERTIES GENERATED true)
1564-endforeach(spec ${FUTURE_SPECS})
1565-
1566-# The escape character in MSVC is ^
1567-if(MSVC)
1568- set(TYPES_INCLUDE ^<TelepathyQt/Types^> )
1569-else(MSVC)
1570- set(TYPES_INCLUDE '<TelepathyQt/Types>' )
1571-endif(MSVC)
1572-
1573-# Use the client generator for generating headers out of specs
1574-tpqt_client_generator(account clientaccount AccountManager Tp::Client --mainiface=Tp::Client::AccountInterface DEPENDS account-spec-xincludator)
1575-tpqt_client_generator(account-manager clientam AccountManager Tp::Client --mainiface=Tp::Client::AccountManagerInterface DEPENDS account-manager-spec-xincludator)
1576-tpqt_client_generator(call-content clientcall CallContent Tp::Client --mainiface=Tp::Client::CallContentInterface DEPENDS call-content-spec-xincludator)
1577-tpqt_client_generator(call-content-media-description clientcall CallContentMediaDescriptionInterface Tp::Client --mainiface=Tp::Client::CallContentMediaDescriptionInterface DEPENDS call-content-media-description-spec-xincludator)
1578-tpqt_client_generator(call-stream clientcall CallStream Tp::Client --mainiface=Tp::Client::CallStreamInterface DEPENDS call-stream-spec-xincludator)
1579-tpqt_client_generator(call-stream-endpoint clientcall CallStreamEndpoint Tp::Client --mainiface=Tp::Client::CallStreamEndpointInterface DEPENDS call-stream-endpoint-spec-xincludator)
1580-tpqt_client_generator(channel clientchannel Channel Tp::Client --mainiface=Tp::Client::ChannelInterface DEPENDS channel-spec-xincludator)
1581-tpqt_client_generator(channel-dispatcher clientchanneldispatcher ChannelDispatcher Tp::Client --mainiface=Tp::Client::ChannelDispatcherInterface DEPENDS channel-dispatcher-spec-xincludator)
1582-tpqt_client_generator(channel-dispatch-operation clientchanneldispatchoperation ChannelDispatchOperation Tp::Client --mainiface=Tp::Client::ChannelDispatchOperationInterface DEPENDS channel-dispatch-operation-spec-xincludator)
1583-tpqt_client_generator(channel-request clientchannelrequest ChannelRequest Tp::Client --mainiface=Tp::Client::ChannelRequestInterface DEPENDS channel-request-spec-xincludator)
1584-tpqt_client_generator(client clientclient Client Tp::Client --mainiface=Tp::Client::ClientInterface DEPENDS client-spec-xincludator)
1585-tpqt_client_generator(connection clientconn Connection Tp::Client --mainiface=Tp::Client::ConnectionInterface DEPENDS connection-spec-xincludator)
1586-tpqt_client_generator(connection-manager clientcm ConnectionManager Tp::Client --mainiface=Tp::Client::ConnectionManagerInterface DEPENDS connection-manager-spec-xincludator)
1587-tpqt_client_generator(dbus clientdbus DBus Tp::Client::DBus DEPENDS dbus-spec-xincludator)
1588-tpqt_client_generator(debug-receiver clientdebug DebugReceiver Tp::Client --mainiface=Tp::Client::DebugInterface DEPENDS debug-receiver-spec-xincludator)
1589-tpqt_client_generator(media-session-handler clientmsesh MediaSessionHandler Tp::Client --mainiface=Tp::Client::MediaSessionHandlerInterface DEPENDS media-session-handler-spec-xincludator)
1590-tpqt_client_generator(media-stream-handler clientmstrh MediaStreamHandler Tp::Client --mainiface=Tp::Client::MediaStreamHandlerInterface DEPENDS media-stream-handler-spec-xincludator)
1591-tpqt_client_generator(properties clientprops Properties Tp::Client DEPENDS properties-spec-xincludator)
1592-tpqt_client_generator(tls-certificate clienttls TLSCertificate Tp::Client DEPENDS tls-certificate-spec-xincludator)
1593-
1594-tpqt_future_client_generator(channel TpFuture::Client --mainiface=Tp::Client::ChannelInterface DEPENDS channel-future-xincludator)
1595-tpqt_future_client_generator(channel-dispatcher TpFuture::Client --mainiface=Tp::Client::ChannelDispatcherInterface DEPENDS channel-dispatcher-future-xincludator)
1596-tpqt_future_client_generator(misc TpFuture::Client DEPENDS misc-future-xincludator)
1597-
1598-if (TARGET doxygen-doc)
1599- add_dependencies(doxygen-doc all-generated-sources)
1600-endif (TARGET doxygen-doc)
1601-
1602-# Create the library
1603-if (ENABLE_COMPILER_COVERAGE)
1604- add_library(telepathy-qt${QT_VERSION_MAJOR} STATIC ${telepathy_qt_SRCS})
1605-else (ENABLE_COMPILER_COVERAGE)
1606- add_library(telepathy-qt${QT_VERSION_MAJOR} SHARED ${telepathy_qt_SRCS})
1607-endif (ENABLE_COMPILER_COVERAGE)
1608-
1609-# Library used by tests to test some unexported functionality
1610-add_library(telepathy-qt-test-backdoors STATIC ${telepathy_qt_test_backdoors_SRCS})
1611-add_dependencies(telepathy-qt-test-backdoors stable-constants)
1612-add_dependencies(telepathy-qt-test-backdoors stable-typesgen)
1613-
1614-# generate client moc files
1615-foreach(moc_src ${telepathy_qt_MOC_SRCS})
1616- set(generated_file _gen/${moc_src})
1617- string(REPLACE ".h" ".moc.hpp" generated_file ${generated_file})
1618- tpqt_generate_moc_i_target_deps(${CMAKE_CURRENT_SOURCE_DIR}/${moc_src} ${CMAKE_CURRENT_BINARY_DIR}/${generated_file}
1619- ${telepathy_qt_generated_specs_mocs})
1620- list(APPEND telepathy_qt_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${generated_file})
1621- string(REPLACE ".h" ".moc.hpp" moc_src ${moc_src})
1622- add_dependencies(telepathy-qt${QT_VERSION_MAJOR} "moc-${moc_src}")
1623-endforeach(moc_src ${telepathy_qt_MOC_SRCS})
1624-
1625-# Link
1626-target_link_libraries(telepathy-qt${QT_VERSION_MAJOR}
1627- ${QT_QTCORE_LIBRARY}
1628- ${QT_QTDBUS_LIBRARY}
1629- ${QT_QTNETWORK_LIBRARY}
1630- ${QT_QTXML_LIBRARY}
1631- ${TP_QT_LIBRARY_LINKER_FLAGS})
1632-
1633-# Link - Library used by tests to test some unexported functionality
1634-target_link_libraries(telepathy-qt-test-backdoors
1635- ${QT_QTCORE_LIBRARY}
1636- ${QT_QTDBUS_LIBRARY}
1637- ${QT_QTNETWORK_LIBRARY}
1638- ${QT_QTXML_LIBRARY}
1639- ${TP_QT_LIBRARY_LINKER_FLAGS})
1640-
1641-if (ENABLE_COMPILER_COVERAGE)
1642- target_link_libraries(telepathy-qt${QT_VERSION_MAJOR} gcov)
1643- target_link_libraries(telepathy-qt-test-backdoors gcov)
1644-endif (ENABLE_COMPILER_COVERAGE)
1645-
1646-# Set the correct version number
1647-set_target_properties(telepathy-qt${QT_VERSION_MAJOR} PROPERTIES
1648- SOVERSION ${TP_QT_ABI_VERSION}
1649- VERSION ${TP_QT_LIBRARY_VERSION})
1650-
1651-
1652-# Install header files
1653-install(FILES ${telepathy_qt_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}/TelepathyQt COMPONENT headers)
1654-install(FILES ${telepathy_qt_gen_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}/TelepathyQt/_gen COMPONENT headers)
1655-
1656-# Install the library - watch out for the correct components
1657-if (WIN32)
1658- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}
1659- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1660- RUNTIME DESTINATION ${LIB_INSTALL_DIR} COMPONENT mainlibrary
1661- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT libs)
1662-else (WIN32)
1663- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}
1664- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1665- LIBRARY DESTINATION ${LIB_INSTALL_DIR} COMPONENT mainlibrary
1666- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT libs)
1667-endif (WIN32)
1668-
1669-# pkg-config files, only if we are not using windows
1670-if (NOT WIN32)
1671- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQt.pc.in ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}.pc)
1672- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQt-uninstalled.pc.in ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}-uninstalled.pc)
1673- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig COMPONENT pkgconfig)
1674-endif (NOT WIN32)
1675-
1676-# CMake Version and config files
1677-include(MacroWriteBasicCMakeVersionFile)
1678-
1679-# all the following variables are put into TelepathyQt*Config.cmake, so
1680-# they are usable by projects using TelepathyQt.
1681-make_install_path_absolute(TELEPATHY_QT_INCLUDE_DIR ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR})
1682-make_install_path_absolute(TELEPATHY_QT_LIB_DIR ${LIB_INSTALL_DIR})
1683-make_install_path_absolute(TELEPATHY_QT_DATA_DIR ${DATA_INSTALL_DIR})
1684-
1685-# Configure the actual Config file
1686-configure_file(TelepathyQtConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Config.cmake" @ONLY)
1687-
1688-# this file is used by to check if the installed version can be used.
1689-macro_write_basic_cmake_version_file(${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}ConfigVersion.cmake
1690- ${PACKAGE_VERSION})
1691-
1692-# Find out the correct installation directory
1693-if (USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1694- set(_TelepathyQtConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/TelepathyQt${QT_VERSION_MAJOR})
1695-else (USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1696- set(_TelepathyQtConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/TelepathyQt${QT_VERSION_MAJOR}/cmake)
1697-endif (USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1698-
1699-install(EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1700- DESTINATION ${_TelepathyQtConfig_INSTALL_DIR}
1701- COMPONENT headers)
1702-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}ConfigVersion.cmake
1703- ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Config.cmake
1704- DESTINATION ${_TelepathyQtConfig_INSTALL_DIR}
1705- COMPONENT headers)
1706-
1707-add_subdirectory(Farsight)
1708-add_subdirectory(Farstream)
1709-
1710-if(ENABLE_EXPERIMENTAL_SERVICE_SUPPORT)
1711- # lets build tp-qt service side support as a separate library until we can guarantee API/ABI
1712- # stability
1713- set(telepathy_qt_service_SRCS
1714- base-connection-manager.cpp
1715- base-connection.cpp
1716- base-protocol.cpp
1717- dbus-error.cpp
1718- dbus-object.cpp
1719- dbus-service.cpp
1720- abstract-adaptor.cpp)
1721-
1722- set(telepathy_qt_service_HEADERS
1723- AbstractAdaptor
1724- abstract-adaptor.h
1725- AbstractDBusServiceInterface
1726- AbstractProtocolInterface
1727- BaseConnectionManager
1728- base-connection-manager.h
1729- BaseConnection
1730- base-connection.h
1731- BaseProtocol
1732- BaseProtocolAddressingInterface
1733- BaseProtocolAvatarsInterface
1734- BaseProtocolPresenceInterface
1735- base-protocol.h
1736- DBusError
1737- dbus-error.h
1738- DBusObject
1739- dbus-object.h
1740- DBusService
1741- dbus-service.h
1742- ServiceTypes
1743- service-types.h)
1744-
1745- # Generated headers which will be installed and exported
1746- set(telepathy_qt_service_gen_HEADERS
1747- ${CMAKE_CURRENT_BINARY_DIR}/_gen/svc-channel.h
1748- ${CMAKE_CURRENT_BINARY_DIR}/_gen/svc-connection.h
1749- ${CMAKE_CURRENT_BINARY_DIR}/_gen/svc-connection-manager.h)
1750-
1751- # Headers file moc will be run on
1752- set(telepathy_qt_service_MOC_SRCS
1753- abstract-adaptor.h
1754- base-connection-manager.h
1755- base-connection-manager-internal.h
1756- base-connection.h
1757- base-connection-internal.h
1758- base-protocol.h
1759- base-protocol-internal.h
1760- dbus-object.h
1761- dbus-service.h)
1762-
1763- add_custom_target(all-generated-service-sources)
1764-
1765- set(SPECS
1766- svc-channel
1767- svc-connection
1768- svc-connection-manager)
1769- foreach(spec ${SPECS})
1770- tpqt_xincludator(${spec}-spec-xincludator ${CMAKE_CURRENT_SOURCE_DIR}/${spec}.xml ${CMAKE_CURRENT_BINARY_DIR}/_gen/spec-${spec}.xml
1771- DEPENDS stable-typesgen)
1772- set(NEW_FILES
1773- ${CMAKE_CURRENT_BINARY_DIR}/_gen/${spec}.h
1774- ${CMAKE_CURRENT_BINARY_DIR}/_gen/${spec}.cpp
1775- ${CMAKE_CURRENT_BINARY_DIR}/_gen/${spec}.moc.hpp)
1776- list(APPEND telepathy_qt_service_SRCS ${NEW_FILES})
1777- list(APPEND telepathy_qt_service_generated_specs_mocs "moc-${spec}.moc.hpp")
1778- set_source_files_properties(${NEW_FILES} PROPERTIES GENERATED true)
1779- endforeach(spec ${SPECS})
1780-
1781- tpqt_service_generator(svc-channel servicechannel Channel Tp::Service DEPENDS svc-channel-spec-xincludator)
1782- tpqt_service_generator(svc-connection serviceconn Connection Tp::Service DEPENDS svc-connection-spec-xincludator)
1783- tpqt_service_generator(svc-connection-manager servicecm ConnectionManager Tp::Service DEPENDS svc-connection-manager-spec-xincludator)
1784-
1785- if (TARGET doxygen-doc)
1786- add_dependencies(doxygen-doc all-generated-service-sources)
1787- endif (TARGET doxygen-doc)
1788-
1789- # Create the library
1790- #if (ENABLE_COMPILER_COVERAGE)
1791- # add_library(telepathy-qt${QT_VERSION_MAJOR}-service STATIC ${telepathy_qt_service_SRCS})
1792- #else (ENABLE_COMPILER_COVERAGE)
1793- # add_library(telepathy-qt${QT_VERSION_MAJOR}-service SHARED ${telepathy_qt_service_SRCS})
1794- #endif (ENABLE_COMPILER_COVERAGE)
1795- # lets build a static only library until we have a stable API/ABI
1796- add_library(telepathy-qt${QT_VERSION_MAJOR}-service STATIC ${telepathy_qt_service_SRCS})
1797-
1798- # generate service moc files
1799- foreach(moc_src ${telepathy_qt_service_MOC_SRCS})
1800- set(generated_file _gen/${moc_src})
1801- string(REPLACE ".h" ".moc.hpp" generated_file ${generated_file})
1802- tpqt_generate_moc_i_target_deps(${CMAKE_CURRENT_SOURCE_DIR}/${moc_src}
1803- ${CMAKE_CURRENT_BINARY_DIR}/${generated_file}
1804- ${telepathy_qt_service_generated_specs_mocs})
1805- list(APPEND telepathy_qt_service_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${generated_file})
1806- string(REPLACE ".h" ".moc.hpp" moc_src ${moc_src})
1807- add_dependencies(telepathy-qt${QT_VERSION_MAJOR}-service "moc-${moc_src}")
1808- endforeach(moc_src ${telepathy_qt_service_MOC_SRCS})
1809-
1810- # Link
1811- target_link_libraries(telepathy-qt${QT_VERSION_MAJOR}-service
1812- ${QT_QTDBUS_LIBRARY}
1813- ${QT_QTCORE_LIBRARY}
1814- telepathy-qt${QT_VERSION_MAJOR}
1815- ${TP_QT_LIBRARY_LINKER_FLAGS})
1816-
1817- # Set the correct version number
1818- set_target_properties(telepathy-qt${QT_VERSION_MAJOR}-service PROPERTIES
1819- SOVERSION ${TP_QT_ABI_VERSION}
1820- VERSION ${TP_QT_LIBRARY_VERSION})
1821-
1822- # Install the library - watch out for the correct components
1823- if (WIN32)
1824- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}-service
1825- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1826- RUNTIME DESTINATION ${LIB_INSTALL_DIR} COMPONENT service
1827- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT service_libs)
1828- else (WIN32)
1829- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}-service
1830- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1831- LIBRARY DESTINATION ${LIB_INSTALL_DIR} COMPONENT service
1832- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT service_libs)
1833- endif (WIN32)
1834-
1835- # Install headers
1836- install(FILES ${telepathy_qt_service_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}/TelepathyQt
1837- COMPONENT service_headers)
1838- install(FILES ${telepathy_qt_service_gen_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}/TelepathyQt/_gen
1839- COMPONENT service_headers)
1840-
1841- # pkg-config files, only if not on windows
1842- if (NOT WIN32)
1843- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQtService.pc.in ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Service.pc)
1844- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQtService-uninstalled.pc.in ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Service-uninstalled.pc)
1845- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Service.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig COMPONENT pkgconfig)
1846- endif (NOT WIN32)
1847-
1848- # Configure the actual Config file
1849- configure_file(TelepathyQtServiceConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}ServiceConfig.cmake" @ONLY)
1850-
1851- # this file is used by to check if the installed version can be used.
1852- macro_write_basic_cmake_version_file(${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}ServiceConfigVersion.cmake
1853- ${PACKAGE_VERSION})
1854-
1855- if(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1856- set(_TelepathyQtServiceConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/TelepathyQt${QT_VERSION_MAJOR}Service)
1857- else(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1858- set(_TelepathyQtServiceConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/TelepathyQt${QT_VERSION_MAJOR}Service/cmake)
1859- endif(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1860-
1861- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}ServiceConfigVersion.cmake
1862- ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}ServiceConfig.cmake
1863- DESTINATION ${_TelepathyQtServiceConfig_INSTALL_DIR}
1864- COMPONENT headers)
1865-
1866-endif(ENABLE_EXPERIMENTAL_SERVICE_SUPPORT)
1867
1868=== removed directory '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight'
1869=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/CMakeLists.txt'
1870--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/CMakeLists.txt 2013-06-06 04:56:14 +0000
1871+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/CMakeLists.txt 1970-01-01 00:00:00 +0000
1872@@ -1,83 +0,0 @@
1873-if(FARSIGHT_COMPONENTS_FOUND)
1874- include_directories(${TELEPATHY_FARSIGHT_INCLUDE_DIR}
1875- ${GSTREAMER_INCLUDE_DIR}
1876- ${GLIB2_INCLUDE_DIR}
1877- ${LIBXML2_INCLUDE_DIR}
1878- ${DBUS_INCLUDE_DIR})
1879-
1880- # It gets inherited from the previous directory, hence it has to be removed explicitely
1881- remove_definitions(-DBUILDING_TP_QT)
1882- # We are building Telepathy-Qt-Farsight
1883- add_definitions(-DBUILDING_TP_QT_FARSIGHT -DQT_NO_KEYWORDS)
1884-
1885- set(telepathy_qt_farsight_SRCS
1886- channel.cpp)
1887-
1888- set(telepathy_qt_farsight_HEADERS
1889- Channel
1890- channel.h
1891- global.h)
1892-
1893- # Create the library
1894- if (ENABLE_COMPILER_COVERAGE)
1895- add_library(telepathy-qt${QT_VERSION_MAJOR}-farsight STATIC ${telepathy_qt_farsight_SRCS})
1896- else (ENABLE_COMPILER_COVERAGE)
1897- add_library(telepathy-qt${QT_VERSION_MAJOR}-farsight SHARED ${telepathy_qt_farsight_SRCS})
1898- endif (ENABLE_COMPILER_COVERAGE)
1899- # Link
1900- target_link_libraries(telepathy-qt${QT_VERSION_MAJOR}-farsight
1901- ${QT_QTDBUS_LIBRARY}
1902- ${QT_QTCORE_LIBRARY}
1903- ${TELEPATHY_FARSIGHT_LIBRARIES}
1904- ${GSTREAMER_INTERFACE_LIBRARY}
1905- telepathy-qt${QT_VERSION_MAJOR}
1906- ${TP_QT_LIBRARY_LINKER_FLAGS})
1907-
1908- # Set the correct version number
1909- set_target_properties(telepathy-qt${QT_VERSION_MAJOR}-farsight PROPERTIES
1910- SOVERSION ${TP_QT_ABI_VERSION}
1911- VERSION ${TP_QT_LIBRARY_VERSION})
1912-
1913- # Install the library - watch out for the correct components
1914- if (WIN32)
1915- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}-farsight
1916- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1917- RUNTIME DESTINATION ${LIB_INSTALL_DIR} COMPONENT farsight
1918- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT farsight_libs)
1919- else (WIN32)
1920- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}-farsight
1921- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
1922- LIBRARY DESTINATION ${LIB_INSTALL_DIR} COMPONENT farsight
1923- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT farsight_libs)
1924- endif (WIN32)
1925-
1926- # Install headers
1927- install(FILES ${telepathy_qt_farsight_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}/TelepathyQt/Farsight
1928- COMPONENT farsight_headers)
1929-
1930- # pkg-config files, only if not on windows
1931- if (NOT WIN32)
1932- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQtFarsight.pc.in ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farsight.pc)
1933- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQtFarsight-uninstalled.pc.in ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farsight-uninstalled.pc)
1934- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farsight.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig COMPONENT pkgconfig)
1935- endif (NOT WIN32)
1936-
1937- # Configure the actual Config file
1938- configure_file(TelepathyQtFarsightConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarsightConfig.cmake" @ONLY)
1939-
1940- # this file is used by to check if the installed version can be used.
1941- macro_write_basic_cmake_version_file(${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarsightConfigVersion.cmake
1942- ${PACKAGE_VERSION})
1943-
1944- if(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1945- set(_TelepathyQtFarsightConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/TelepathyQt${QT_VERSION_MAJOR}Farsight)
1946- else(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1947- set(_TelepathyQtFarsightConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farsight/cmake)
1948- endif(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
1949-
1950- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarsightConfigVersion.cmake
1951- ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarsightConfig.cmake
1952- DESTINATION ${_TelepathyQtFarsightConfig_INSTALL_DIR}
1953- COMPONENT headers)
1954-
1955-endif(FARSIGHT_COMPONENTS_FOUND)
1956
1957=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight-uninstalled.pc.in'
1958--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight-uninstalled.pc.in 2013-06-06 04:56:14 +0000
1959+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight-uninstalled.pc.in 1970-01-01 00:00:00 +0000
1960@@ -1,11 +0,0 @@
1961-prefix=/nonexistent
1962-exec_prefix=/nonexistent
1963-abs_top_builddir=${CMAKE_BINARY_DIR}
1964-abs_top_srcdir=${CMAKE_SOURCE_DIR}
1965-
1966-Name: TelepathyQt${QT_VERSION_MAJOR}Farsight (uninstalled copy)
1967-Description: Qt Telepathy Farsight utility library for the Telepathy framework
1968-Version: ${PACKAGE_VERSION}
1969-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, telepathy-glib >= ${TELEPATHY_GLIB_MIN_VERSION}, telepathy-farsight >= ${TELEPATHY_FARSIGHT_MIN_VERSION}, TelepathyQt${QT_VERSION_MAJOR} = ${PACKAGE_VERSION}
1970-Libs: ${CMAKE_BINARY_DIR}/TelepathyQt/Farsight/libtelepathy-qt${QT_VERSION_MAJOR}-farsight.so
1971-Cflags: -I${CMAKE_SOURCE_DIR} -I${CMAKE_BINARY_DIR}
1972
1973=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight.pc.in'
1974--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight.pc.in 2013-06-06 04:56:14 +0000
1975+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsight.pc.in 1970-01-01 00:00:00 +0000
1976@@ -1,11 +0,0 @@
1977-prefix=${CMAKE_INSTALL_PREFIX}
1978-exec_prefix=${CMAKE_INSTALL_PREFIX}
1979-libdir=${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}
1980-includedir=${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}
1981-
1982-Name: TelepathyQt${QT_VERSION_MAJOR}Farsight
1983-Description: Qt Telepathy Farsight utility library for the Telepathy framework
1984-Version: ${PACKAGE_VERSION}
1985-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, telepathy-glib >= ${TELEPATHY_GLIB_MIN_VERSION}, telepathy-farsight >= ${TELEPATHY_FARSIGHT_MIN_VERSION}, TelepathyQt${QT_VERSION_MAJOR} = ${PACKAGE_VERSION}
1986-Libs: -L${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR} -ltelepathy-qt${QT_VERSION_MAJOR}-farsight
1987-Cflags: -I${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}
1988
1989=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsightConfig.cmake.in'
1990--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsightConfig.cmake.in 2013-06-06 04:56:14 +0000
1991+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/TelepathyQtFarsightConfig.cmake.in 1970-01-01 00:00:00 +0000
1992@@ -1,24 +0,0 @@
1993-# TelepathyQt@QT_VERSION_MAJOR@FarsightConfig.cmake is generated by CMake from TelepathyQt/TelepathyQtFarsightConfig.cmake.in.
1994-# Any changed value in this file will be overwritten by CMake.
1995-
1996-if(NOT TelepathyQt@QT_VERSION_MAJOR@Farsight_FOUND)
1997- # set the version number
1998- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_VERSION_MAJOR @TP_QT_MAJOR_VERSION@)
1999- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_VERSION_MINOR @TP_QT_MINOR_VERSION@)
2000- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_VERSION_MICRO @TP_QT_MICRO_VERSION@)
2001- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_VERSION_NANO @TP_QT_NANO_VERSION@)
2002- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_VERSION @PACKAGE_VERSION@)
2003-
2004- # set the directories
2005- if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_INSTALL_DIR)
2006- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@")
2007- endif(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_INSTALL_DIR)
2008-
2009- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_INCLUDE_DIR "@TELEPATHY_QT_INCLUDE_DIR@")
2010- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_LIB_DIR "@TELEPATHY_QT_LIB_DIR@")
2011- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_SHARE_DIR "@TELEPATHY_QT_DATA_DIR@")
2012-
2013- find_package(TelepathyQt@QT_VERSION_MAJOR@ REQUIRED)
2014-
2015- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSIGHT_LIBRARIES telepathy-qt@QT_VERSION_MAJOR@-farsight)
2016-endif(NOT TelepathyQt@QT_VERSION_MAJOR@Farsight_FOUND)
2017
2018=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/channel.cpp'
2019--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/channel.cpp 2013-06-06 04:56:14 +0000
2020+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farsight/channel.cpp 1970-01-01 00:00:00 +0000
2021@@ -1,98 +0,0 @@
2022-/**
2023- * This file is part of TelepathyQt
2024- *
2025- * @copyright Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
2026- * @copyright Copyright (C) 2009 Nokia Corporation
2027- * @license LGPL 2.1
2028- *
2029- * This library is free software; you can redistribute it and/or
2030- * modify it under the terms of the GNU Lesser General Public
2031- * License as published by the Free Software Foundation; either
2032- * version 2.1 of the License, or (at your option) any later version.
2033- *
2034- * This library is distributed in the hope that it will be useful,
2035- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2036- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2037- * Lesser General Public License for more details.
2038- *
2039- * You should have received a copy of the GNU Lesser General Public
2040- * License along with this library; if not, write to the Free Software
2041- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2042- */
2043-
2044-#include <TelepathyQt/Farsight/Channel>
2045-
2046-#include "TelepathyQt/debug-internal.h"
2047-
2048-#include <TelepathyQt/Channel>
2049-#include <TelepathyQt/Connection>
2050-#include <TelepathyQt/StreamedMediaChannel>
2051-
2052-#include <telepathy-glib/automatic-client-factory.h>
2053-#include <telepathy-glib/channel.h>
2054-#include <telepathy-glib/connection.h>
2055-#include <telepathy-glib/dbus.h>
2056-
2057-#include <telepathy-farsight/channel.h>
2058-
2059-namespace Tp
2060-{
2061-
2062-TfChannel *createFarsightChannel(const StreamedMediaChannelPtr &channel)
2063-{
2064- if (!channel->handlerStreamingRequired()) {
2065- warning() << "Handler streaming not required";
2066- return 0;
2067- }
2068-
2069- TpDBusDaemon *dbus = tp_dbus_daemon_dup(0);
2070-
2071- if (!dbus) {
2072- warning() << "Unable to connect to D-Bus";
2073- return 0;
2074- }
2075-
2076- ConnectionPtr connection = channel->connection();
2077-
2078- TpSimpleClientFactory *factory = (TpSimpleClientFactory *)
2079- tp_automatic_client_factory_new (dbus);
2080- if (!factory) {
2081- warning() << "Unable to construct TpAutomaticClientFactory";
2082- g_object_unref(dbus);
2083- return 0;
2084- }
2085-
2086- TpConnection *gconnection = tp_simple_client_factory_ensure_connection (factory,
2087- connection->objectPath().toAscii(), NULL, 0);
2088- g_object_unref(factory);
2089- factory = 0;
2090- g_object_unref(dbus);
2091- dbus = 0;
2092-
2093- if (!gconnection) {
2094- warning() << "Unable to construct TpConnection";
2095- return 0;
2096- }
2097-
2098- TpChannel *gchannel = tp_channel_new(gconnection,
2099- channel->objectPath().toAscii(),
2100- TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA.latin1(),
2101- (TpHandleType) channel->targetHandleType(),
2102- channel->targetHandle(),
2103- 0);
2104- g_object_unref(gconnection);
2105- gconnection = 0;
2106-
2107- if (!gchannel) {
2108- warning() << "Unable to construct TpChannel";
2109- return 0;
2110- }
2111-
2112- TfChannel *ret = tf_channel_new(gchannel);
2113- g_object_unref(gchannel);
2114- gchannel = 0;
2115-
2116- return ret;
2117-}
2118-
2119-} // Tp
2120
2121=== removed directory '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream'
2122=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/CMakeLists.txt'
2123--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/CMakeLists.txt 2013-06-06 04:56:14 +0000
2124+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/CMakeLists.txt 1970-01-01 00:00:00 +0000
2125@@ -1,105 +0,0 @@
2126-if(FARSTREAM_COMPONENTS_FOUND)
2127- include_directories(${TELEPATHY_FARSTREAM_INCLUDE_DIR}
2128- ${TELEPATHY_GLIB_INCLUDE_DIR}
2129- ${FARSTREAM_INCLUDE_DIR}
2130- ${GSTREAMER_INCLUDE_DIR}
2131- ${GLIB2_INCLUDE_DIR}
2132- ${LIBXML2_INCLUDE_DIR}
2133- ${DBUS_INCLUDE_DIR})
2134-
2135- # It gets inherited from the previous directory, hence it has to be removed explicitely
2136- remove_definitions(-DBUILDING_TP_QT)
2137- # We are building Telepathy-Qt-Farstream
2138- add_definitions(-DBUILDING_TP_QT_FARSTREAM -DQT_NO_KEYWORDS)
2139-
2140- set(telepathy_qt_farstream_SRCS
2141- channel.cpp)
2142-
2143- set(telepathy_qt_farstream_HEADERS
2144- Channel
2145- channel.h
2146- Global
2147- global.h
2148- PendingChannel)
2149-
2150- set(telepathy_qt_farstream_MOC_SRCS
2151- channel.h)
2152-
2153- # generate client moc files
2154- tpqt_generate_mocs(${telepathy_qt_farstream_MOC_SRCS})
2155-
2156- # Create the library
2157- if (ENABLE_COMPILER_COVERAGE)
2158- add_library(telepathy-qt${QT_VERSION_MAJOR}-farstream STATIC
2159- ${telepathy_qt_farstream_SRCS} ${telepathy_qt_farstream_MOC_SRCS})
2160- else (ENABLE_COMPILER_COVERAGE)
2161- add_library(telepathy-qt${QT_VERSION_MAJOR}-farstream SHARED
2162- ${telepathy_qt_farstream_SRCS} ${telepathy_qt_farstream_MOC_SRCS})
2163- endif (ENABLE_COMPILER_COVERAGE)
2164-
2165- # Link
2166- target_link_libraries(telepathy-qt${QT_VERSION_MAJOR}-farstream
2167- ${QT_QTDBUS_LIBRARY}
2168- ${QT_QTCORE_LIBRARY}
2169- ${TELEPATHY_FARSTREAM_LIBRARIES}
2170- ${TELEPATHY_GLIB_LIBRARIES}
2171- telepathy-qt${QT_VERSION_MAJOR}
2172- ${TP_QT_LIBRARY_LINKER_FLAGS})
2173-
2174- if (ENABLE_COMPILER_COVERAGE)
2175- target_link_libraries(telepathy-qt${QT_VERSION_MAJOR}-farstream gcov)
2176- endif (ENABLE_COMPILER_COVERAGE)
2177-
2178- # Set the correct version number
2179- set_target_properties(telepathy-qt${QT_VERSION_MAJOR}-farstream PROPERTIES
2180- SOVERSION ${TP_QT_ABI_VERSION}
2181- VERSION ${TP_QT_LIBRARY_VERSION})
2182-
2183- # Install the library - watch out for the correct components
2184- if (WIN32)
2185- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}-farstream
2186- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
2187- RUNTIME DESTINATION ${LIB_INSTALL_DIR} COMPONENT farstream
2188- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT farstream_libs)
2189- else (WIN32)
2190- install(TARGETS telepathy-qt${QT_VERSION_MAJOR}-farstream
2191- EXPORT TelepathyQt${QT_VERSION_MAJOR}Targets
2192- LIBRARY DESTINATION ${LIB_INSTALL_DIR} COMPONENT farstream
2193- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT farstream_libs)
2194- endif (WIN32)
2195-
2196- # Install headers
2197- install(FILES ${telepathy_qt_farstream_HEADERS}
2198- DESTINATION ${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}/TelepathyQt/Farstream
2199- COMPONENT farstream_headers)
2200-
2201- # pkg-config files, only if not on windows
2202- if (NOT WIN32)
2203- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQtFarstream.pc.in
2204- ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farstream.pc)
2205- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TelepathyQtFarstream-uninstalled.pc.in
2206- ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farstream-uninstalled.pc)
2207- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farstream.pc
2208- DESTINATION ${LIB_INSTALL_DIR}/pkgconfig COMPONENT pkgconfig)
2209- endif (NOT WIN32)
2210-
2211- # Configure the actual Config file
2212- configure_file(TelepathyQtFarstreamConfig.cmake.in
2213- "${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarstreamConfig.cmake" @ONLY)
2214-
2215- # this file is used by to check if the installed version can be used.
2216- macro_write_basic_cmake_version_file(${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarstreamConfigVersion.cmake
2217- ${PACKAGE_VERSION})
2218-
2219- if(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
2220- set(_TelepathyQtFarstreamConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/TelepathyQt${QT_VERSION_MAJOR}Farstream)
2221- else(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
2222- set(_TelepathyQtFarstreamConfig_INSTALL_DIR ${LIB_INSTALL_DIR}/TelepathyQt${QT_VERSION_MAJOR}Farstream/cmake)
2223- endif(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
2224-
2225- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarstreamConfigVersion.cmake
2226- ${CMAKE_CURRENT_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}FarstreamConfig.cmake
2227- DESTINATION ${_TelepathyQtFarstreamConfig_INSTALL_DIR}
2228- COMPONENT headers)
2229-
2230-endif(FARSTREAM_COMPONENTS_FOUND)
2231
2232=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream-uninstalled.pc.in'
2233--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream-uninstalled.pc.in 2013-06-06 04:56:14 +0000
2234+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream-uninstalled.pc.in 1970-01-01 00:00:00 +0000
2235@@ -1,11 +0,0 @@
2236-prefix=/nonexistent
2237-exec_prefix=/nonexistent
2238-abs_top_builddir=${CMAKE_BINARY_DIR}
2239-abs_top_srcdir=${CMAKE_SOURCE_DIR}
2240-
2241-Name: TelepathyQt${QT_VERSION_MAJOR}Farstream (uninstalled copy)
2242-Description: Qt Telepathy Farstream utility library for the Telepathy framework
2243-Version: ${PACKAGE_VERSION}
2244-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, telepathy-glib >= ${TELEPATHY_GLIB_MIN_VERSION}, telepathy-farstream >= ${TELEPATHY_FARSTREAM_MIN_VERSION}, TelepathyQt${QT_VERSION_MAJOR} = ${PACKAGE_VERSION}
2245-Libs: ${CMAKE_BINARY_DIR}/TelepathyQt${QT_VERSION_MAJOR}/Farstream/libtelepathy-qt${QT_VERSION_MAJOR}-farstream.so
2246-Cflags: -I${CMAKE_SOURCE_DIR} -I${CMAKE_BINARY_DIR}
2247
2248=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream.pc.in'
2249--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream.pc.in 2013-06-06 04:56:14 +0000
2250+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstream.pc.in 1970-01-01 00:00:00 +0000
2251@@ -1,11 +0,0 @@
2252-prefix=${CMAKE_INSTALL_PREFIX}
2253-exec_prefix=${CMAKE_INSTALL_PREFIX}
2254-libdir=${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}
2255-includedir=${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}
2256-
2257-Name: TelepathyQt${QT_VERSION_MAJOR}Farstream
2258-Description: Qt Telepathy Farstream utility library for the Telepathy framework
2259-Version: ${PACKAGE_VERSION}
2260-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, telepathy-glib >= ${TELEPATHY_GLIB_MIN_VERSION}, telepathy-farstream >= ${TELEPATHY_FARSTREAM_MIN_VERSION}, TelepathyQt${QT_VERSION_MAJOR} = ${PACKAGE_VERSION}
2261-Libs: -L${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR} -ltelepathy-qt${QT_VERSION_MAJOR}-farstream
2262-Cflags: -I${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}
2263
2264=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstreamConfig.cmake.in'
2265--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstreamConfig.cmake.in 2013-06-06 04:56:14 +0000
2266+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/TelepathyQtFarstreamConfig.cmake.in 1970-01-01 00:00:00 +0000
2267@@ -1,24 +0,0 @@
2268-# TelepathyQt@QT_VERSION_MAJOR@FarstreamConfig.cmake is generated by CMake from TelepathyQt/TelepathyQtFarstreamConfig.cmake.in.
2269-# Any changed value in this file will be overwritten by CMake.
2270-
2271-if(NOT TelepathyQt@QT_VERSION_MAJOR@Farstream_FOUND)
2272- # set the version number
2273- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_VERSION_MAJOR @TP_QT_MAJOR_VERSION@)
2274- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_VERSION_MINOR @TP_QT_MINOR_VERSION@)
2275- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_VERSION_MICRO @TP_QT_MICRO_VERSION@)
2276- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_VERSION_NANO @TP_QT_NANO_VERSION@)
2277- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_VERSION @PACKAGE_VERSION@)
2278-
2279- # set the directories
2280- if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_INSTALL_DIR)
2281- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@")
2282- endif(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_INSTALL_DIR)
2283-
2284- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_INCLUDE_DIR "@TELEPATHY_QT_INCLUDE_DIR@")
2285- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_LIB_DIR "@TELEPATHY_QT_LIB_DIR@")
2286- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_SHARE_DIR "@TELEPATHY_QT_DATA_DIR@")
2287-
2288- find_package(TelepathyQt@QT_VERSION_MAJOR@ REQUIRED)
2289-
2290- set(TELEPATHY_QT@QT_VERSION_MAJOR@_FARSTREAM_LIBRARIES telepathy-qt@QT_VERSION_MAJOR@-farstream)
2291-endif(NOT TelepathyQt@QT_VERSION_MAJOR@Farstream_FOUND)
2292
2293=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/channel.cpp'
2294--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/channel.cpp 2013-06-06 04:56:14 +0000
2295+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/Farstream/channel.cpp 1970-01-01 00:00:00 +0000
2296@@ -1,166 +0,0 @@
2297-/**
2298- * This file is part of TelepathyQt
2299- *
2300- * Copyright © 2009-2012 Collabora Ltd. <http://www.collabora.co.uk/>
2301- * Copyright © 2009 Nokia Corporation
2302- *
2303- * This library is free software; you can redistribute it and/or
2304- * modify it under the terms of the GNU Lesser General Public
2305- * License as published by the Free Software Foundation; either
2306- * version 2.1 of the License, or (at your option) any later version.
2307- *
2308- * This library is distributed in the hope that it will be useful,
2309- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2310- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2311- * Lesser General Public License for more details.
2312- *
2313- * You should have received a copy of the GNU Lesser General Public
2314- * License along with this library; if not, write to the Free Software
2315- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2316- */
2317-
2318-#include <TelepathyQt/Farstream/Channel>
2319-
2320-#include "TelepathyQt/Farstream/_gen/channel.moc.hpp"
2321-
2322-#include "TelepathyQt/debug-internal.h"
2323-
2324-#include <TelepathyQt/CallChannel>
2325-#include <TelepathyQt/Connection>
2326-
2327-#include <telepathy-farstream/telepathy-farstream.h>
2328-#include <telepathy-glib/automatic-client-factory.h>
2329-#include <telepathy-glib/call-channel.h>
2330-#include <telepathy-glib/connection.h>
2331-#include <telepathy-glib/dbus.h>
2332-
2333-namespace Tp
2334-{
2335-namespace Farstream
2336-{
2337-
2338-struct TP_QT_FS_NO_EXPORT PendingChannel::Private
2339-{
2340- Private()
2341- : mTfChannel(0)
2342- {
2343- }
2344-
2345- static void onTfChannelNewFinish(GObject *sourceObject, GAsyncResult *res, gpointer userData);
2346-
2347- TfChannel *mTfChannel;
2348-};
2349-
2350-PendingChannel::PendingChannel(const CallChannelPtr &channel)
2351- : Tp::PendingOperation(channel),
2352- mPriv(new PendingChannel::Private)
2353-{
2354- if (!channel->handlerStreamingRequired()) {
2355- warning() << "Handler streaming not required";
2356- setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE,
2357- QLatin1String("Handler streaming not required"));
2358- return;
2359- }
2360-
2361- TpDBusDaemon *dbus = tp_dbus_daemon_dup(0);
2362- if (!dbus) {
2363- warning() << "Unable to connect to D-Bus";
2364- setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE,
2365- QLatin1String("Unable to connect to D-Bus"));
2366- return;
2367- }
2368-
2369- Tp::ConnectionPtr connection = channel->connection();
2370- if (connection.isNull()) {
2371- warning() << "Connection not available";
2372- setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE,
2373- QLatin1String("Connection not available"));
2374- g_object_unref(dbus);
2375- return;
2376- }
2377-
2378- TpSimpleClientFactory *factory = (TpSimpleClientFactory *)
2379- tp_automatic_client_factory_new (dbus);
2380- if (!factory) {
2381- warning() << "Unable to construct TpAutomaticClientFactory";
2382- setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE,
2383- QLatin1String("Unable to construct TpAutomaticClientFactory"));
2384- g_object_unref(dbus);
2385- return;
2386- }
2387-
2388- TpConnection *gconnection = tp_simple_client_factory_ensure_connection (factory,
2389- connection->objectPath().toAscii(), NULL, 0);
2390- if (!gconnection) {
2391- warning() << "Unable to construct TpConnection";
2392- setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE,
2393- QLatin1String("Unable to construct TpConnection"));
2394- g_object_unref(factory);
2395- g_object_unref(dbus);
2396- return;
2397- }
2398-
2399- TpChannel *gchannel = (TpChannel*) g_object_new(TP_TYPE_CALL_CHANNEL,
2400- "bus-name", connection->busName().toAscii().constData(),
2401- "connection", gconnection,
2402- "dbus-daemon", dbus,
2403- "object-path", channel->objectPath().toAscii().constData(),
2404- NULL);
2405- g_object_unref(factory);
2406- factory = 0;
2407- g_object_unref(dbus);
2408- dbus = 0;
2409- g_object_unref(gconnection);
2410- gconnection = 0;
2411- if (!gchannel) {
2412- warning() << "Unable to construct TpChannel";
2413- setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE,
2414- QLatin1String("Unable to construct TpChannel"));
2415- return;
2416- }
2417-
2418- tf_channel_new_async(gchannel, PendingChannel::Private::onTfChannelNewFinish, this);
2419- g_object_unref(gchannel);
2420-}
2421-
2422-PendingChannel::~PendingChannel()
2423-{
2424- delete mPriv;
2425-}
2426-
2427-void PendingChannel::Private::onTfChannelNewFinish(GObject *sourceObject,
2428- GAsyncResult *res, gpointer userData)
2429-{
2430- PendingChannel *self = reinterpret_cast<PendingChannel *>(userData);
2431-
2432- GError *error = NULL;
2433- TfChannel *ret = tf_channel_new_finish(sourceObject, res, &error);
2434- if (error) {
2435- warning() << "Fs::PendingChannel::Private::onTfChannelNewFinish: error " << error->message;
2436- self->setFinishedWithError(TP_QT_ERROR_NOT_AVAILABLE, QLatin1String(error->message));
2437- g_clear_error(&error);
2438- return;
2439- }
2440-
2441- self->mPriv->mTfChannel = ret;
2442- self->setFinished();
2443-}
2444-
2445-TfChannel *PendingChannel::tfChannel() const
2446-{
2447- return mPriv->mTfChannel;
2448-}
2449-
2450-CallChannelPtr PendingChannel::callChannel() const
2451-{
2452- return CallChannelPtr::staticCast(object());
2453-}
2454-
2455-PendingChannel *createChannel(const CallChannelPtr &channel)
2456-{
2457- PendingChannel *ptf = new PendingChannel(channel);
2458- return ptf;
2459-}
2460-
2461-} // Farstream
2462-} // Tp
2463
2464=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt-uninstalled.pc.in'
2465--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt-uninstalled.pc.in 2013-06-06 04:56:14 +0000
2466+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt-uninstalled.pc.in 1970-01-01 00:00:00 +0000
2467@@ -1,11 +0,0 @@
2468-prefix=/nonexistent
2469-exec_prefix=/nonexistent
2470-abs_top_builddir=${CMAKE_BINARY_DIR}
2471-abs_top_srcdir=${CMAKE_SOURCE_DIR}
2472-
2473-Name: TelepathyQt${QT_VERSION_MAJOR} (uninstalled copy)
2474-Description: Qt utility library for the Telepathy framework
2475-Version: ${PACKAGE_VERSION}
2476-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, QtNetwork >= ${QT_MIN_VERSION}, QtNetwork < ${QT_MAX_VERSION}, QtXml >= ${QT_MIN_VERSION}, QtXml < ${QT_MAX_VERSION}
2477-Libs: ${CMAKE_BINARY_DIR}/TelepathyQt/libtelepathy-qt${QT_VERSION_MAJOR}.so
2478-Cflags: -I${CMAKE_SOURCE_DIR} -I${CMAKE_BINARY_DIR}
2479
2480=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt.pc.in'
2481--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt.pc.in 2013-06-06 04:56:14 +0000
2482+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQt.pc.in 1970-01-01 00:00:00 +0000
2483@@ -1,11 +0,0 @@
2484-prefix=${CMAKE_INSTALL_PREFIX}
2485-exec_prefix=${CMAKE_INSTALL_PREFIX}
2486-libdir=${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}
2487-includedir=${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}
2488-
2489-Name: TelepathyQt${QT_VERSION_MAJOR}
2490-Description: Qt utility library for the Telepathy framework
2491-Version: ${PACKAGE_VERSION}
2492-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, QtNetwork >= ${QT_MIN_VERSION}, QtNetwork < ${QT_MAX_VERSION}, QtXml >= ${QT_MIN_VERSION}, QtXml < ${QT_MAX_VERSION}
2493-Libs: -L${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR} -ltelepathy-qt${QT_VERSION_MAJOR}
2494-Cflags: -I${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}
2495
2496=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtConfig.cmake.in'
2497--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtConfig.cmake.in 2013-06-06 04:56:14 +0000
2498+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtConfig.cmake.in 1970-01-01 00:00:00 +0000
2499@@ -1,28 +0,0 @@
2500-# TelepathyQt@QT_VERSION_MAJOR@Config.cmake is generated by CMake from TelepathyQt/TelepathyQtConfig.cmake.in.
2501-# Any changed value in this file will be overwritten by CMake.
2502-
2503-if(NOT TelepathyQt@QT_VERSION_MAJOR@_FOUND)
2504- # set the version number
2505- set(TELEPATHY_QT@QT_VERSION_MAJOR@_VERSION_MAJOR @TP_QT_MAJOR_VERSION@)
2506- set(TELEPATHY_QT@QT_VERSION_MAJOR@_VERSION_MINOR @TP_QT_MINOR_VERSION@)
2507- set(TELEPATHY_QT@QT_VERSION_MAJOR@_VERSION_MICRO @TP_QT_MICRO_VERSION@)
2508- set(TELEPATHY_QT@QT_VERSION_MAJOR@_VERSION_NANO @TP_QT_NANO_VERSION@)
2509- set(TELEPATHY_QT@QT_VERSION_MAJOR@_VERSION @PACKAGE_VERSION@)
2510-
2511- # set the directories
2512- if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_INSTALL_DIR)
2513- set(TELEPATHY_QT@QT_VERSION_MAJOR@_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@")
2514- endif(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_INSTALL_DIR)
2515-
2516- set(TELEPATHY_QT@QT_VERSION_MAJOR@_INCLUDE_DIR "@TELEPATHY_QT_INCLUDE_DIR@")
2517- set(TELEPATHY_QT@QT_VERSION_MAJOR@_LIB_DIR "@TELEPATHY_QT_LIB_DIR@")
2518- set(TELEPATHY_QT@QT_VERSION_MAJOR@_SHARE_DIR "@TELEPATHY_QT_DATA_DIR@")
2519-
2520- # attempt to find the generated TelepathyQt4Targets.cmake in the same directory
2521- get_filename_component(_TPQT@QT_VERSION_MAJOR@_CONFIG_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
2522- find_file(_TPQT@QT_VERSION_MAJOR@_TARGETS_FILE TelepathyQt@QT_VERSION_MAJOR@Targets.cmake PATHS ${_TPQT@QT_VERSION_MAJOR@_CONFIG_DIR} NO_DEFAULT_PATH)
2523-
2524- # set the TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES variable
2525- include(${_TPQT@QT_VERSION_MAJOR@_TARGETS_FILE})
2526- set(TELEPATHY_QT@QT_VERSION_MAJOR@_LIBRARIES telepathy-qt@QT_VERSION_MAJOR@)
2527-endif(NOT TelepathyQt@QT_VERSION_MAJOR@_FOUND)
2528
2529=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService-uninstalled.pc.in'
2530--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService-uninstalled.pc.in 2013-06-06 04:56:14 +0000
2531+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService-uninstalled.pc.in 1970-01-01 00:00:00 +0000
2532@@ -1,11 +0,0 @@
2533-prefix=/nonexistent
2534-exec_prefix=/nonexistent
2535-abs_top_builddir=${CMAKE_BINARY_DIR}
2536-abs_top_srcdir=${CMAKE_SOURCE_DIR}
2537-
2538-Name: TelepathyQt${QT_VERSION_MAJOR}Service (uninstalled copy)
2539-Description: Qt Telepathy Service side bindings
2540-Version: ${PACKAGE_VERSION}
2541-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, TelepathyQt${QT_VERSION_MAJOR} = ${PACKAGE_VERSION}
2542-Libs: ${CMAKE_BINARY_DIR}/TelepathyQt/Farsight/libtelepathy-qt${QT_VERSION_MAJOR}-service.so
2543-Cflags: -I${CMAKE_SOURCE_DIR} -I${CMAKE_BINARY_DIR}
2544
2545=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService.pc.in'
2546--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService.pc.in 2013-06-06 04:56:14 +0000
2547+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtService.pc.in 1970-01-01 00:00:00 +0000
2548@@ -1,11 +0,0 @@
2549-prefix=${CMAKE_INSTALL_PREFIX}
2550-exec_prefix=${CMAKE_INSTALL_PREFIX}
2551-libdir=${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}
2552-includedir=${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}
2553-
2554-Name: TelepathyQt${QT_VERSION_MAJOR}Service
2555-Description: Qt Telepathy Service side bindings
2556-Version: ${PACKAGE_VERSION}
2557-Requires.private: QtCore >= ${QT_MIN_VERSION}, QtCore < ${QT_MAX_VERSION}, QtDBus >= ${QT_MIN_VERSION}, QtDBus < ${QT_MAX_VERSION}, TelepathyQt${QT_VERSION_MAJOR} = ${PACKAGE_VERSION}
2558-Libs: -L${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR} -ltelepathy-qt${QT_VERSION_MAJOR}-service
2559-Cflags: -I${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}/telepathy-qt${QT_VERSION_MAJOR}
2560
2561=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtServiceConfig.cmake.in'
2562--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtServiceConfig.cmake.in 2013-06-06 04:56:14 +0000
2563+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/TelepathyQtServiceConfig.cmake.in 1970-01-01 00:00:00 +0000
2564@@ -1,22 +0,0 @@
2565-# TelepathyQt@QT_VERSION_MAJOR@ServiceConfig.cmake is generated by CMake from TelepathyQt/TelepathyQtServiceConfig.cmake.in.
2566-# Any changed value in this file will be overwritten by CMake.
2567-
2568-# set the version number
2569-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION_MAJOR @TP_QT_MAJOR_VERSION@)
2570-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION_MINOR @TP_QT_MINOR_VERSION@)
2571-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION_MICRO @TP_QT_MICRO_VERSION@)
2572-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION_NANO @TP_QT_NANO_VERSION@)
2573-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_VERSION @PACKAGE_VERSION@)
2574-
2575-# set the directories
2576-if(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR)
2577- set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@")
2578-endif(NOT TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INSTALL_DIR)
2579-
2580-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_INCLUDE_DIR "@TELEPATHY_QT_INCLUDE_DIR@")
2581-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIB_DIR "@TELEPATHY_QT_LIB_DIR@")
2582-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_SHARE_DIR "@TELEPATHY_QT_DATA_DIR@")
2583-
2584-find_package(TelepathyQt@QT_VERSION_MAJOR@ REQUIRED)
2585-
2586-set(TELEPATHY_QT@QT_VERSION_MAJOR@_SERVICE_LIBRARIES telepathy-qt@QT_VERSION_MAJOR@-service)
2587
2588=== removed file '.pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/account.cpp'
2589--- .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/account.cpp 2013-06-06 04:56:14 +0000
2590+++ .pc/02-adapt_to_work_with_q5_final.patch/TelepathyQt/account.cpp 1970-01-01 00:00:00 +0000
2591@@ -1,4858 +0,0 @@
2592-/**
2593- * This file is part of TelepathyQt
2594- *
2595- * @copyright Copyright (C) 2008-2012 Collabora Ltd. <http://www.collabora.co.uk/>
2596- * @copyright Copyright (C) 2008 Nokia Corporation
2597- * @license LGPL 2.1
2598- *
2599- * This library is free software; you can redistribute it and/or
2600- * modify it under the terms of the GNU Lesser General Public
2601- * License as published by the Free Software Foundation; either
2602- * version 2.1 of the License, or (at your option) any later version.
2603- *
2604- * This library is distributed in the hope that it will be useful,
2605- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2606- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2607- * Lesser General Public License for more details.
2608- *
2609- * You should have received a copy of the GNU Lesser General Public
2610- * License along with this library; if not, write to the Free Software
2611- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2612- */
2613-
2614-#include <TelepathyQt/Account>
2615-
2616-#include "TelepathyQt/_gen/account.moc.hpp"
2617-#include "TelepathyQt/_gen/cli-account.moc.hpp"
2618-#include "TelepathyQt/_gen/cli-account-body.hpp"
2619-
2620-#include "TelepathyQt/debug-internal.h"
2621-
2622-#include "TelepathyQt/connection-internal.h"
2623-
2624-#include <TelepathyQt/AccountManager>
2625-#include <TelepathyQt/Channel>
2626-#include <TelepathyQt/ChannelDispatcherInterface>
2627-#include <TelepathyQt/ConnectionCapabilities>
2628-#include <TelepathyQt/ConnectionLowlevel>
2629-#include <TelepathyQt/ConnectionManager>
2630-#include <TelepathyQt/PendingChannel>
2631-#include <TelepathyQt/PendingChannelRequest>
2632-#include <TelepathyQt/PendingFailure>
2633-#include <TelepathyQt/PendingReady>
2634-#include <TelepathyQt/PendingStringList>
2635-#include <TelepathyQt/PendingVariant>
2636-#include <TelepathyQt/PendingVoid>
2637-#include <TelepathyQt/Profile>
2638-#include <TelepathyQt/ReferencedHandles>
2639-#include <TelepathyQt/Constants>
2640-#include <TelepathyQt/Debug>
2641-
2642-#include <QQueue>
2643-#include <QRegExp>
2644-#include <QSharedPointer>
2645-#include <QTimer>
2646-#include <QWeakPointer>
2647-
2648-#include <string.h>
2649-
2650-namespace Tp
2651-{
2652-
2653-namespace
2654-{
2655-
2656-struct PresenceStatusInfo
2657-{
2658- QString name;
2659- Tp::SimpleStatusSpec spec;
2660-};
2661-
2662-Tp::ConnectionPresenceType presenceTypeForStatus(const QString &status, bool &maySetOnSelf)
2663-{
2664- static PresenceStatusInfo statuses[] = {
2665- { QLatin1String("available"), { Tp::ConnectionPresenceTypeAvailable, true, true } },
2666- { QLatin1String("chat"), { Tp::ConnectionPresenceTypeAvailable, true, true } },
2667- { QLatin1String("chatty"), { Tp::ConnectionPresenceTypeAvailable, true, true } },
2668- { QLatin1String("away"), { Tp::ConnectionPresenceTypeAway, true, true } },
2669- { QLatin1String("brb"), { Tp::ConnectionPresenceTypeAway, true, true } },
2670- { QLatin1String("out-to-lunch"), { Tp::ConnectionPresenceTypeAway, true, true } },
2671- { QLatin1String("xa"), { Tp::ConnectionPresenceTypeExtendedAway, true, true } },
2672- { QLatin1String("hidden"), { Tp::ConnectionPresenceTypeHidden, true, true } },
2673- { QLatin1String("invisible"), { Tp::ConnectionPresenceTypeHidden, true, true } },
2674- { QLatin1String("offline"), { Tp::ConnectionPresenceTypeOffline, true, false } },
2675- { QLatin1String("unknown"), { Tp::ConnectionPresenceTypeUnknown, false, false } },
2676- { QLatin1String("error"), { Tp::ConnectionPresenceTypeError, false, false } }
2677- };
2678-
2679- for (uint i = 0; i < sizeof(statuses) / sizeof(PresenceStatusInfo); ++i) {
2680- if (status == statuses[i].name) {
2681- maySetOnSelf = statuses[i].spec.maySetOnSelf;
2682- return (Tp::ConnectionPresenceType) statuses[i].spec.type;
2683- }
2684- }
2685-
2686- // fallback to type away if we don't know status
2687- maySetOnSelf = true;
2688- return Tp::ConnectionPresenceTypeAway;
2689-}
2690-
2691-Tp::PresenceSpec presenceSpecForStatus(const QString &status, bool canHaveStatusMessage)
2692-{
2693- Tp::SimpleStatusSpec spec;
2694- spec.type = presenceTypeForStatus(status, spec.maySetOnSelf);
2695- spec.canHaveMessage = canHaveStatusMessage;
2696- return Tp::PresenceSpec(status, spec);
2697-}
2698-
2699-QVariantMap textChatCommonRequest()
2700-{
2701- QVariantMap request;
2702- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2703- TP_QT_IFACE_CHANNEL_TYPE_TEXT);
2704- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2705- (uint) Tp::HandleTypeContact);
2706- return request;
2707-}
2708-
2709-QVariantMap textChatRequest(const QString &contactIdentifier)
2710-{
2711- QVariantMap request = textChatCommonRequest();
2712- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2713- contactIdentifier);
2714- return request;
2715-}
2716-
2717-QVariantMap textChatRequest(const Tp::ContactPtr &contact)
2718-{
2719- QVariantMap request = textChatCommonRequest();
2720- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2721- contact ? contact->handle().at(0) : (uint) 0);
2722- return request;
2723-}
2724-
2725-QVariantMap textChatroomRequest(const QString &roomName)
2726-{
2727- QVariantMap request;
2728- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2729- TP_QT_IFACE_CHANNEL_TYPE_TEXT);
2730- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2731- (uint) Tp::HandleTypeRoom);
2732- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2733- roomName);
2734- return request;
2735-}
2736-
2737-QVariantMap callCommonRequest(bool withAudio, const QString &audioName,
2738- bool withVideo, const QString &videoName)
2739-{
2740- QVariantMap request;
2741- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2742- TP_QT_IFACE_CHANNEL_TYPE_CALL);
2743- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2744- (uint) Tp::HandleTypeContact);
2745-
2746- if (withAudio) {
2747- request.insert(TP_QT_IFACE_CHANNEL_TYPE_CALL + QLatin1String(".InitialAudio"),
2748- true);
2749- if (!audioName.isEmpty()) {
2750- request.insert(TP_QT_IFACE_CHANNEL_TYPE_CALL + QLatin1String(".InitialAudioName"),
2751- audioName);
2752- }
2753- }
2754-
2755- if (withVideo) {
2756- request.insert(TP_QT_IFACE_CHANNEL_TYPE_CALL + QLatin1String(".InitialVideo"),
2757- true);
2758- if (!videoName.isEmpty()) {
2759- request.insert(TP_QT_IFACE_CHANNEL_TYPE_CALL + QLatin1String(".InitialVideoName"),
2760- videoName);
2761- }
2762- }
2763-
2764- return request;
2765-}
2766-
2767-QVariantMap audioCallRequest(const QString &contactIdentifier, const QString &contentName)
2768-{
2769- QVariantMap request = callCommonRequest(true, contentName, false, QString());
2770- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2771- contactIdentifier);
2772- return request;
2773-}
2774-
2775-QVariantMap audioCallRequest(const Tp::ContactPtr &contact, const QString &contentName)
2776-{
2777- QVariantMap request = callCommonRequest(true, contentName, false, QString());
2778- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2779- contact ? contact->handle().at(0) : (uint) 0);
2780- return request;
2781-}
2782-
2783-QVariantMap videoCallRequest(const QString &contactIdentifier, const QString &contentName)
2784-{
2785- QVariantMap request = callCommonRequest(false, QString(), true, contentName);
2786- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2787- contactIdentifier);
2788- return request;
2789-}
2790-
2791-QVariantMap videoCallRequest(const Tp::ContactPtr &contact, const QString &contentName)
2792-{
2793- QVariantMap request = callCommonRequest(false, QString(), true, contentName);
2794- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2795- contact ? contact->handle().at(0) : (uint) 0);
2796- return request;
2797-}
2798-
2799-QVariantMap audioVideoCallRequest(const QString &contactIdentifier,
2800- const QString &audioName,
2801- const QString &videoName)
2802-{
2803- QVariantMap request = callCommonRequest(true, audioName, true, videoName);
2804- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2805- contactIdentifier);
2806- return request;
2807-}
2808-
2809-QVariantMap audioVideoCallRequest(const Tp::ContactPtr &contact,
2810- const QString &audioName,
2811- const QString &videoName)
2812-{
2813- QVariantMap request = callCommonRequest(true, audioName, true, videoName);
2814- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2815- contact ? contact->handle().at(0) : (uint) 0);
2816- return request;
2817-}
2818-
2819-QVariantMap streamedMediaCallCommonRequest()
2820-{
2821- QVariantMap request;
2822- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2823- TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA);
2824- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2825- (uint) Tp::HandleTypeContact);
2826- return request;
2827-}
2828-
2829-QVariantMap streamedMediaCallRequest(const QString &contactIdentifier)
2830-{
2831- QVariantMap request = streamedMediaCallCommonRequest();
2832- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2833- contactIdentifier);
2834- return request;
2835-}
2836-
2837-QVariantMap streamedMediaCallRequest(const Tp::ContactPtr &contact)
2838-{
2839- QVariantMap request = streamedMediaCallCommonRequest();
2840- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2841- contact ? contact->handle().at(0) : (uint) 0);
2842- return request;
2843-}
2844-
2845-QVariantMap streamedMediaAudioCallRequest(const QString &contactIdentifier)
2846-{
2847- QVariantMap request = streamedMediaCallRequest(contactIdentifier);
2848- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA + QLatin1String(".InitialAudio"),
2849- true);
2850- return request;
2851-}
2852-
2853-QVariantMap streamedMediaAudioCallRequest(const Tp::ContactPtr &contact)
2854-{
2855- QVariantMap request = streamedMediaCallRequest(contact);
2856- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA + QLatin1String(".InitialAudio"),
2857- true);
2858- return request;
2859-}
2860-
2861-QVariantMap streamedMediaVideoCallRequest(const QString &contactIdentifier, bool withAudio)
2862-{
2863- QVariantMap request = streamedMediaCallRequest(contactIdentifier);
2864- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA + QLatin1String(".InitialVideo"),
2865- true);
2866- if (withAudio) {
2867- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA + QLatin1String(".InitialAudio"),
2868- true);
2869- }
2870- return request;
2871-}
2872-
2873-QVariantMap streamedMediaVideoCallRequest(const Tp::ContactPtr &contact, bool withAudio)
2874-{
2875- QVariantMap request = streamedMediaCallRequest(contact);
2876- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA + QLatin1String(".InitialVideo"),
2877- true);
2878- if (withAudio) {
2879- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA + QLatin1String(".InitialAudio"),
2880- true);
2881- }
2882- return request;
2883-}
2884-
2885-QVariantMap fileTransferCommonRequest(const Tp::FileTransferChannelCreationProperties &properties)
2886-{
2887- if (!properties.isValid()) {
2888- warning() << "Invalid file transfer creation properties";
2889- return QVariantMap();
2890- }
2891-
2892- QVariantMap request;
2893- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2894- TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER);
2895- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2896- (uint) Tp::HandleTypeContact);
2897-
2898- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Filename"),
2899- properties.suggestedFileName());
2900- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".ContentType"),
2901- properties.contentType());
2902- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Size"),
2903- properties.size());
2904-
2905- if (properties.hasContentHash()) {
2906- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".ContentHashType"),
2907- (uint) properties.contentHashType());
2908- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".ContentHash"),
2909- properties.contentHash());
2910- }
2911-
2912- if (properties.hasDescription()) {
2913- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Description"),
2914- properties.description());
2915- }
2916-
2917- if (properties.hasLastModificationTime()) {
2918- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".Date"),
2919- (qulonglong) properties.lastModificationTime().toTime_t());
2920- }
2921-
2922- if (properties.hasUri()) {
2923- request.insert(TP_QT_IFACE_CHANNEL_TYPE_FILE_TRANSFER + QLatin1String(".URI"),
2924- properties.uri());
2925- }
2926-
2927- return request;
2928-}
2929-
2930-QVariantMap fileTransferRequest(const QString &contactIdentifier,
2931- const Tp::FileTransferChannelCreationProperties &properties)
2932-{
2933- QVariantMap request = fileTransferCommonRequest(properties);
2934-
2935- if (!request.isEmpty()) {
2936- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2937- contactIdentifier);
2938- }
2939-
2940- return request;
2941-}
2942-
2943-QVariantMap fileTransferRequest(const Tp::ContactPtr &contact,
2944- const Tp::FileTransferChannelCreationProperties &properties)
2945-{
2946- QVariantMap request = fileTransferCommonRequest(properties);
2947-
2948- if (!request.isEmpty()) {
2949- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2950- contact ? contact->handle().at(0) : (uint) 0);
2951- }
2952-
2953- return request;
2954-}
2955-
2956-QVariantMap streamTubeCommonRequest(const QString &service)
2957-{
2958- QVariantMap request;
2959- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2960- TP_QT_IFACE_CHANNEL_TYPE_STREAM_TUBE);
2961- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2962- (uint) Tp::HandleTypeContact);
2963- request.insert(TP_QT_IFACE_CHANNEL_TYPE_STREAM_TUBE + QLatin1String(".Service"),
2964- service);
2965- return request;
2966-}
2967-
2968-QVariantMap streamTubeRequest(const QString &contactIdentifier, const QString &service)
2969-{
2970- QVariantMap request = streamTubeCommonRequest(service);
2971- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
2972- contactIdentifier);
2973- return request;
2974-}
2975-
2976-QVariantMap streamTubeRequest(const Tp::ContactPtr &contact, const QString &service)
2977-{
2978- QVariantMap request = streamTubeCommonRequest(service);
2979- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
2980- contact ? contact->handle().at(0) : (uint) 0);
2981- return request;
2982-}
2983-
2984-QVariantMap dbusTubeCommonRequest(const QString &serviceName)
2985-{
2986- QVariantMap request;
2987- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
2988- TP_QT_IFACE_CHANNEL_TYPE_DBUS_TUBE);
2989- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
2990- (uint) Tp::HandleTypeContact);
2991- request.insert(TP_QT_IFACE_CHANNEL_TYPE_DBUS_TUBE + QLatin1String(".ServiceName"),
2992- serviceName);
2993- return request;
2994-}
2995-
2996-QVariantMap dbusTubeRequest(const QString &contactIdentifier, const QString &serviceName)
2997-{
2998- QVariantMap request = dbusTubeCommonRequest(serviceName);
2999- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"),
3000- contactIdentifier);
3001- return request;
3002-}
3003-
3004-QVariantMap dbusTubeRequest(const Tp::ContactPtr &contact, const QString &serviceName)
3005-{
3006- QVariantMap request = dbusTubeCommonRequest(serviceName);
3007- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandle"),
3008- contact ? contact->handle().at(0) : (uint) 0);
3009- return request;
3010-}
3011-
3012-QVariantMap conferenceCommonRequest(const QString &channelType, Tp::HandleType targetHandleType,
3013- const QList<Tp::ChannelPtr> &channels)
3014-{
3015- QVariantMap request;
3016- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
3017- channelType);
3018- if (targetHandleType != Tp::HandleTypeNone) {
3019- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetHandleType"),
3020- (uint) targetHandleType);
3021- }
3022-
3023- Tp::ObjectPathList objectPaths;
3024- foreach (const Tp::ChannelPtr &channel, channels) {
3025- objectPaths << QDBusObjectPath(channel->objectPath());
3026- }
3027-
3028- request.insert(TP_QT_IFACE_CHANNEL_INTERFACE_CONFERENCE + QLatin1String(".InitialChannels"),
3029- qVariantFromValue(objectPaths));
3030- return request;
3031-}
3032-
3033-QVariantMap conferenceRequest(const QString &channelType, Tp::HandleType targetHandleType,
3034- const QList<Tp::ChannelPtr> &channels, const QStringList &initialInviteeContactsIdentifiers)
3035-{
3036- QVariantMap request = conferenceCommonRequest(channelType, targetHandleType, channels);
3037- if (!initialInviteeContactsIdentifiers.isEmpty()) {
3038- request.insert(TP_QT_IFACE_CHANNEL_INTERFACE_CONFERENCE + QLatin1String(".InitialInviteeIDs"),
3039- initialInviteeContactsIdentifiers);
3040- }
3041- return request;
3042-}
3043-
3044-QVariantMap conferenceRequest(const QString &channelType, Tp::HandleType targetHandleType,
3045- const QList<Tp::ChannelPtr> &channels, const QList<Tp::ContactPtr> &initialInviteeContacts)
3046-{
3047- QVariantMap request = conferenceCommonRequest(channelType, targetHandleType, channels);
3048- if (!initialInviteeContacts.isEmpty()) {
3049- Tp::UIntList handles;
3050- foreach (const Tp::ContactPtr &contact, initialInviteeContacts) {
3051- if (!contact) {
3052- continue;
3053- }
3054- handles << contact->handle()[0];
3055- }
3056- if (!handles.isEmpty()) {
3057- request.insert(TP_QT_IFACE_CHANNEL_INTERFACE_CONFERENCE +
3058- QLatin1String(".InitialInviteeHandles"), qVariantFromValue(handles));
3059- }
3060- }
3061- return request;
3062-}
3063-
3064-QVariantMap conferenceTextChatRequest(const QList<Tp::ChannelPtr> &channels,
3065- const QStringList &initialInviteeContactsIdentifiers)
3066-{
3067- QVariantMap request = conferenceRequest(TP_QT_IFACE_CHANNEL_TYPE_TEXT,
3068- Tp::HandleTypeNone, channels, initialInviteeContactsIdentifiers);
3069- return request;
3070-}
3071-
3072-QVariantMap conferenceTextChatRequest(const QList<Tp::ChannelPtr> &channels,
3073- const QList<Tp::ContactPtr> &initialInviteeContacts)
3074-{
3075- QVariantMap request = conferenceRequest(TP_QT_IFACE_CHANNEL_TYPE_TEXT,
3076- Tp::HandleTypeNone, channels, initialInviteeContacts);
3077- return request;
3078-}
3079-
3080-QVariantMap conferenceTextChatroomRequest(const QString &roomName,
3081- const QList<Tp::ChannelPtr> &channels,
3082- const QStringList &initialInviteeContactsIdentifiers)
3083-{
3084- QVariantMap request = conferenceRequest(TP_QT_IFACE_CHANNEL_TYPE_TEXT,
3085- Tp::HandleTypeRoom, channels, initialInviteeContactsIdentifiers);
3086- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"), roomName);
3087- return request;
3088-}
3089-
3090-QVariantMap conferenceTextChatroomRequest(const QString &roomName,
3091- const QList<Tp::ChannelPtr> &channels,
3092- const QList<Tp::ContactPtr> &initialInviteeContacts)
3093-{
3094- QVariantMap request = conferenceRequest(TP_QT_IFACE_CHANNEL_TYPE_TEXT,
3095- Tp::HandleTypeRoom, channels, initialInviteeContacts);
3096- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".TargetID"), roomName);
3097- return request;
3098-}
3099-
3100-QVariantMap conferenceStreamedMediaCallRequest(const QList<Tp::ChannelPtr> &channels,
3101- const QStringList &initialInviteeContactsIdentifiers)
3102-{
3103- QVariantMap request = conferenceRequest(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA,
3104- Tp::HandleTypeNone, channels, initialInviteeContactsIdentifiers);
3105- return request;
3106-}
3107-
3108-QVariantMap conferenceStreamedMediaCallRequest(const QList<Tp::ChannelPtr> &channels,
3109- const QList<Tp::ContactPtr> &initialInviteeContacts)
3110-{
3111- QVariantMap request = conferenceRequest(TP_QT_IFACE_CHANNEL_TYPE_STREAMED_MEDIA,
3112- Tp::HandleTypeNone, channels, initialInviteeContacts);
3113- return request;
3114-}
3115-
3116-QVariantMap contactSearchRequest(const ConnectionCapabilities &capabilities,
3117- const QString &server, uint limit)
3118-{
3119- QVariantMap request;
3120- request.insert(TP_QT_IFACE_CHANNEL + QLatin1String(".ChannelType"),
3121- TP_QT_IFACE_CHANNEL_TYPE_CONTACT_SEARCH);
3122- if (capabilities.contactSearchesWithSpecificServer()) {
3123- request.insert(TP_QT_IFACE_CHANNEL_TYPE_CONTACT_SEARCH + QLatin1String(".Server"),
3124- server);
3125- } else if (!server.isEmpty()) {
3126- warning() << "Ignoring Server parameter for contact search, since the protocol does not support it.";
3127- }
3128- if (capabilities.contactSearchesWithLimit()) {
3129- request.insert(TP_QT_IFACE_CHANNEL_TYPE_CONTACT_SEARCH + QLatin1String(".Limit"), limit);
3130- } else if (limit > 0) {
3131- warning() << "Ignoring Limit parameter for contact search, since the protocol does not support it.";
3132- }
3133- return request;
3134-}
3135-
3136-} // anonymous namespace
3137-
3138-struct TP_QT_NO_EXPORT Account::Private
3139-{
3140- Private(Account *parent, const ConnectionFactoryConstPtr &connFactory,
3141- const ChannelFactoryConstPtr &chanFactory,
3142- const ContactFactoryConstPtr &contactFactory);
3143- ~Private();
3144-
3145- void init();
3146-
3147- static void introspectMain(Private *self);
3148- static void introspectAvatar(Private *self);
3149- static void introspectProtocolInfo(Private *self);
3150- static void introspectCapabilities(Private *self);
3151-
3152- void updateProperties(const QVariantMap &props);
3153- void retrieveAvatar();
3154- bool processConnQueue();
3155-
3156- bool checkCapabilitiesChanged(bool profileChanged);
3157-
3158- QString connectionObjectPath() const;
3159-
3160- // Public object
3161- Account *parent;
3162-
3163- // Factories
3164- ConnectionFactoryConstPtr connFactory;
3165- ChannelFactoryConstPtr chanFactory;
3166- ContactFactoryConstPtr contactFactory;
3167-
3168- // Instance of generated interface class
3169- Client::AccountInterface *baseInterface;
3170-
3171- // Mandatory properties interface proxy
3172- Client::DBus::PropertiesInterface *properties;
3173-
3174- ReadinessHelper *readinessHelper;
3175-
3176- // Introspection
3177- QVariantMap parameters;
3178- bool valid;
3179- bool enabled;
3180- bool connectsAutomatically;
3181- bool hasBeenOnline;
3182- bool changingPresence;
3183- QString cmName;
3184- QString protocolName;
3185- QString serviceName;
3186- ProfilePtr profile;
3187- QString displayName;
3188- QString nickname;
3189- QString iconName;
3190- QQueue<QString> connObjPathQueue;
3191- ConnectionPtr connection;
3192- bool mayFinishCore, coreFinished;
3193- QString normalizedName;
3194- Avatar avatar;
3195- ConnectionManagerPtr cm;
3196- ConnectionStatus connectionStatus;
3197- ConnectionStatusReason connectionStatusReason;
3198- QString connectionError;
3199- Connection::ErrorDetails connectionErrorDetails;
3200- Presence automaticPresence;
3201- Presence currentPresence;
3202- Presence requestedPresence;
3203- bool usingConnectionCaps;
3204- ConnectionCapabilities customCaps;
3205-
3206- // The contexts should never be removed from the map, to guarantee O(1) CD introspections per bus
3207- struct DispatcherContext;
3208- static QHash<QString, QSharedPointer<DispatcherContext> > dispatcherContexts;
3209- QSharedPointer<DispatcherContext> dispatcherContext;
3210-};
3211-
3212-struct Account::Private::DispatcherContext
3213-{
3214- DispatcherContext(const QDBusConnection &bus)
3215- : iface(new Client::ChannelDispatcherInterface(bus, TP_QT_CHANNEL_DISPATCHER_BUS_NAME, TP_QT_CHANNEL_DISPATCHER_OBJECT_PATH)),
3216- introspected(false), supportsHints(false)
3217- {
3218- }
3219-
3220- ~DispatcherContext()
3221- {
3222- delete iface;
3223- }
3224-
3225- Client::ChannelDispatcherInterface *iface;
3226-
3227- bool introspected, supportsHints;
3228- QWeakPointer<PendingVariant> introspectOp;
3229-
3230-private:
3231- DispatcherContext(const DispatcherContext &);
3232- void operator=(const DispatcherContext &);
3233-};
3234-
3235-Account::Private::Private(Account *parent, const ConnectionFactoryConstPtr &connFactory,
3236- const ChannelFactoryConstPtr &chanFactory, const ContactFactoryConstPtr &contactFactory)
3237- : parent(parent),
3238- connFactory(connFactory),
3239- chanFactory(chanFactory),
3240- contactFactory(contactFactory),
3241- baseInterface(new Client::AccountInterface(parent)),
3242- properties(parent->interface<Client::DBus::PropertiesInterface>()),
3243- readinessHelper(parent->readinessHelper()),
3244- valid(false),
3245- enabled(false),
3246- connectsAutomatically(false),
3247- hasBeenOnline(false),
3248- changingPresence(false),
3249- mayFinishCore(false),
3250- coreFinished(false),
3251- connectionStatus(ConnectionStatusDisconnected),
3252- connectionStatusReason(ConnectionStatusReasonNoneSpecified),
3253- usingConnectionCaps(false),
3254- dispatcherContext(dispatcherContexts.value(parent->dbusConnection().name()))
3255-{
3256- // FIXME: QRegExp probably isn't the most efficient possible way to parse
3257- // this :-)
3258- QRegExp rx(QLatin1String("^") + TP_QT_ACCOUNT_OBJECT_PATH_BASE +
3259- QLatin1String("/([_A-Za-z][_A-Za-z0-9]*)" // cap(1) is the CM
3260- "/([_A-Za-z][_A-Za-z0-9]*)" // cap(2) is the protocol
3261- "/([_A-Za-z][_A-Za-z0-9]*)" // account-specific part
3262- ));
3263-
3264- if (rx.exactMatch(parent->objectPath())) {
3265- cmName = rx.cap(1);
3266- protocolName = rx.cap(2).replace(QLatin1Char('_'), QLatin1Char('-'));
3267- } else {
3268- warning() << "Account object path is not spec-compliant, "
3269- "trying again with a different account-specific part check";
3270-
3271- rx = QRegExp(QLatin1String("^") + TP_QT_ACCOUNT_OBJECT_PATH_BASE +
3272- QLatin1String("/([_A-Za-z][_A-Za-z0-9]*)" // cap(1) is the CM
3273- "/([_A-Za-z][_A-Za-z0-9]*)" // cap(2) is the protocol
3274- "/([_A-Za-z0-9]*)" // account-specific part
3275- ));
3276- if (rx.exactMatch(parent->objectPath())) {
3277- cmName = rx.cap(1);
3278- protocolName = rx.cap(2).replace(QLatin1Char('_'), QLatin1Char('-'));
3279- } else {
3280- warning() << "Not a valid Account object path:" <<
3281- parent->objectPath();
3282- }
3283- }
3284-
3285- ReadinessHelper::Introspectables introspectables;
3286-
3287- // As Account does not have predefined statuses let's simulate one (0)
3288- ReadinessHelper::Introspectable introspectableCore(
3289- QSet<uint>() << 0, // makesSenseForStatuses
3290- Features(), // dependsOnFeatures
3291- QStringList(), // dependsOnInterfaces
3292- (ReadinessHelper::IntrospectFunc) &Private::introspectMain,
3293- this);
3294- introspectables[FeatureCore] = introspectableCore;
3295-
3296- ReadinessHelper::Introspectable introspectableAvatar(
3297- QSet<uint>() << 0, // makesSenseForStatuses
3298- Features() << FeatureCore, // dependsOnFeatures (core)
3299- QStringList() << TP_QT_IFACE_ACCOUNT_INTERFACE_AVATAR, // dependsOnInterfaces
3300- (ReadinessHelper::IntrospectFunc) &Private::introspectAvatar,
3301- this);
3302- introspectables[FeatureAvatar] = introspectableAvatar;
3303-
3304- ReadinessHelper::Introspectable introspectableProtocolInfo(
3305- QSet<uint>() << 0, // makesSenseForStatuses
3306- Features() << FeatureCore, // dependsOnFeatures (core)
3307- QStringList(), // dependsOnInterfaces
3308- (ReadinessHelper::IntrospectFunc) &Private::introspectProtocolInfo,
3309- this);
3310- introspectables[FeatureProtocolInfo] = introspectableProtocolInfo;
3311-
3312- ReadinessHelper::Introspectable introspectableCapabilities(
3313- QSet<uint>() << 0, // makesSenseForStatuses
3314- Features() << FeatureCore << FeatureProtocolInfo << FeatureProfile, // dependsOnFeatures
3315- QStringList(), // dependsOnInterfaces
3316- (ReadinessHelper::IntrospectFunc) &Private::introspectCapabilities,
3317- this);
3318- introspectables[FeatureCapabilities] = introspectableCapabilities;
3319-
3320- readinessHelper->addIntrospectables(introspectables);
3321-
3322- if (connFactory->dbusConnection().name() != parent->dbusConnection().name()) {
3323- warning() << " The D-Bus connection in the conn factory is not the proxy connection for"
3324- << parent->objectPath();
3325- }
3326-
3327- if (chanFactory->dbusConnection().name() != parent->dbusConnection().name()) {
3328- warning() << " The D-Bus connection in the channel factory is not the proxy connection for"
3329- << parent->objectPath();
3330- }
3331-
3332- if (!dispatcherContext) {
3333- dispatcherContext = QSharedPointer<DispatcherContext>(new DispatcherContext(parent->dbusConnection()));
3334- dispatcherContexts.insert(parent->dbusConnection().name(), dispatcherContext);
3335- }
3336-
3337- init();
3338-}
3339-
3340-Account::Private::~Private()
3341-{
3342-}
3343-
3344-bool Account::Private::checkCapabilitiesChanged(bool profileChanged)
3345-{
3346- /* when the capabilities changed:
3347- *
3348- * - We were using the connection caps and now we don't have connection or
3349- * the connection we have is not connected (changed to CM caps)
3350- * - We were using the CM caps and now we have a connected connection
3351- * (changed to new connection caps)
3352- */
3353- bool changed = false;
3354-
3355- if (usingConnectionCaps &&
3356- (parent->connection().isNull() ||
3357- connection->status() != ConnectionStatusConnected)) {
3358- usingConnectionCaps = false;
3359- changed = true;
3360- } else if (!usingConnectionCaps &&
3361- !parent->connection().isNull() &&
3362- connection->status() == ConnectionStatusConnected) {
3363- usingConnectionCaps = true;
3364- changed = true;
3365- } else if (!usingConnectionCaps && profileChanged) {
3366- changed = true;
3367- }
3368-
3369- if (changed && parent->isReady(FeatureCapabilities)) {
3370- emit parent->capabilitiesChanged(parent->capabilities());
3371- }
3372-
3373- return changed;
3374-}
3375-
3376-QString Account::Private::connectionObjectPath() const
3377-{
3378- return !connection.isNull() ? connection->objectPath() : QString();
3379-}
3380-
3381-QHash<QString, QSharedPointer<Account::Private::DispatcherContext> > Account::Private::dispatcherContexts;
3382-
3383-/**
3384- * \class Account
3385- * \ingroup clientaccount
3386- * \headerfile TelepathyQt/account.h <TelepathyQt/Account>
3387- *
3388- * \brief The Account class represents a Telepathy account.
3389- *
3390- * The remote object accessor functions on this object (isValidAccount(),
3391- * isEnabled(), and so on) don't make any D-Bus calls; instead, they return/use
3392- * values cached from a previous introspection run. The introspection process
3393- * populates their values in the most efficient way possible based on what the
3394- * service implements.
3395- *
3396- * To avoid unnecessary D-Bus traffic, some accessors only return valid
3397- * information after specific features have been enabled.
3398- * For instance, to retrieve the account protocol information, it is necessary to
3399- * enable the feature Account::FeatureProtocolInfo.
3400- * See the individual methods descriptions for more details.
3401- *
3402- * Account features can be enabled by constructing an AccountFactory and enabling
3403- * the desired features, and passing it to AccountManager or ClientRegistrar
3404- * when creating them as appropriate. However, if a particular
3405- * feature is only ever used in a specific circumstance, such as an user opening
3406- * some settings dialog separate from the general view of the application,
3407- * features can be later enabled as needed by calling becomeReady() with the additional
3408- * features, and waiting for the resulting PendingOperation to finish.
3409- *
3410- * As an addition to accessors, signals are emitted to indicate that properties have
3411- * changed, for example displayNameChanged(), iconNameChanged(), etc.
3412- *
3413- * Convenience methods to create channels using the channel dispatcher such as
3414- * ensureTextChat(), createFileTransfer() are also provided.
3415- *
3416- * If the account is deleted from the AccountManager, this object
3417- * will not be deleted automatically; however, it will emit invalidated()
3418- * with error code #TP_QT_ERROR_OBJECT_REMOVED and will cease to
3419- * be useful.
3420- *
3421- * \section account_usage_sec Usage
3422- *
3423- * \subsection account_create_sec Creating an account object
3424- *
3425- * The easiest way to create account objects is through AccountManager. One can
3426- * just use the AccountManager convenience methods such as
3427- * AccountManager::validAccounts() to get a list of account objects representing
3428- * valid accounts.
3429- *
3430- * If you already know the object path, you can just call create().
3431- * For example:
3432- *
3433- * \code AccountPtr acc = Account::create(busName, objectPath); \endcode
3434- *
3435- * An AccountPtr object is returned, which will automatically keep
3436- * track of object lifetime.
3437- *
3438- * You can also provide a D-Bus connection as a QDBusConnection:
3439- *
3440- * \code
3441- *
3442- * AccountPtr acc = Account::create(QDBusConnection::sessionBus(),
3443- * busName, objectPath);
3444- *
3445- * \endcode
3446- *
3447- * \subsection account_ready_sec Making account ready to use
3448- *
3449- * An Account object needs to become ready before usage, meaning that the
3450- * introspection process finished and the object accessors can be used.
3451- *
3452- * To make the object ready, use becomeReady() and wait for the
3453- * PendingOperation::finished() signal to be emitted.
3454- *
3455- * \code
3456- *
3457- * class MyClass : public QObject
3458- * {
3459- * QOBJECT
3460- *
3461- * public:
3462- * MyClass(QObject *parent = 0);
3463- * ~MyClass() { }
3464- *
3465- * private Q_SLOTS:
3466- * void onAccountReady(Tp::PendingOperation*);
3467- *
3468- * private:
3469- * AccountPtr acc;
3470- * };
3471- *
3472- * MyClass::MyClass(const QString &busName, const QString &objectPath,
3473- * QObject *parent)
3474- * : QObject(parent)
3475- * acc(Account::create(busName, objectPath))
3476- * {
3477- * connect(acc->becomeReady(),
3478- * SIGNAL(finished(Tp::PendingOperation*)),
3479- * SLOT(onAccountReady(Tp::PendingOperation*)));
3480- * }
3481- *
3482- * void MyClass::onAccountReady(Tp::PendingOperation *op)
3483- * {
3484- * if (op->isError()) {
3485- * qWarning() << "Account cannot become ready:" <<
3486- * op->errorName() << "-" << op->errorMessage();
3487- * return;
3488- * }
3489- *
3490- * // Account is now ready
3491- * qDebug() << "Display name:" << acc->displayName();
3492- * }
3493- *
3494- * \endcode
3495- *
3496- * See \ref async_model, \ref shared_ptr
3497- */
3498-
3499-/**
3500- * Feature representing the core that needs to become ready to make the Account
3501- * object usable.
3502- *
3503- * Note that this feature must be enabled in order to use most Account methods.
3504- * See specific methods documentation for more details.
3505- *
3506- * When calling isReady(), becomeReady(), this feature is implicitly added
3507- * to the requested features.
3508- */
3509-const Feature Account::FeatureCore = Feature(QLatin1String(Account::staticMetaObject.className()), 0, true);
3510-
3511-/**
3512- * Feature used in order to access account avatar info.
3513- *
3514- * See avatar specific methods' documentation for more details.
3515- *
3516- * \sa avatar(), avatarChanged()
3517- */
3518-const Feature Account::FeatureAvatar = Feature(QLatin1String(Account::staticMetaObject.className()), 1);
3519-
3520-/**
3521- * Feature used in order to access account protocol info.
3522- *
3523- * See protocol info specific methods' documentation for more details.
3524- *
3525- * \sa protocolInfo()
3526- */
3527-const Feature Account::FeatureProtocolInfo = Feature(QLatin1String(Account::staticMetaObject.className()), 2);
3528-
3529-/**
3530- * Feature used in order to access account capabilities.
3531- *
3532- * Enabling this feature will also enable FeatureProtocolInfo and FeatureProfile.
3533- *
3534- * See capabilities specific methods' documentation for more details.
3535- *
3536- * \sa capabilities(), capabilitiesChanged()
3537- */
3538-const Feature Account::FeatureCapabilities = Feature(QLatin1String(Account::staticMetaObject.className()), 3);
3539-
3540-/**
3541- * Feature used in order to access account profile info.
3542- *
3543- * See profile specific methods' documentation for more details.
3544- *
3545- * \sa profile(), profileChanged()
3546- */
3547-const Feature Account::FeatureProfile = FeatureProtocolInfo;
3548-// FeatureProfile is the same as FeatureProtocolInfo for now, as it only needs
3549-// the protocol info, cm name and protocol name to build a fake profile. Make it
3550-// a full-featured feature if needed later.
3551-
3552-/**
3553- * Create a new Account object using QDBusConnection::sessionBus() and the given factories.
3554- *
3555- * A warning is printed if the factories are not for QDBusConnection::sessionBus().
3556- *
3557- * \param busName The account well-known bus name (sometimes called a "service
3558- * name"). This is usually the same as the account manager
3559- * bus name #TP_QT_ACCOUNT_MANAGER_BUS_NAME.
3560- * \param objectPath The account object path.
3561- * \param connectionFactory The connection factory to use.
3562- * \param channelFactory The channel factory to use.
3563- * \param contactFactory The contact factory to use.
3564- * \return An AccountPtr object pointing to the newly created Account object.
3565- */
3566-AccountPtr Account::create(const QString &busName, const QString &objectPath,
3567- const ConnectionFactoryConstPtr &connectionFactory,
3568- const ChannelFactoryConstPtr &channelFactory,
3569- const ContactFactoryConstPtr &contactFactory)
3570-{
3571- return AccountPtr(new Account(QDBusConnection::sessionBus(), busName, objectPath,
3572- connectionFactory, channelFactory, contactFactory, Account::FeatureCore));
3573-}
3574-
3575-/**
3576- * Create a new Account object using the given \a bus and the given factories.
3577- *
3578- * A warning is printed if the factories are not for \a bus.
3579- *
3580- * \param bus QDBusConnection to use.
3581- * \param busName The account well-known bus name (sometimes called a "service
3582- * name"). This is usually the same as the account manager
3583- * bus name #TP_QT_ACCOUNT_MANAGER_BUS_NAME.
3584- * \param objectPath The account object path.
3585- * \param connectionFactory The connection factory to use.
3586- * \param channelFactory The channel factory to use.
3587- * \param contactFactory The contact factory to use.
3588- * \return An AccountPtr object pointing to the newly created Account object.
3589- */
3590-AccountPtr Account::create(const QDBusConnection &bus,
3591- const QString &busName, const QString &objectPath,
3592- const ConnectionFactoryConstPtr &connectionFactory,
3593- const ChannelFactoryConstPtr &channelFactory,
3594- const ContactFactoryConstPtr &contactFactory)
3595-{
3596- return AccountPtr(new Account(bus, busName, objectPath, connectionFactory, channelFactory,
3597- contactFactory, Account::FeatureCore));
3598-}
3599-
3600-/**
3601- * Construct a new Account object using the given \a bus and the given factories.
3602- *
3603- * A warning is printed if the factories are not for \a bus.
3604- *
3605- * \param bus QDBusConnection to use.
3606- * \param busName The account well-known bus name (sometimes called a "service
3607- * name"). This is usually the same as the account manager
3608- * bus name #TP_QT_ACCOUNT_MANAGER_BUS_NAME.
3609- * \param objectPath The account object path.
3610- * \param connectionFactory The connection factory to use.
3611- * \param channelFactory The channel factory to use.
3612- * \param contactFactory The contact factory to use.
3613- * \param coreFeature The core feature of the Account subclass. The corresponding introspectable
3614- * should depend on Account::FeatureCore.
3615- */
3616-Account::Account(const QDBusConnection &bus,
3617- const QString &busName, const QString &objectPath,
3618- const ConnectionFactoryConstPtr &connectionFactory,
3619- const ChannelFactoryConstPtr &channelFactory,
3620- const ContactFactoryConstPtr &contactFactory,
3621- const Feature &coreFeature)
3622- : StatelessDBusProxy(bus, busName, objectPath, coreFeature),
3623- OptionalInterfaceFactory<Account>(this),
3624- mPriv(new Private(this, connectionFactory, channelFactory, contactFactory))
3625-{
3626-}
3627-
3628-/**
3629- * Class destructor.
3630- */
3631-Account::~Account()
3632-{
3633- delete mPriv;
3634-}
3635-
3636-/**
3637- * Return the connection factory used by this account.
3638- *
3639- * Only read access is provided. This allows constructing object instances and examining the object
3640- * construction settings, but not changing settings. Allowing changes would lead to tricky
3641- * situations where objects constructed at different times by the account would have unpredictably
3642- * different construction settings (eg. subclass).
3643- *
3644- * \return A read-only pointer to the ConnectionFactory object.
3645- */
3646-ConnectionFactoryConstPtr Account::connectionFactory() const
3647-{
3648- return mPriv->connFactory;
3649-}
3650-
3651-/**
3652- * Return the channel factory used by this account.
3653- *
3654- * Only read access is provided. This allows constructing object instances and examining the object
3655- * construction settings, but not changing settings. Allowing changes would lead to tricky
3656- * situations where objects constructed at different times by the account would have unpredictably
3657- * different construction settings (eg. subclass).
3658- *
3659- * \return A read-only pointer to the ChannelFactory object.
3660- */
3661-ChannelFactoryConstPtr Account::channelFactory() const
3662-{
3663- return mPriv->chanFactory;
3664-}
3665-
3666-/**
3667- * Return the contact factory used by this account.
3668- *
3669- * Only read access is provided. This allows constructing object instances and examining the object
3670- * construction settings, but not changing settings. Allowing changes would lead to tricky
3671- * situations where objects constructed at different times by the account would have unpredictably
3672- * different construction settings (eg. subclass).
3673- *
3674- * \return A read-only pointer to the ContactFactory object.
3675- */
3676-ContactFactoryConstPtr Account::contactFactory() const
3677-{
3678- return mPriv->contactFactory;
3679-}
3680-
3681-/**
3682- * Return whether this account is valid.
3683- *
3684- * If \c true, this account is considered by the account manager to be complete
3685- * and usable. If \c false, user action is required to make it usable, and it will
3686- * never attempt to connect. For instance, this might be caused by the absence
3687- * or misconfiguration of a required parameter, in which case updateParameters()
3688- * may be used to properly set the parameters values.
3689- *
3690- * Change notification is via the validityChanged() signal.
3691- *
3692- * This method requires Account::FeatureCore to be ready.
3693- *
3694- * \return \c true if valid, \c false otherwise.
3695- * \sa validityChanged(), updateParameters()
3696- */
3697-bool Account::isValidAccount() const
3698-{
3699- return mPriv->valid;
3700-}
3701-
3702-/**
3703- * Return whether this account is enabled.
3704- *
3705- * Change notification is via the stateChanged() signal.
3706- *
3707- * This method requires Account::FeatureCore to be ready.
3708- *
3709- * \return \c true if enabled, \c false otherwise.
3710- * \sa stateChanged(), setEnabled()
3711- */
3712-bool Account::isEnabled() const
3713-{
3714- return mPriv->enabled;
3715-}
3716-
3717-/**
3718- * Set whether this account should be enabled or disabled.
3719- *
3720- * This gives users the possibility to prevent an account from
3721- * being used.
3722- *
3723- * Note that changing this property won't change the validity of the account.
3724- *
3725- * \param value Whether this account should be enabled or disabled.
3726- * \return A PendingOperation which will emit PendingOperation::finished
3727- * when the request has been made.
3728- * \sa stateChanged(), isEnabled()
3729- */
3730-PendingOperation *Account::setEnabled(bool value)
3731-{
3732- return new PendingVoid(
3733- mPriv->properties->Set(
3734- TP_QT_IFACE_ACCOUNT,
3735- QLatin1String("Enabled"),
3736- QDBusVariant(value)),
3737- AccountPtr(this));
3738-}
3739-
3740-/**
3741- * Return the connection manager name of this account.
3742- *
3743- * \return The connection manager name.
3744- */
3745-QString Account::cmName() const
3746-{
3747- return mPriv->cmName;
3748-}
3749-
3750-/**
3751- * Return the protocol name of this account.
3752- *
3753- * \return The protocol name.
3754- */
3755-QString Account::protocolName() const
3756-{
3757- return mPriv->protocolName;
3758-}
3759-
3760-/**
3761- * Return the service name of this account.
3762- *
3763- * Note that this method will fallback to protocolName() if service name
3764- * is not known.
3765- *
3766- * Change notification is via the serviceNameChanged() signal.
3767- *
3768- * This method requires Account::FeatureCore to be ready.
3769- *
3770- * \return The service name.
3771- * \sa serviceNameChanged(), setServiceName(), protocolName()
3772- */
3773-QString Account::serviceName() const
3774-{
3775- if (mPriv->serviceName.isEmpty()) {
3776- return mPriv->protocolName;
3777- }
3778- return mPriv->serviceName;
3779-}
3780-
3781-/**
3782- * Set the service name of this account.
3783- *
3784- * Some protocols, like XMPP and SIP, are used by various different user-recognised brands,
3785- * such as Google Talk. On accounts for such services, this method can be used
3786- * to set the name describing the service, which must consist only of ASCII letters, numbers and
3787- * hyphen/minus signs, and start with a letter.
3788- * For the jabber protocol, one of the following service names should be used if possible:
3789- *
3790- * google-talk (for Google's IM service)
3791- * facebook (for Facebook's IM service)
3792- * lj-talk (for LiveJournal's IM service)
3793- *
3794- * The service name may also be set, if appropriate, when creating the account. See
3795- * AccountManager::createAccount() for more details.
3796- *
3797- * Note that changing this property may also change the profile() used by this account,
3798- * in which case profileChanged() will be emitted in addition to serviceNameChanged(), if
3799- * Account::FeatureProfile is enabled.
3800- *
3801- * \param value The service name of this account.
3802- * \return A PendingOperation which will emit PendingOperation::finished
3803- * when the request has been made.
3804- * \sa serviceNameChanged(), serviceName()
3805- */
3806-PendingOperation *Account::setServiceName(const QString &value)
3807-{
3808- return new PendingVoid(
3809- mPriv->properties->Set(
3810- TP_QT_IFACE_ACCOUNT,
3811- QLatin1String("Service"),
3812- QDBusVariant(value)),
3813- AccountPtr(this));
3814-}
3815-
3816-/**
3817- * Return the profile used by this account.
3818- *
3819- * Profiles are intended to describe variants of the basic protocols supported by Telepathy
3820- * connection managers.
3821- * An example of this would be Google Talk vs Facebook chat vs Jabber/XMPP. Google Talk is a
3822- * specific case of XMPP with well-known capabilities, quirks and settings, and Facebook chat is
3823- * a subset of the standard XMPP offering.
3824- *
3825- * This method will return the profile for this account based on the service used by it.
3826- *
3827- * Note that if a profile for serviceName() is not available, a fake profile
3828- * (Profile::isFake() is \c true) will be returned in case protocolInfo() is valid.
3829- *
3830- * The fake profile will contain the following info:
3831- * - Profile::type() will return "IM"
3832- * - Profile::provider() will return an empty string
3833- * - Profile::serviceName() will return "cmName()-serviceName()"
3834- * - Profile::name() and Profile::protocolName() will return protocolName()
3835- * - Profile::iconName() will return "im-protocolName()"
3836- * - Profile::cmName() will return cmName()
3837- * - Profile::parameters() will return a list matching CM default parameters for protocol with name
3838- * protocolName()
3839- * - Profile::presences() will return an empty list and
3840- * Profile::allowOtherPresences() will return \c true, meaning that CM
3841- * presences should be used
3842- * - Profile::unsupportedChannelClassSpecs() will return an empty list
3843- *
3844- * Change notification is via the profileChanged() signal.
3845- *
3846- * This method requires Account::FeatureProfile to be ready.
3847- *
3848- * \return A pointer to the Profile object.
3849- * \sa profileChanged(), serviceName()
3850- */
3851-ProfilePtr Account::profile() const
3852-{
3853- if (!isReady(FeatureProfile)) {
3854- warning() << "Account::profile() requires Account::FeatureProfile to be ready";
3855- return ProfilePtr();
3856- }
3857-
3858- if (!mPriv->profile) {
3859- mPriv->profile = Profile::createForServiceName(serviceName());
3860- if (!mPriv->profile->isValid()) {
3861- if (protocolInfo().isValid()) {
3862- mPriv->profile = ProfilePtr(new Profile(
3863- QString(QLatin1String("%1-%2")).arg(mPriv->cmName).arg(serviceName()),
3864- mPriv->cmName,
3865- mPriv->protocolName,
3866- protocolInfo()));
3867- } else {
3868- warning() << "Cannot create profile as neither a .profile is installed for service" <<
3869- serviceName() << "nor protocol info can be retrieved";
3870- }
3871- }
3872- }
3873- return mPriv->profile;
3874-}
3875-
3876-/**
3877- * Return the display name of this account.
3878- *
3879- * Change notification is via the displayNameChanged() signal.
3880- *
3881- * This method requires Account::FeatureCore to be ready.
3882- *
3883- * \return The display name.
3884- * \sa displayNameChanged(), setDisplayName()
3885- */
3886-QString Account::displayName() const
3887-{
3888- return mPriv->displayName;
3889-}
3890-
3891-/**
3892- * Set the display name of this account.
3893- *
3894- * The display name is the user-visible name of this account.
3895- * This is usually chosen by the user at account creation time.
3896- * See AccountManager::createAccount() for more details.
3897- *
3898- * \param value The display name of this account.
3899- * \return A PendingOperation which will emit PendingOperation::finished
3900- * when the request has been made.
3901- * \sa displayNameChanged(), displayName()
3902- */
3903-PendingOperation *Account::setDisplayName(const QString &value)
3904-{
3905- return new PendingVoid(
3906- mPriv->properties->Set(
3907- TP_QT_IFACE_ACCOUNT,
3908- QLatin1String("DisplayName"),
3909- QDBusVariant(value)),
3910- AccountPtr(this));
3911-}
3912-
3913-/**
3914- * Return the icon name of this account.
3915- *
3916- * If the account has no icon, and Account::FeatureProfile is enabled, the icon from the result of
3917- * profile() will be used.
3918- *
3919- * If neither the account nor the profile has an icon, and Account::FeatureProtocolInfo is
3920- * enabled, the icon from protocolInfo() will be used if set.
3921- *
3922- * As a last resort, "im-" + protocolName() will be returned.
3923- *
3924- * This matches the fallbacks recommended by the \telepathy_spec.
3925- *
3926- * Change notification is via the iconNameChanged() signal.
3927- *
3928- * This method requires Account::FeatureCore to be ready.
3929- *
3930- * \return The icon name.
3931- * \sa iconNameChanged(), setIconName()
3932- */
3933-QString Account::iconName() const
3934-{
3935- if (mPriv->iconName.isEmpty()) {
3936- if (isReady(FeatureProfile)) {
3937- ProfilePtr pr = profile();
3938- if (pr && pr->isValid()) {
3939- QString iconName = pr->iconName();
3940- if (!iconName.isEmpty()) {
3941- return iconName;
3942- }
3943- }
3944- }
3945-
3946- if (isReady(FeatureProtocolInfo) && protocolInfo().isValid()) {
3947- return protocolInfo().iconName();
3948- }
3949-
3950- return QString(QLatin1String("im-%1")).arg(protocolName());
3951- }
3952-
3953- return mPriv->iconName;
3954-}
3955-
3956-/**
3957- * Set the icon name of this account.
3958- *
3959- * \param value The icon name of this account.
3960- * \return A PendingOperation which will emit PendingOperation::finished
3961- * when the request has been made.
3962- * \sa iconNameChanged(), iconName()
3963- */
3964-PendingOperation *Account::setIconName(const QString &value)
3965-{
3966- return new PendingVoid(
3967- mPriv->properties->Set(
3968- TP_QT_IFACE_ACCOUNT,
3969- QLatin1String("Icon"),
3970- QDBusVariant(value)),
3971- AccountPtr(this));
3972-}
3973-
3974-/**
3975- * Return the nickname of this account.
3976- *
3977- * Change notification is via the nicknameChanged() signal.
3978- *
3979- * This method requires Account::FeatureCore to be ready.
3980- *
3981- * \return The nickname.
3982- * \sa nicknameChanged(), setNickname()
3983- */
3984-QString Account::nickname() const
3985-{
3986- return mPriv->nickname;
3987-}
3988-
3989-/**
3990- * Set the nickname of this account as seen to other contacts.
3991- *
3992- * \param value The nickname of this account.
3993- * \return A PendingOperation which will emit PendingOperation::finished
3994- * when the request has been made.
3995- * \sa nicknameChanged(), nickname()
3996- */
3997-PendingOperation *Account::setNickname(const QString &value)
3998-{
3999- return new PendingVoid(
4000- mPriv->properties->Set(
4001- TP_QT_IFACE_ACCOUNT,
4002- QLatin1String("Nickname"),
4003- QDBusVariant(value)),
4004- AccountPtr(this));
4005-}
4006-
4007-/**
4008- * Return the avatar requirements (size limits, supported MIME types, etc)
4009- * for avatars passed to setAvatar() on this account.
4010- *
4011- * For now this method will only return the avatar requirements found in protocolInfo() if
4012- * Account::FeatureProtocolInfo is ready, otherwise an invalid AvatarSpec instance is returned.
4013- *
4014- * \return The requirements as an AvatarSpec object.
4015- * \sa avatar(), setAvatar()
4016- */
4017-AvatarSpec Account::avatarRequirements() const
4018-{
4019- // TODO Once connection has support for avatar requirements use it if the connection is usable
4020- ProtocolInfo pi = protocolInfo();
4021- if (pi.isValid()) {
4022- return pi.avatarRequirements();
4023- }
4024- return AvatarSpec();
4025-}
4026-
4027-/**
4028- * Return the avatar of this account.
4029- *
4030- * Change notification is via the avatarChanged() signal.
4031- *
4032- * This method requires Account::FeatureAvatar to be ready.
4033- *
4034- * \return The avatar as an Avatar object.
4035- * \sa avatarChanged(), setAvatar()
4036- */
4037-const Avatar &Account::avatar() const
4038-{
4039- if (!isReady(Features() << FeatureAvatar)) {
4040- warning() << "Trying to retrieve avatar from account, but "
4041- "avatar is not supported or was not requested. "
4042- "Use becomeReady(FeatureAvatar)";
4043- }
4044-
4045- return mPriv->avatar;
4046-}
4047-
4048-/**
4049- * Set avatar of this account as seen to other contacts.
4050- *
4051- * Note that \a avatar must match the requirements as returned by avatarRequirements().
4052- *
4053- * \param avatar The avatar of this account.
4054- * \return A PendingOperation which will emit PendingOperation::finished
4055- * when the request has been made.
4056- * \sa avatarChanged(), avatar(), avatarRequirements()
4057- */
4058-PendingOperation *Account::setAvatar(const Avatar &avatar)
4059-{
4060- if (!interfaces().contains(TP_QT_IFACE_ACCOUNT_INTERFACE_AVATAR)) {
4061- return new PendingFailure(
4062- TP_QT_ERROR_NOT_IMPLEMENTED,
4063- QLatin1String("Account does not support Avatar"),
4064- AccountPtr(this));
4065- }
4066-
4067- return new PendingVoid(
4068- mPriv->properties->Set(
4069- TP_QT_IFACE_ACCOUNT_INTERFACE_AVATAR,
4070- QLatin1String("Avatar"),
4071- QDBusVariant(QVariant::fromValue(avatar))),
4072- AccountPtr(this));
4073-}
4074-
4075-/**
4076- * Return the parameters of this account.
4077- *
4078- * The account parameters are represented as a map from connection manager parameter names
4079- * to their values.
4080- *
4081- * Change notification is via the parametersChanged() signal.
4082- *
4083- * This method requires Account::FeatureCore to be ready.
4084- *
4085- * \return The parameters as QVariantMap.
4086- * \sa parametersChanged(), updateParameters()
4087- */
4088-QVariantMap Account::parameters() const
4089-{
4090- return mPriv->parameters;
4091-}
4092-
4093-/**
4094- * Update this account parameters.
4095- *
4096- * On success, the PendingOperation returned by this method will produce a
4097- * list of strings, which are the names of parameters whose changes will not
4098- * take effect until the account is disconnected and reconnected (for instance
4099- * by calling reconnect()).
4100- *
4101- * \param set Parameters to set.
4102- * \param unset Parameters to unset.
4103- * \return A PendingStringList which will emit PendingStringList::finished
4104- * when the request has been made
4105- * \sa parametersChanged(), parameters(), reconnect()
4106- */
4107-PendingStringList *Account::updateParameters(const QVariantMap &set,
4108- const QStringList &unset)
4109-{
4110- return new PendingStringList(
4111- baseInterface()->UpdateParameters(set, unset),
4112- AccountPtr(this));
4113-}
4114-
4115-/**
4116- * Return the protocol info of this account protocol.
4117- *
4118- * This method requires Account::FeatureProtocolInfo to be ready.
4119- *
4120- * \return The protocol info as a ProtocolInfo object.
4121- */
4122-ProtocolInfo Account::protocolInfo() const
4123-{
4124- if (!isReady(Features() << FeatureProtocolInfo)) {
4125- warning() << "Trying to retrieve protocol info from account, but "
4126- "protocol info is not supported or was not requested. "
4127- "Use becomeReady(FeatureProtocolInfo)";
4128- return ProtocolInfo();
4129- }
4130-
4131- return mPriv->cm->protocol(mPriv->protocolName);
4132-}
4133-
4134-/**
4135- * Return the capabilities for this account.
4136- *
4137- * Note that this method will return the connection() capabilities if the
4138- * account is online and ready. If the account is disconnected, it will fallback
4139- * to return the subtraction of the protocolInfo() capabilities and the profile() unsupported
4140- * capabilities.
4141- *
4142- * Change notification is via the capabilitiesChanged() signal.
4143- *
4144- * This method requires Account::FeatureCapabilities to be ready.
4145- *
4146- * \return The capabilities as a ConnectionCapabilities object.
4147- * \sa capabilitiesChanged(), protocolInfo(), profile()
4148- */
4149-ConnectionCapabilities Account::capabilities() const
4150-{
4151- if (!isReady(FeatureCapabilities)) {
4152- warning() << "Trying to retrieve capabilities from account, but "
4153- "FeatureCapabilities was not requested. "
4154- "Use becomeReady(FeatureCapabilities)";
4155- return ConnectionCapabilities();
4156- }
4157-
4158- // if the connection is online and ready use its caps
4159- if (mPriv->connection &&
4160- mPriv->connection->status() == ConnectionStatusConnected) {
4161- return mPriv->connection->capabilities();
4162- }
4163-
4164- // if we are here it means FeatureProtocolInfo and FeatureProfile are ready, as
4165- // FeatureCapabilities depend on them, so let's use the subtraction of protocol info caps rccs
4166- // and profile unsupported rccs.
4167- //
4168- // However, if we failed to introspect the CM (eg. this is a test), then let's not try to use
4169- // the protocolInfo because it'll be NULL! Profile may also be NULL in case a .profile for
4170- // serviceName() is not present and protocolInfo is NULL.
4171- ProtocolInfo pi = protocolInfo();
4172- if (!pi.isValid()) {
4173- return ConnectionCapabilities();
4174- }
4175- ProfilePtr pr;
4176- if (isReady(FeatureProfile)) {
4177- pr = profile();
4178- }
4179- if (!pr || !pr->isValid()) {
4180- return pi.capabilities();
4181- }
4182-
4183- RequestableChannelClassSpecList piClassSpecs = pi.capabilities().allClassSpecs();
4184- RequestableChannelClassSpecList prUnsupportedClassSpecs = pr->unsupportedChannelClassSpecs();
4185- RequestableChannelClassSpecList classSpecs;
4186- bool unsupported;
4187- foreach (const RequestableChannelClassSpec &piClassSpec, piClassSpecs) {
4188- unsupported = false;
4189- foreach (const RequestableChannelClassSpec &prUnsuportedClassSpec, prUnsupportedClassSpecs) {
4190- // Here we check the following:
4191- // - If the unsupported spec has no allowed property it means it does not support any
4192- // class whose fixed properties match.
4193- // E.g: Doesn't support any media calls, be it audio or video.
4194- // - If the unsupported spec has allowed properties it means it does not support a
4195- // specific class whose fixed properties and allowed properties should match.
4196- // E.g: Doesn't support video calls but does support audio calls.
4197- if (prUnsuportedClassSpec.allowedProperties().isEmpty()) {
4198- if (piClassSpec.fixedProperties() == prUnsuportedClassSpec.fixedProperties()) {
4199- unsupported = true;
4200- break;
4201- }
4202- } else {
4203- if (piClassSpec == prUnsuportedClassSpec) {
4204- unsupported = true;
4205- break;
4206- }
4207- }
4208- }
4209- if (!unsupported) {
4210- classSpecs.append(piClassSpec);
4211- }
4212- }
4213- mPriv->customCaps = ConnectionCapabilities(classSpecs);
4214- return mPriv->customCaps;
4215-}
4216-
4217-/**
4218- * Return whether this account should be put online automatically whenever
4219- * possible.
4220- *
4221- * Change notification is via the connectsAutomaticallyPropertyChanged() signal.
4222- *
4223- * This method requires Account::FeatureCore to be ready.
4224- *
4225- * \return \c true if it should try to connect automatically, \c false
4226- * otherwise.
4227- * \sa connectsAutomaticallyPropertyChanged(), setConnectsAutomatically()
4228- */
4229-bool Account::connectsAutomatically() const
4230-{
4231- return mPriv->connectsAutomatically;
4232-}
4233-
4234-/**
4235- * Set whether this account should be put online automatically whenever
4236- * possible.
4237- *
4238- * \param value Value indicating if this account should be put online whenever
4239- * possible.
4240- * \return A PendingOperation which will emit PendingOperation::finished
4241- * when the request has been made.
4242- * \sa connectsAutomaticallyPropertyChanged(), connectsAutomatically()
4243- */
4244-PendingOperation *Account::setConnectsAutomatically(bool value)
4245-{
4246- return new PendingVoid(
4247- mPriv->properties->Set(
4248- TP_QT_IFACE_ACCOUNT,
4249- QLatin1String("ConnectAutomatically"),
4250- QDBusVariant(value)),
4251- AccountPtr(this));
4252-}
4253-
4254-/**
4255- * Return whether this account has ever been put online successfully.
4256- *
4257- * This property cannot change from \c true to \c false, only from \c false to \c true.
4258- * When the account successfully goes online for the first time, or when it
4259- * is detected that this has already happened, the firstOnline() signal is
4260- * emitted.
4261- *
4262- * This method requires Account::FeatureCore to be ready.
4263- *
4264- * \return \c true if ever been online, \c false otherwise.
4265- */
4266-bool Account::hasBeenOnline() const
4267-{
4268- return mPriv->hasBeenOnline;
4269-}
4270-
4271-/**
4272- * Return the status of this account connection.
4273- *
4274- * Note that this method may return a different value from the one returned by Connection::status()
4275- * on this account connection. This happens because this value will change whenever the connection
4276- * status of this account connection changes and won't consider the Connection introspection
4277- * process. The same rationale also applies to connectionStatusReason() and
4278- * connectionErrorDetails().
4279- *
4280- * A valid use case for this is for account creation UIs that wish to display the accounts
4281- * connection status and nothing else on the connections (e.g. retrieve the contact list).
4282- *
4283- * Change notification is via the connectionStatusChanged() signal.
4284- *
4285- * This method requires Account::FeatureCore to be ready.
4286- *
4287- * \return The connection status as #ConnectionStatus.
4288- * \sa connectionStatusChanged(), connectionStatusReason(), connectionError(),
4289- * connectionErrorDetails()
4290- */
4291-ConnectionStatus Account::connectionStatus() const
4292-{
4293- return mPriv->connectionStatus;
4294-}
4295-
4296-/**
4297- * Return the reason for this account connection status.
4298- *
4299- * This represents the reason for the last change to connectionStatus().
4300- *
4301- * Note that this method may return a different value from the one returned by
4302- * Connection::statusReason() on this account connection.
4303- * See connectionStatus() for more details.
4304- *
4305- * This method requires Account::FeatureCore to be ready.
4306- *
4307- * \return The connection status reason as #ConnectionStatusReason.
4308- * \sa connectionStatusChanged(), connectionStatus(), connectionError(), connectionErrorDetails()
4309- */
4310-ConnectionStatusReason Account::connectionStatusReason() const
4311-{
4312- return mPriv->connectionStatusReason;
4313-}
4314-
4315-/**
4316- * Return the D-Bus error name for the last disconnection or connection failure,
4317- * (in particular, #TP_QT_ERROR_CANCELLED if it was disconnected by user
4318- * request), or an empty string if the account is connected.
4319- *
4320- * This method requires Account::FeatureCore to be ready.
4321- *
4322- * \return The D-Bus error name for the last disconnection or connection failure.
4323- * \sa connectionErrorDetails(), connectionStatus(), connectionStatusReason(),
4324- * connectionStatusChanged()
4325- */
4326-QString Account::connectionError() const
4327-{
4328- return mPriv->connectionError;
4329-}
4330-
4331-/**
4332- * Return detailed information related to connectionError().
4333- *
4334- * Note that this method may return a different value from the one returned by
4335- * Connection::errorDetails() on this account connection.
4336- * See connectionStatus() for more details.
4337- *
4338- * This method requires Account::FeatureCore to be ready.
4339- *
4340- * \return The connection error details as a Connection::ErrorDetails object.
4341- * \sa connectionError(), connectionStatus(), connectionStatusReason(), connectionStatusChanged(),
4342- * Connection::ErrorDetails.
4343- */
4344-Connection::ErrorDetails Account::connectionErrorDetails() const
4345-{
4346- return mPriv->connectionErrorDetails;
4347-}
4348-
4349-/**
4350- * Return the object representing the connection of this account.
4351- *
4352- * Note that the Connection object returned by this method will have the
4353- * features set in the connectionFactory() used by this account ready.
4354- *
4355- * Change notification is via the connectionChanged() signal.
4356- *
4357- * This method requires Account::FeatureCore to be ready.
4358- *
4359- * \return A pointer to the Connection object, or a null ConnectionPtr if
4360- * there is no connection currently or if an error occurred.
4361- * \sa connectionChanged()
4362- */
4363-ConnectionPtr Account::connection() const
4364-{
4365- return mPriv->connection;
4366-}
4367-
4368-/**
4369- * Return whether this account connection is changing presence.
4370- *
4371- * Change notification is via the changingPresence() signal.
4372- *
4373- * This method requires Account::FeatureCore to be ready.
4374- *
4375- * \return \c true if changing presence, \c false otherwise.
4376- * \sa changingPresence(), currentPresenceChanged(), setRequestedPresence()
4377- */
4378-bool Account::isChangingPresence() const
4379-{
4380- return mPriv->changingPresence;
4381-}
4382-
4383-/**
4384- * Return a list of presences allowed by a connection to this account.
4385- *
4386- * In particular, for the statuses reported here it can be assumed that setting them as the
4387- * requested presence via setRequestedPresence() will eventually result in currentPresence()
4388- * changing to exactly said presence. Other statuses are only guaranteed to be matched as closely as
4389- * possible.
4390- *
4391- * The statuses can be also used for the automatic presence, as set by setAutomaticPresence(), with
4392- * the exception of any status specifications for which Presence::type() is
4393- * Tp::ConnectionPresenceTypeOffline for the Presence returned by PresenceSpec::presence().
4394- *
4395- * However, the optional parameter can be used to allow reporting also other possible presence
4396- * statuses on this protocol besides the others that can be set on yourself. These are purely
4397- * informatory, for e.g. adjusting an UI to allow all possible remote contact statuses to be
4398- * displayed.
4399- *
4400- * An offline presence status is always included, because it's always valid to make an account
4401- * offline by setting the requested presence to an offline status.
4402- *
4403- * Full functionality requires Account::FeatureProtocolInfo and Account::FeatureProfile to be ready
4404- * as well as connection with Connection::FeatureSimplePresence enabled. If the connection is online
4405- * and Connection::FeatureSimplePresence is enabled, it will return the connection allowed statuses,
4406- * otherwise it will return a list os statuses based on profile() and protocolInfo() information
4407- * if the corresponding features are enabled.
4408- *
4409- * If there's a mismatch between the presence status info provided in the .profile file and/or the
4410- * .manager file and what an online Connection actually reports (for example, the said data files
4411- * are missing or too old to include presence information), the returned value can change, in
4412- * particular when connectionChanged() is emitted with a connection for which Connection::status()
4413- * is Tp::ConnectionStatusConnected.
4414- *
4415- * This method requires Account::FeatureCore to be ready.
4416- *
4417- * \param includeAllStatuses Whether the returned list will include all statuses or just the ones
4418- * that can be settable using setRequestedPresence().
4419- * \return The allowed statuses as a list of PresenceSpec objects.
4420- */
4421-PresenceSpecList Account::allowedPresenceStatuses(bool includeAllStatuses) const
4422-{
4423- QHash<QString, PresenceSpec> specMap;
4424-
4425- // if the connection is online and ready use it
4426- if (mPriv->connection &&
4427- mPriv->connection->status() == ConnectionStatusConnected &&
4428- mPriv->connection->actualFeatures().contains(Connection::FeatureSimplePresence)) {
4429- SimpleStatusSpecMap connectionAllowedPresences =
4430- mPriv->connection->lowlevel()->allowedPresenceStatuses();
4431- SimpleStatusSpecMap::const_iterator i = connectionAllowedPresences.constBegin();
4432- SimpleStatusSpecMap::const_iterator end = connectionAllowedPresences.constEnd();
4433- for (; i != end; ++i) {
4434- PresenceSpec presence = PresenceSpec(i.key(), i.value());
4435- specMap.insert(i.key(), presence);
4436- }
4437- } else {
4438- ProtocolInfo pi = protocolInfo();
4439- if (pi.isValid()) {
4440- // add all ProtocolInfo presences to the returned map
4441- foreach (const PresenceSpec &piPresence, pi.allowedPresenceStatuses()) {
4442- QString piStatus = piPresence.presence().status();
4443- specMap.insert(piStatus, piPresence);
4444- }
4445- }
4446-
4447- ProfilePtr pr;
4448- if (isReady(FeatureProfile)) {
4449- pr = profile();
4450- }
4451- if (pr && pr->isValid()) {
4452- // add all Profile presences to the returned map
4453- foreach (const Profile::Presence &prPresence, pr->presences()) {
4454- QString prStatus = prPresence.id();
4455- if (specMap.contains(prStatus)) {
4456- // we already got the presence from ProtocolInfo, just update
4457- // canHaveStatusMessage if needed
4458- PresenceSpec presence = specMap.value(prStatus);
4459- if (presence.canHaveStatusMessage() != prPresence.canHaveStatusMessage()) {
4460- SimpleStatusSpec spec;
4461- spec.type = presence.presence().type();
4462- spec.maySetOnSelf = presence.maySetOnSelf();
4463- spec.canHaveMessage = prPresence.canHaveStatusMessage();
4464- specMap.insert(prStatus, PresenceSpec(prStatus, spec));
4465- }
4466- } else {
4467- // presence not found in ProtocolInfo, adding it
4468- specMap.insert(prStatus, presenceSpecForStatus(prStatus,
4469- prPresence.canHaveStatusMessage()));
4470- }
4471- }
4472-
4473- // now remove all presences that are not in the Profile, if it does
4474- // not allow other presences, and the ones that are disabled
4475- QHash<QString, PresenceSpec>::iterator i = specMap.begin();
4476- QHash<QString, PresenceSpec>::iterator end = specMap.end();
4477- while (i != end) {
4478- PresenceSpec presence = i.value();
4479- QString status = presence.presence().status();
4480- bool hasPresence = pr->hasPresence(status);
4481- Profile::Presence prPresence = pr->presence(status);
4482- if ((!hasPresence && !pr->allowOtherPresences()) || (hasPresence && prPresence.isDisabled())) {
4483- i = specMap.erase(i);
4484- } else {
4485- ++i;
4486- }
4487- }
4488- }
4489- }
4490-
4491- // filter out presences that may not be set on self if includeAllStatuses is false
4492- if (!includeAllStatuses) {
4493- QHash<QString, PresenceSpec>::iterator i = specMap.begin();
4494- QHash<QString, PresenceSpec>::iterator end = specMap.end();
4495- while (i != end) {
4496- PresenceSpec presence = i.value();
4497- if (!presence.maySetOnSelf()) {
4498- i = specMap.erase(i);
4499- } else {
4500- ++i;
4501- }
4502- }
4503- }
4504-
4505- if (!specMap.size()) {
4506- // If we didn't discover any statuses, either the protocol doesn't really support presence,
4507- // or we lack information (e.g. features not enabled or info not provided in the .manager or
4508- // .profile files). "available" - just the fact that you're online in the first place, is at
4509- // least a valid option for any protocol, so we'll include it as a fallback.
4510-
4511- specMap.insert(QLatin1String("available"),
4512- presenceSpecForStatus(QLatin1String("available"), false));
4513- }
4514-
4515- // We'll always include "offline". It is always valid to make an account offline via
4516- // setRequestedPresence().
4517- if (!specMap.contains(QLatin1String("offline"))) {
4518- specMap.insert(QLatin1String("offline"),
4519- presenceSpecForStatus(QLatin1String("offline"), false));
4520- }
4521-
4522- return specMap.values();
4523-}
4524-
4525-/**
4526- * Return the maximum length for a presence status message.
4527- *
4528- * If a status message set using setRequestedPresence() (or setAutomaticPresence()) is longer than
4529- * the maximum length allowed, the message will be truncated and
4530- * currentPresenceChanged() will be emitted (if setting the presence worked)
4531- * with the truncated message.
4532- *
4533- * Full functionality requires Connection with Connection::FeatureSimplePresence
4534- * enabled. If the connection is online and Connection::FeatureSimplePresence is
4535- * enabled, it will return the connection maximum status message length,
4536- * otherwise it will return 0.
4537- *
4538- * This method requires Account::FeatureCore to be ready.
4539- *
4540- * \return The maximum length, or 0 if there is no limit.
4541- */
4542-uint Account::maxPresenceStatusMessageLength() const
4543-{
4544- // if the connection is online and ready use it
4545- if (mPriv->connection &&
4546- mPriv->connection->status() == ConnectionStatusConnected &&
4547- mPriv->connection->actualFeatures().contains(Connection::FeatureSimplePresence)) {
4548- return mPriv->connection->lowlevel()->maxPresenceStatusMessageLength();
4549- }
4550-
4551- return 0;
4552-}
4553-
4554-/**
4555- * Return the presence status that this account will have set on it by the
4556- * account manager if it brings it online automatically.
4557- *
4558- * Change notification is via the automaticPresenceChanged() signal.
4559- *
4560- * This method requires Account::FeatureCore to be ready.
4561- *
4562- * \return The automatic presence as a Presence object.
4563- * \sa automaticPresenceChanged(), setAutomaticPresence()
4564- */
4565-Presence Account::automaticPresence() const
4566-{
4567- return mPriv->automaticPresence;
4568-}
4569-
4570-/**
4571- * Set the presence status that this account should have if it is brought
4572- * online automatically by the account manager.
4573- *
4574- * Note that changing this property won't actually change the account's status
4575- * until the next time it is (re)connected for some reason.
4576- *
4577- * The value of this property must be one that would be acceptable for setRequestedPresence(),
4578- * as returned by allowedPresenceStatuses(), with the additional restriction that the offline
4579- * presence cannot be used.
4580- *
4581- * \param presence The presence to set when this account is brought
4582- * online automatically by the account manager.
4583- * \return A PendingOperation which will emit PendingOperation::finished
4584- * when the request has been made.
4585- * \sa automaticPresenceChanged(), automaticPresence(), setRequestedPresence()
4586- */
4587-PendingOperation *Account::setAutomaticPresence(const Presence &presence)
4588-{
4589- return new PendingVoid(
4590- mPriv->properties->Set(
4591- TP_QT_IFACE_ACCOUNT,
4592- QLatin1String("AutomaticPresence"),
4593- QDBusVariant(QVariant::fromValue(presence.barePresence()))),
4594- AccountPtr(this));
4595-}
4596-
4597-/**
4598- * Return the actual presence of this account.
4599- *
4600- * Change notification is via the currentPresenceChanged() signal.
4601- *
4602- * This method requires Account::FeatureCore to be ready.
4603- *
4604- * \return The current presence as a Presence object.
4605- * \sa currentPresenceChanged(), setRequestedPresence(), requestedPresence(), automaticPresence()
4606- */
4607-Presence Account::currentPresence() const
4608-{
4609- return mPriv->currentPresence;
4610-}
4611-
4612-/**
4613- * Return the requested presence of this account.
4614- *
4615- * Change notification is via the requestedPresenceChanged() signal.
4616- *
4617- * This method requires Account::FeatureCore to be ready.
4618- *
4619- * \return The requested presence as a Presence object.
4620- * \sa requestedPresenceChanged(), setRequestedPresence(), currentPresence(), automaticPresence()
4621- */
4622-Presence Account::requestedPresence() const
4623-{
4624- return mPriv->requestedPresence;
4625-}
4626-
4627-/**
4628- * Set the requested presence of this account.
4629- *
4630- * When the requested presence is changed, the account manager will attempt to
4631- * manipulate the connection to make currentPresence() match requestedPresence()
4632- * as closely as possible.
4633- *
4634- * \param presence The requested presence.
4635- * \return A PendingOperation which will emit PendingOperation::finished
4636- * when the request has been made.
4637- * \sa requestedPresenceChanged(), currentPresence(), automaticPresence(), setAutomaticPresence()
4638- */
4639-PendingOperation *Account::setRequestedPresence(const Presence &presence)
4640-{
4641- return new PendingVoid(
4642- mPriv->properties->Set(
4643- TP_QT_IFACE_ACCOUNT,
4644- QLatin1String("RequestedPresence"),
4645- QDBusVariant(QVariant::fromValue(presence.barePresence()))),
4646- AccountPtr(this));
4647-}
4648-
4649-/**
4650- * Return whether this account is online.
4651- *
4652- * Change notification is via the onlinenessChanged() signal.
4653- *
4654- * This method requires Account::FeatureCore to be ready.
4655- *
4656- * \return \c true if online, otherwise \c false.
4657- * \sa onlinenessChanged()
4658- */
4659-bool Account::isOnline() const
4660-{
4661- return mPriv->currentPresence.type() != ConnectionPresenceTypeOffline;
4662-}
4663-
4664-/**
4665- * Return the unique identifier of this account.
4666- *
4667- * \return The unique identifier.
4668- */
4669-QString Account::uniqueIdentifier() const
4670-{
4671- QString path = objectPath();
4672- return path.right(path.length() -
4673- strlen("/org/freedesktop/Telepathy/Account/"));
4674-}
4675-
4676-/**
4677- * Return the normalized user ID of the local user of this account.
4678- *
4679- * It is unspecified whether this user ID is globally unique.
4680- *
4681- * As currently implemented, IRC user IDs are only unique within the same
4682- * IRCnet. On some saner protocols, the user ID includes a DNS name which
4683- * provides global uniqueness.
4684- *
4685- * If this value is not known yet (which will always be the case for accounts
4686- * that have never been online), it will be an empty string.
4687- *
4688- * It is possible that this value will change if the connection manager's
4689- * normalization algorithm changes.
4690- *
4691- * This method requires Account::FeatureCore to be ready.
4692- *
4693- * \return The normalized user ID of the local user.
4694- * \sa normalizedNameChanged()
4695- */
4696-QString Account::normalizedName() const
4697-{
4698- return mPriv->normalizedName;
4699-}
4700-
4701-/**
4702- * If this account is currently connected, disconnect and reconnect it. If it
4703- * is currently trying to connect, cancel the attempt to connect and start
4704- * another. If it is currently disconnected, do nothing.
4705- *
4706- * \return A PendingOperation which will emit PendingOperation::finished
4707- * when the request has been made.
4708- */
4709-PendingOperation *Account::reconnect()
4710-{
4711- return new PendingVoid(baseInterface()->Reconnect(), AccountPtr(this));
4712-}
4713-
4714-/**
4715- * Delete this account.
4716- *
4717- * \return A PendingOperation which will emit PendingOperation::finished
4718- * when the request has been made.
4719- * \sa removed()
4720- */
4721-PendingOperation *Account::remove()
4722-{
4723- return new PendingVoid(baseInterface()->Remove(), AccountPtr(this));
4724-}
4725-
4726-/**
4727- * Return whether passing hints on channel requests on this account is known to be supported.
4728- *
4729- * This method requires Account::FeatureCore to be ready.
4730- *
4731- * \return \c true if supported, \c false otherwise.
4732- */
4733-bool Account::supportsRequestHints() const
4734-{
4735- return mPriv->dispatcherContext->supportsHints;
4736-}
4737-
4738-/**
4739- * Return whether the ChannelRequest::succeeded(const Tp::ChannelPtr &channel) signal is expected to
4740- * be emitted with a non-NULL channel parameter for requests made using this account.
4741- *
4742- * This can be used as a run-time check for the Channel Dispatcher implementation being new enough.
4743- * In particular, similarly old Channel Dispatchers don't support request hints either, so the
4744- * return value for this function and Account::supportsRequestHints() will bet he same.
4745- *
4746- * This method requires Account::FeatureCore to be ready.
4747- *
4748- * \return \c true if supported, \c false otherwise.
4749- */
4750-bool Account::requestsSucceedWithChannel() const
4751-{
4752- return supportsRequestHints();
4753-}
4754-
4755-/**
4756- * Start a request to ensure that a text channel with the given
4757- * contact \a contactIdentifier exists, creating it if necessary.
4758- *
4759- * See ensureChannel() for more details.
4760- *
4761- * \param contactIdentifier The identifier of the contact to chat with.
4762- * \param userActionTime The time at which user action occurred, or QDateTime()
4763- * if this channel request is for some reason not
4764- * involving user action.
4765- * \param preferredHandler Either the well-known bus name (starting with
4766- * org.freedesktop.Telepathy.Client.) of the preferred
4767- * handler for this channel, or an empty string to
4768- * indicate that any handler would be acceptable.
4769- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4770- * as indicated by supportsRequestHints().
4771- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4772- * when the request has been made.
4773- * \sa ensureChannel(), createChannel()
4774- */
4775-PendingChannelRequest *Account::ensureTextChat(
4776- const QString &contactIdentifier,
4777- const QDateTime &userActionTime,
4778- const QString &preferredHandler,
4779- const ChannelRequestHints &hints)
4780-{
4781- QVariantMap request = textChatRequest(contactIdentifier);
4782-
4783- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4784- preferredHandler, false, hints);
4785-}
4786-
4787-/**
4788- * Start a request to ensure that a text channel with the given
4789- * contact \a contact exists, creating it if necessary.
4790- *
4791- * See ensureChannel() for more details.
4792- *
4793- * \param contact The contact to chat with.
4794- * \param userActionTime The time at which user action occurred, or QDateTime()
4795- * if this channel request is for some reason not
4796- * involving user action.
4797- * \param preferredHandler Either the well-known bus name (starting with
4798- * org.freedesktop.Telepathy.Client.) of the preferred
4799- * handler for this channel, or an empty string to
4800- * indicate that any handler would be acceptable.
4801- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4802- * as indicated by supportsRequestHints().
4803- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4804- * when the request has been made.
4805- * \sa ensureChannel(), createChannel()
4806- */
4807-PendingChannelRequest *Account::ensureTextChat(
4808- const ContactPtr &contact,
4809- const QDateTime &userActionTime,
4810- const QString &preferredHandler,
4811- const ChannelRequestHints &hints)
4812-{
4813- QVariantMap request = textChatRequest(contact);
4814-
4815- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4816- preferredHandler, false, hints);
4817-}
4818-
4819-/**
4820- * Start a request to ensure that a text chat room with the given
4821- * room name \a roomName exists, creating it if necessary.
4822- *
4823- * See ensureChannel() for more details.
4824- *
4825- * \param roomName The name of the chat room.
4826- * \param userActionTime The time at which user action occurred, or QDateTime()
4827- * if this channel request is for some reason not
4828- * involving user action.
4829- * \param preferredHandler Either the well-known bus name (starting with
4830- * org.freedesktop.Telepathy.Client.) of the preferred
4831- * handler for this channel, or an empty string to
4832- * indicate that any handler would be acceptable.
4833- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4834- * as indicated by supportsRequestHints().
4835- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4836- * when the request has been made.
4837- * \sa ensureChannel(), createChannel()
4838- */
4839-PendingChannelRequest *Account::ensureTextChatroom(
4840- const QString &roomName,
4841- const QDateTime &userActionTime,
4842- const QString &preferredHandler,
4843- const ChannelRequestHints &hints)
4844-{
4845- QVariantMap request = textChatroomRequest(roomName);
4846-
4847- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4848- preferredHandler, false, hints);
4849-}
4850-
4851-/**
4852- * Start a request to ensure that an audio call channel with the given
4853- * contact \a contactIdentifier exists, creating it if necessary.
4854- *
4855- * See ensureChannel() for more details.
4856- *
4857- * \param contactIdentifier The identifier of the contact to call.
4858- * \param initialAudioContentName The name of the initial CallContent that will
4859- * be automatically added on the channel.
4860- * \param userActionTime The time at which user action occurred, or QDateTime()
4861- * if this channel request is for some reason not
4862- * involving user action.
4863- * \param preferredHandler Either the well-known bus name (starting with
4864- * org.freedesktop.Telepathy.Client.) of the preferred
4865- * handler for this channel, or an empty string to
4866- * indicate that any handler would be acceptable.
4867- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4868- * as indicated by supportsRequestHints().
4869- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4870- * when the request has been made.
4871- * \sa ensureChannel(), createChannel()
4872- */
4873-PendingChannelRequest *Account::ensureAudioCall(
4874- const QString &contactIdentifier,
4875- const QString &initialAudioContentName,
4876- const QDateTime &userActionTime,
4877- const QString &preferredHandler,
4878- const ChannelRequestHints &hints)
4879-{
4880- QVariantMap request = audioCallRequest(contactIdentifier, initialAudioContentName);
4881-
4882- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4883- preferredHandler, false, hints);
4884-}
4885-
4886-/**
4887- * Start a request to ensure that an audio call channel with the given
4888- * contact \a contact exists, creating it if necessary.
4889- *
4890- * See ensureChannel() for more details.
4891- *
4892- * \param contact The contact to call.
4893- * \param initialAudioContentName The name of the initial audio CallContent that
4894- * will be automatically added on the channel.
4895- * \param userActionTime The time at which user action occurred, or QDateTime()
4896- * if this channel request is for some reason not
4897- * involving user action.
4898- * \param preferredHandler Either the well-known bus name (starting with
4899- * org.freedesktop.Telepathy.Client.) of the preferred
4900- * handler for this channel, or an empty string to
4901- * indicate that any handler would be acceptable.
4902- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4903- * as indicated by supportsRequestHints().
4904- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4905- * when the request has been made.
4906- * \sa ensureChannel(), createChannel()
4907- */
4908-PendingChannelRequest* Account::ensureAudioCall(
4909- const ContactPtr &contact,
4910- const QString &initialAudioContentName,
4911- const QDateTime &userActionTime,
4912- const QString &preferredHandler,
4913- const ChannelRequestHints &hints)
4914-{
4915- QVariantMap request = audioCallRequest(contact, initialAudioContentName);
4916-
4917- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4918- preferredHandler, false, hints);
4919-}
4920-
4921-/**
4922- * Start a request to ensure that a video call channel with the given
4923- * contact \a contactIdentifier exists, creating it if necessary.
4924- *
4925- * See ensureChannel() for more details.
4926- *
4927- * \param contactIdentifier The identifier of the contact to call.
4928- * \param initialVideoContentName The name of the initial video CallContent that
4929- * will be automatically added on the channel.
4930- * \param userActionTime The time at which user action occurred, or QDateTime()
4931- * if this channel request is for some reason not
4932- * involving user action.
4933- * \param preferredHandler Either the well-known bus name (starting with
4934- * org.freedesktop.Telepathy.Client.) of the preferred
4935- * handler for this channel, or an empty string to
4936- * indicate that any handler would be acceptable.
4937- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4938- * as indicated by supportsRequestHints().
4939- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4940- * when the request has been made.
4941- * \sa ensureChannel(), createChannel()
4942- */
4943-PendingChannelRequest *Account::ensureVideoCall(
4944- const QString &contactIdentifier,
4945- const QString &initialVideoContentName,
4946- const QDateTime &userActionTime,
4947- const QString &preferredHandler,
4948- const ChannelRequestHints &hints)
4949-{
4950- QVariantMap request = videoCallRequest(contactIdentifier, initialVideoContentName);
4951-
4952- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4953- preferredHandler, false, hints);
4954-}
4955-
4956-/**
4957- * Start a request to ensure that a video call channel with the given
4958- * contact \a contact exists, creating it if necessary.
4959- *
4960- * See ensureChannel() for more details.
4961- *
4962- * \param contact The contact to call.
4963- * \param initialVideoContentName The name of the initial video CallContent that
4964- * will be automatically added on the channel.
4965- * \param userActionTime The time at which user action occurred, or QDateTime()
4966- * if this channel request is for some reason not
4967- * involving user action.
4968- * \param preferredHandler Either the well-known bus name (starting with
4969- * org.freedesktop.Telepathy.Client.) of the preferred
4970- * handler for this channel, or an empty string to
4971- * indicate that any handler would be acceptable.
4972- * \param hints Arbitrary metadata which will be relayed to the handler if supported,
4973- * as indicated by supportsRequestHints().
4974- * \return A PendingChannelRequest which will emit PendingChannelRequest::finished
4975- * when the request has been made.
4976- * \sa ensureChannel(), createChannel()
4977- */
4978-PendingChannelRequest *Account::ensureVideoCall(
4979- const ContactPtr &contact,
4980- const QString &initialVideoContentName,
4981- const QDateTime &userActionTime,
4982- const QString &preferredHandler,
4983- const ChannelRequestHints &hints)
4984-{
4985- QVariantMap request = videoCallRequest(contact, initialVideoContentName);
4986-
4987- return new PendingChannelRequest(AccountPtr(this), request, userActionTime,
4988- preferredHandler, false, hints);
4989-}
4990-
4991-/**
4992- * Start a request to ensure that an audio/video call channel with the given
4993- * contact \a contactIdentifier exists, creating it if necessary.
4994- *
4995- * See ensureChannel() for more details.
4996- *
4997- * \param contactIdentifier The identifier of the contact to call.
4998- * \param initialAudioContentName The name of the initial audio CallContent that
4999- * will be automatically added on the channel.
5000- * \param initialVideoContentName The name of the initial video CallContent that
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches