aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore45
-rw-r--r--HACKING280
-rw-r--r--INSTALL.real53
-rw-r--r--MAINTAINERS2
-rw-r--r--Makefile.in697
-rw-r--r--aclocal.m41252
-rwxr-xr-xautoclean.sh13
-rwxr-xr-xautogen.sh30
-rw-r--r--common/Makefile.in488
-rwxr-xr-xconfig.guess1526
-rwxr-xr-xconfig.sub1658
-rwxr-xr-xconfigure19897
-rwxr-xr-xdepcomp589
-rw-r--r--doc/.gitignore16
-rw-r--r--doc/Makefile.in421
-rw-r--r--doc/context-arch.html1099
-rw-r--r--doc/context-cron.txt106
-rw-r--r--doc/context-intro.html461
-rw-r--r--doc/context-providers.html579
-rw-r--r--doc/context-talk.txt282
-rw-r--r--doc/context-types.html1384
-rw-r--r--doc/demos.txt57
-rw-r--r--doc/fig3.pngbin0 -> 19341 bytes
-rw-r--r--doc/fig4.pngbin0 -> 50285 bytes
-rw-r--r--doc/protocol-suggestion.txt71
-rw-r--r--doc/use-cases.html1142
-rw-r--r--gtk-doc.make201
-rwxr-xr-xinstall-sh519
-rw-r--r--libcontextprovider/.gitignore4
-rw-r--r--libcontextprovider/Makefile.in583
-rw-r--r--libcontextprovider/context-provide/.gitignore1
-rw-r--r--libcontextprovider/context-provide/Makefile.in567
-rw-r--r--libcontextprovider/customer-tests/Makefile.in580
-rw-r--r--libcontextprovider/customer-tests/c-api/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/c-api/Makefile.in527
-rw-r--r--libcontextprovider/customer-tests/client/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/client/Makefile.in550
-rw-r--r--libcontextprovider/customer-tests/subscription/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/subscription/Makefile.in568
-rw-r--r--libcontextprovider/customer-tests/types/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/types/Makefile.in557
-rw-r--r--libcontextprovider/customer-tests/value-changes/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/value-changes/Makefile.in558
-rw-r--r--libcontextprovider/doc/.gitignore2
-rw-r--r--libcontextprovider/doc/Makefile.in390
-rw-r--r--libcontextprovider/doc/doc.pri10
-rw-r--r--libcontextprovider/doc/html/_context_provider.html37
-rw-r--r--libcontextprovider/doc/html/annotated.html52
-rw-r--r--libcontextprovider/doc/html/capi.html49
-rw-r--r--libcontextprovider/doc/html/class_context_feature-members.html36
-rw-r--r--libcontextprovider/doc/html/class_context_feature.html105
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group-members.html43
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group.html279
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group_listener-members.html37
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group_listener.html120
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_listener-members.html36
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_listener.html108
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_manager-members.html50
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_manager.html467
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor-members.html37
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor.html151
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property-members.html44
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property.html323
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_listener-members.html38
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_listener.html139
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker-members.html37
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker.html125
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service-members.html46
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service.html429
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service_backend-members.html50
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service_backend.html460
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_subscriber-members.html44
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_subscriber.html254
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor-members.html38
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor.html168
-rw-r--r--libcontextprovider/doc/html/class_context_real_logger-members.html51
-rw-r--r--libcontextprovider/doc/html/class_context_real_logger.html444
-rw-r--r--libcontextprovider/doc/html/class_context_zero_logger-members.html36
-rw-r--r--libcontextprovider/doc/html/class_context_zero_logger.html103
-rw-r--r--libcontextprovider/doc/html/classes.html43
-rw-r--r--libcontextprovider/doc/html/context__provider_8h-source.html56
-rw-r--r--libcontextprovider/doc/html/context__provider_8h.html37
-rw-r--r--libcontextprovider/doc/html/contextc_8cpp.html447
-rw-r--r--libcontextprovider/doc/html/contextc_8h-source.html101
-rw-r--r--libcontextprovider/doc/html/contextc_8h.html371
-rw-r--r--libcontextprovider/doc/html/doxygen.css441
-rw-r--r--libcontextprovider/doc/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--libcontextprovider/doc/html/files.html61
-rw-r--r--libcontextprovider/doc/html/functions.html302
-rw-r--r--libcontextprovider/doc/html/functions_func.html257
-rw-r--r--libcontextprovider/doc/html/functions_rela.html53
-rw-r--r--libcontextprovider/doc/html/functions_vars.html81
-rw-r--r--libcontextprovider/doc/html/globals.html145
-rw-r--r--libcontextprovider/doc/html/globals_defs.html84
-rw-r--r--libcontextprovider/doc/html/globals_func.html73
-rw-r--r--libcontextprovider/doc/html/globals_type.html46
-rw-r--r--libcontextprovider/doc/html/globals_vars.html54
-rw-r--r--libcontextprovider/doc/html/group_8cpp.html46
-rw-r--r--libcontextprovider/doc/html/group_8h-source.html99
-rw-r--r--libcontextprovider/doc/html/group_8h.html46
-rw-r--r--libcontextprovider/doc/html/hierarchy.html56
-rw-r--r--libcontextprovider/doc/html/index.html63
-rw-r--r--libcontextprovider/doc/html/listeners_8cpp.html39
-rw-r--r--libcontextprovider/doc/html/listeners_8h-source.html120
-rw-r--r--libcontextprovider/doc/html/listeners_8h.html53
-rw-r--r--libcontextprovider/doc/html/logging.html85
-rw-r--r--libcontextprovider/doc/html/logging_8cpp.html40
-rw-r--r--libcontextprovider/doc/html/logging_8h-source.html161
-rw-r--r--libcontextprovider/doc/html/logging_8h.html249
-rw-r--r--libcontextprovider/doc/html/loggingfeatures_8h-source.html65
-rw-r--r--libcontextprovider/doc/html/loggingfeatures_8h.html208
-rw-r--r--libcontextprovider/doc/html/manager_8cpp.html41
-rw-r--r--libcontextprovider/doc/html/manager_8h-source.html99
-rw-r--r--libcontextprovider/doc/html/manager_8h.html47
-rw-r--r--libcontextprovider/doc/html/manageradaptor_8cpp.html42
-rw-r--r--libcontextprovider/doc/html/manageradaptor_8h-source.html82
-rw-r--r--libcontextprovider/doc/html/manageradaptor_8h.html49
-rw-r--r--libcontextprovider/doc/html/namespace_context_provider.html71
-rw-r--r--libcontextprovider/doc/html/namespaces.html33
-rw-r--r--libcontextprovider/doc/html/pages.html31
-rw-r--r--libcontextprovider/doc/html/property_8cpp.html47
-rw-r--r--libcontextprovider/doc/html/property_8h-source.html100
-rw-r--r--libcontextprovider/doc/html/property_8h.html49
-rw-r--r--libcontextprovider/doc/html/queuedinvoker_8cpp.html42
-rw-r--r--libcontextprovider/doc/html/queuedinvoker_8h-source.html84
-rw-r--r--libcontextprovider/doc/html/queuedinvoker_8h.html47
-rw-r--r--libcontextprovider/doc/html/sconnect_8h-source.html68
-rw-r--r--libcontextprovider/doc/html/sconnect_8h.html89
-rw-r--r--libcontextprovider/doc/html/service_8cpp.html47
-rw-r--r--libcontextprovider/doc/html/service_8h-source.html97
-rw-r--r--libcontextprovider/doc/html/service_8h.html49
-rw-r--r--libcontextprovider/doc/html/servicebackend_8cpp.html43
-rw-r--r--libcontextprovider/doc/html/servicebackend_8h-source.html108
-rw-r--r--libcontextprovider/doc/html/servicebackend_8h.html50
-rw-r--r--libcontextprovider/doc/html/struct_context_provider_1_1_group_private-members.html36
-rw-r--r--libcontextprovider/doc/html/struct_context_provider_1_1_group_private.html78
-rw-r--r--libcontextprovider/doc/html/struct_context_provider_1_1_property_private-members.html36
-rw-r--r--libcontextprovider/doc/html/struct_context_provider_1_1_property_private.html78
-rw-r--r--libcontextprovider/doc/html/subscriber_8cpp.html43
-rw-r--r--libcontextprovider/doc/html/subscriber_8h-source.html96
-rw-r--r--libcontextprovider/doc/html/subscriber_8h.html49
-rw-r--r--libcontextprovider/doc/html/subscriberadaptor_8cpp.html39
-rw-r--r--libcontextprovider/doc/html/subscriberadaptor_8h-source.html83
-rw-r--r--libcontextprovider/doc/html/subscriberadaptor_8h.html48
-rw-r--r--libcontextprovider/doc/html/tab_b.gifbin0 -> 35 bytes
-rw-r--r--libcontextprovider/doc/html/tab_l.gifbin0 -> 706 bytes
-rw-r--r--libcontextprovider/doc/html/tab_r.gifbin0 -> 2585 bytes
-rw-r--r--libcontextprovider/doc/html/tabs.css105
-rw-r--r--libcontextprovider/doc/lgpl-2.1.txt504
-rw-r--r--libcontextprovider/man/Makefile.in425
-rw-r--r--libcontextprovider/src/Makefile.in653
-rw-r--r--libcontextprovider/unit-tests/.gitignore1
-rw-r--r--libcontextprovider/unit-tests/Makefile.in566
-rw-r--r--libcontextprovider/unit-tests/contextc/.gitignore11
-rw-r--r--libcontextprovider/unit-tests/contextc/Makefile.in703
-rw-r--r--libcontextprovider/unit-tests/contextgroup/.gitignore9
-rw-r--r--libcontextprovider/unit-tests/contextgroup/Makefile.in702
-rw-r--r--libcontextprovider/unit-tests/manager/.gitignore11
-rw-r--r--libcontextprovider/unit-tests/manager/Makefile.in705
-rw-r--r--libcontextprovider/unit-tests/property/.gitignore7
-rw-r--r--libcontextprovider/unit-tests/property/Makefile.in702
-rw-r--r--libcontextprovider/unit-tests/service/.gitignore7
-rw-r--r--libcontextprovider/unit-tests/service/Makefile.in703
-rw-r--r--libcontextprovider/unit-tests/servicebackend/.gitignore5
-rw-r--r--libcontextprovider/unit-tests/servicebackend/Makefile.in702
-rw-r--r--libcontextprovider/unit-tests/subscriber/.gitignore7
-rw-r--r--libcontextprovider/unit-tests/subscriber/Makefile.in702
-rw-r--r--libcontextsubscriber/.gitignore50
-rw-r--r--libcontextsubscriber/Makefile.in583
-rw-r--r--libcontextsubscriber/cli/Makefile.in569
-rw-r--r--libcontextsubscriber/cli/wait-test/main.cpp73
-rw-r--r--libcontextsubscriber/cli/wait-test/wait-test.pro11
-rw-r--r--libcontextsubscriber/cls/Makefile.in523
-rw-r--r--libcontextsubscriber/customer-tests/Makefile.in585
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/Makefile.in537
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin1/.gitignore2
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile.in586
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.cpp68
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.h59
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin2/.gitignore2
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile.in586
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.cpp68
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.h59
-rw-r--r--libcontextsubscriber/customer-tests/update-contextkit-providers/.gitignore3
-rw-r--r--libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile.in382
-rwxr-xr-xlibcontextsubscriber/customer-tests/update-contextkit-providers/regen.sh15
-rw-r--r--libcontextsubscriber/demo/README27
-rw-r--r--libcontextsubscriber/demo/fast.context7
-rw-r--r--libcontextsubscriber/demo/slow.context7
-rw-r--r--libcontextsubscriber/doc/Makefile.in390
-rw-r--r--libcontextsubscriber/doc/html/annotated.html63
-rw-r--r--libcontextsubscriber/doc/html/asyncdbusinterface_8cpp.html38
-rw-r--r--libcontextsubscriber/doc/html/asyncdbusinterface_8h-source.html68
-rw-r--r--libcontextsubscriber/doc/html/asyncdbusinterface_8h.html41
-rw-r--r--libcontextsubscriber/doc/html/cdbreader_8cpp.html44
-rw-r--r--libcontextsubscriber/doc/html/cdbreader_8h-source.html81
-rw-r--r--libcontextsubscriber/doc/html/cdbreader_8h.html45
-rw-r--r--libcontextsubscriber/doc/html/cdbwriter_8cpp.html40
-rw-r--r--libcontextsubscriber/doc/html/cdbwriter_8h-source.html81
-rw-r--r--libcontextsubscriber/doc/html/cdbwriter_8h.html43
-rw-r--r--libcontextsubscriber/doc/html/class_async_d_bus_interface-members.html35
-rw-r--r--libcontextsubscriber/doc/html/class_async_d_bus_interface.html103
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_reader-members.html45
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_reader.html333
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_writer-members.html46
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_writer.html429
-rw-r--r--libcontextsubscriber/doc/html/class_context_feature-members.html37
-rw-r--r--libcontextsubscriber/doc/html/class_context_feature.html124
-rw-r--r--libcontextsubscriber/doc/html/class_context_property-members.html47
-rw-r--r--libcontextsubscriber/doc/html/class_context_property.html385
-rw-r--r--libcontextsubscriber/doc/html/class_context_property_info-members.html70
-rw-r--r--libcontextsubscriber/doc/html/class_context_property_info.html920
-rw-r--r--libcontextsubscriber/doc/html/class_context_property_private-members.html36
-rw-r--r--libcontextsubscriber/doc/html/class_context_real_logger-members.html57
-rw-r--r--libcontextsubscriber/doc/html/class_context_real_logger.html568
-rw-r--r--libcontextsubscriber/doc/html/class_context_registry_info-members.html55
-rw-r--r--libcontextsubscriber/doc/html/class_context_registry_info.html582
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin-members.html58
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin.html667
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener-members.html54
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener.html479
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router-members.html39
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router.html163
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin-members.html41
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin.html246
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle-members.html59
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html589
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider-members.html64
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider.html627
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker-members.html40
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker.html192
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface-members.html49
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface.html453
-rw-r--r--libcontextsubscriber/doc/html/class_context_zero_logger-members.html36
-rw-r--r--libcontextsubscriber/doc/html/class_context_zero_logger.html103
-rw-r--r--libcontextsubscriber/doc/html/class_info_backend-members.html63
-rw-r--r--libcontextsubscriber/doc/html/class_info_backend.html764
-rw-r--r--libcontextsubscriber/doc/html/class_info_cdb_backend-members.html58
-rw-r--r--libcontextsubscriber/doc/html/class_info_cdb_backend.html445
-rw-r--r--libcontextsubscriber/doc/html/class_info_xml_backend-members.html61
-rw-r--r--libcontextsubscriber/doc/html/class_info_xml_backend.html526
-rw-r--r--libcontextsubscriber/doc/html/class_nano_xml-members.html66
-rw-r--r--libcontextsubscriber/doc/html/class_nano_xml.html1098
-rw-r--r--libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher-members.html35
-rw-r--r--libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher.html81
-rw-r--r--libcontextsubscriber/doc/html/class_subscriber_interface.html44
-rw-r--r--libcontextsubscriber/doc/html/class_subscriber_signalling_interface.html44
-rw-r--r--libcontextsubscriber/doc/html/classes.html46
-rw-r--r--libcontextsubscriber/doc/html/contextkitplugin_8cpp.html70
-rw-r--r--libcontextsubscriber/doc/html/contextkitplugin_8h-source.html116
-rw-r--r--libcontextsubscriber/doc/html/contextkitplugin_8h.html81
-rw-r--r--libcontextsubscriber/doc/html/contextproperty_8cpp.html45
-rw-r--r--libcontextsubscriber/doc/html/contextproperty_8h-source.html91
-rw-r--r--libcontextsubscriber/doc/html/contextproperty_8h.html43
-rw-r--r--libcontextsubscriber/doc/html/contextpropertyinfo_8cpp.html41
-rw-r--r--libcontextsubscriber/doc/html/contextpropertyinfo_8h-source.html124
-rw-r--r--libcontextsubscriber/doc/html/contextpropertyinfo_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/contextproviderinfo_8h-source.html70
-rw-r--r--libcontextsubscriber/doc/html/contextproviderinfo_8h.html41
-rw-r--r--libcontextsubscriber/doc/html/contextregistryinfo_8cpp.html43
-rw-r--r--libcontextsubscriber/doc/html/contextregistryinfo_8h-source.html101
-rw-r--r--libcontextsubscriber/doc/html/contextregistryinfo_8h.html43
-rw-r--r--libcontextsubscriber/doc/html/dbusnamelistener_8cpp.html45
-rw-r--r--libcontextsubscriber/doc/html/dbusnamelistener_8h-source.html98
-rw-r--r--libcontextsubscriber/doc/html/dbusnamelistener_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/doxygen.css441
-rw-r--r--libcontextsubscriber/doc/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--libcontextsubscriber/doc/html/files.html77
-rw-r--r--libcontextsubscriber/doc/html/functions.html82
-rw-r--r--libcontextsubscriber/doc/html/functions_0x62.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_0x63.html162
-rw-r--r--libcontextsubscriber/doc/html/functions_0x64.html102
-rw-r--r--libcontextsubscriber/doc/html/functions_0x65.html80
-rw-r--r--libcontextsubscriber/doc/html/functions_0x66.html90
-rw-r--r--libcontextsubscriber/doc/html/functions_0x67.html78
-rw-r--r--libcontextsubscriber/doc/html/functions_0x68.html86
-rw-r--r--libcontextsubscriber/doc/html/functions_0x69.html120
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6b.html105
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6c.html92
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6d.html97
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6e.html91
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6f.html140
-rw-r--r--libcontextsubscriber/doc/html/functions_0x70.html130
-rw-r--r--libcontextsubscriber/doc/html/functions_0x71.html80
-rw-r--r--libcontextsubscriber/doc/html/functions_0x72.html101
-rw-r--r--libcontextsubscriber/doc/html/functions_0x73.html147
-rw-r--r--libcontextsubscriber/doc/html/functions_0x74.html93
-rw-r--r--libcontextsubscriber/doc/html/functions_0x75.html87
-rw-r--r--libcontextsubscriber/doc/html/functions_0x76.html99
-rw-r--r--libcontextsubscriber/doc/html/functions_0x77.html81
-rw-r--r--libcontextsubscriber/doc/html/functions_0x7e.html88
-rw-r--r--libcontextsubscriber/doc/html/functions_enum.html53
-rw-r--r--libcontextsubscriber/doc/html/functions_eval.html61
-rw-r--r--libcontextsubscriber/doc/html/functions_func.html82
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x62.html76
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x63.html125
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x64.html99
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x65.html80
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x66.html80
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x67.html78
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x68.html78
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x69.html104
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6b.html99
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6c.html88
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6d.html77
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6e.html86
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6f.html140
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x70.html114
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x71.html80
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x72.html91
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x73.html113
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x74.html84
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x75.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x76.html91
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x77.html78
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x7e.html88
-rw-r--r--libcontextsubscriber/doc/html/functions_rela.html63
-rw-r--r--libcontextsubscriber/doc/html/functions_vars.html271
-rw-r--r--libcontextsubscriber/doc/html/globals.html83
-rw-r--r--libcontextsubscriber/doc/html/globals_defs.html74
-rw-r--r--libcontextsubscriber/doc/html/globals_func.html51
-rw-r--r--libcontextsubscriber/doc/html/handlesignalrouter_8cpp.html39
-rw-r--r--libcontextsubscriber/doc/html/handlesignalrouter_8h-source.html77
-rw-r--r--libcontextsubscriber/doc/html/handlesignalrouter_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/hierarchy.html69
-rw-r--r--libcontextsubscriber/doc/html/index.html54
-rw-r--r--libcontextsubscriber/doc/html/infobackend_8cpp.html41
-rw-r--r--libcontextsubscriber/doc/html/infobackend_8h-source.html119
-rw-r--r--libcontextsubscriber/doc/html/infobackend_8h.html44
-rw-r--r--libcontextsubscriber/doc/html/infocdbbackend_8cpp.html45
-rw-r--r--libcontextsubscriber/doc/html/infocdbbackend_8h-source.html91
-rw-r--r--libcontextsubscriber/doc/html/infocdbbackend_8h.html47
-rw-r--r--libcontextsubscriber/doc/html/infokeydata_8h-source.html63
-rw-r--r--libcontextsubscriber/doc/html/infokeydata_8h.html41
-rw-r--r--libcontextsubscriber/doc/html/infoxmlbackend_8cpp.html48
-rw-r--r--libcontextsubscriber/doc/html/infoxmlbackend_8h-source.html97
-rw-r--r--libcontextsubscriber/doc/html/infoxmlbackend_8h.html49
-rw-r--r--libcontextsubscriber/doc/html/introspection.html55
-rw-r--r--libcontextsubscriber/doc/html/iproviderplugin_8h-source.html83
-rw-r--r--libcontextsubscriber/doc/html/iproviderplugin_8h.html48
-rw-r--r--libcontextsubscriber/doc/html/logging.html85
-rw-r--r--libcontextsubscriber/doc/html/logging_8cpp.html40
-rw-r--r--libcontextsubscriber/doc/html/logging_8h-source.html161
-rw-r--r--libcontextsubscriber/doc/html/logging_8h.html249
-rw-r--r--libcontextsubscriber/doc/html/loggingfeatures_8h-source.html61
-rw-r--r--libcontextsubscriber/doc/html/loggingfeatures_8h.html140
-rw-r--r--libcontextsubscriber/doc/html/migratingfromduivaluespace.html60
-rw-r--r--libcontextsubscriber/doc/html/mocs_8cpp.html52
-rw-r--r--libcontextsubscriber/doc/html/namespace_context_subscriber.html79
-rw-r--r--libcontextsubscriber/doc/html/namespacemembers.html43
-rw-r--r--libcontextsubscriber/doc/html/namespacemembers_type.html43
-rw-r--r--libcontextsubscriber/doc/html/namespaces.html34
-rw-r--r--libcontextsubscriber/doc/html/nanoxml_8cpp.html36
-rw-r--r--libcontextsubscriber/doc/html/nanoxml_8h-source.html112
-rw-r--r--libcontextsubscriber/doc/html/nanoxml_8h.html45
-rw-r--r--libcontextsubscriber/doc/html/pages.html35
-rw-r--r--libcontextsubscriber/doc/html/propertyhandle_8cpp.html53
-rw-r--r--libcontextsubscriber/doc/html/propertyhandle_8h-source.html113
-rw-r--r--libcontextsubscriber/doc/html/propertyhandle_8h.html49
-rw-r--r--libcontextsubscriber/doc/html/provider_8cpp.html49
-rw-r--r--libcontextsubscriber/doc/html/provider_8h-source.html125
-rw-r--r--libcontextsubscriber/doc/html/provider_8h.html52
-rw-r--r--libcontextsubscriber/doc/html/queuedinvoker_8cpp.html42
-rw-r--r--libcontextsubscriber/doc/html/queuedinvoker_8h-source.html83
-rw-r--r--libcontextsubscriber/doc/html/queuedinvoker_8h.html47
-rw-r--r--libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h-source.html48
-rw-r--r--libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h.html42
-rw-r--r--libcontextsubscriber/doc/html/sconnect_8h-source.html68
-rw-r--r--libcontextsubscriber/doc/html/sconnect_8h.html89
-rw-r--r--libcontextsubscriber/doc/html/struct_context_property_private.html86
-rw-r--r--libcontextsubscriber/doc/html/struct_context_provider_info-members.html38
-rw-r--r--libcontextsubscriber/doc/html/struct_context_provider_info.html134
-rw-r--r--libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value-members.html37
-rw-r--r--libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value.html104
-rw-r--r--libcontextsubscriber/doc/html/struct_info_key_data-members.html37
-rw-r--r--libcontextsubscriber/doc/html/struct_info_key_data.html110
-rw-r--r--libcontextsubscriber/doc/html/subscriberinterface_8cpp.html44
-rw-r--r--libcontextsubscriber/doc/html/subscriberinterface_8h-source.html98
-rw-r--r--libcontextsubscriber/doc/html/subscriberinterface_8h.html47
-rw-r--r--libcontextsubscriber/doc/html/tab_b.gifbin0 -> 35 bytes
-rw-r--r--libcontextsubscriber/doc/html/tab_l.gifbin0 -> 706 bytes
-rw-r--r--libcontextsubscriber/doc/html/tab_r.gifbin0 -> 2585 bytes
-rw-r--r--libcontextsubscriber/doc/html/tabs.css105
-rw-r--r--libcontextsubscriber/doc/html/update-contextkit-providers_8cpp.html97
-rw-r--r--libcontextsubscriber/doc/html/updatingcontextproviders.html38
-rw-r--r--libcontextsubscriber/doc/lgpl-2.1.txt504
-rw-r--r--libcontextsubscriber/man/Makefile.in425
-rw-r--r--libcontextsubscriber/multithreading-tests/Makefile.in527
-rw-r--r--libcontextsubscriber/multithreading-tests/new-property-in-thread/.gitignore1
-rw-r--r--libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile.in527
-rw-r--r--libcontextsubscriber/multithreading-tests/old-property-in-thread/.gitignore1
-rw-r--r--libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile.in527
-rw-r--r--libcontextsubscriber/multithreading-tests/single-thread/.gitignore1
-rw-r--r--libcontextsubscriber/multithreading-tests/single-thread/Makefile.in527
-rw-r--r--libcontextsubscriber/multithreading-tests/stress-test/.gitignore2
-rw-r--r--libcontextsubscriber/multithreading-tests/stress-test/1provider.cdbbin2727 -> 0 bytes
-rw-r--r--libcontextsubscriber/multithreading-tests/stress-test/2providers.cdbbin3423 -> 0 bytes
-rw-r--r--libcontextsubscriber/multithreading-tests/stress-test/Makefile.in527
-rwxr-xr-xlibcontextsubscriber/multithreading-tests/stress-test/provider.py42
-rwxr-xr-xlibcontextsubscriber/multithreading-tests/stress-test/runme.sh14
-rw-r--r--libcontextsubscriber/multithreading-tests/using-backend-from-thread/.gitignore1
-rw-r--r--libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile.in527
-rw-r--r--libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore1
-rw-r--r--libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.in527
-rw-r--r--libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/.gitignore1
-rw-r--r--libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile.in527
-rw-r--r--libcontextsubscriber/propertymonitor/.gitignore1
-rw-r--r--libcontextsubscriber/propertymonitor/Makefile.in375
-rw-r--r--libcontextsubscriber/sandbox/messaging-to-self/main.cpp20
-rw-r--r--libcontextsubscriber/sandbox/messaging-to-self/messaging-to-self.pro12
-rw-r--r--libcontextsubscriber/sandbox/messaging-to-self/myobject.h35
-rw-r--r--libcontextsubscriber/sandbox/messaging-to-self/mythread.h32
-rw-r--r--libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.cpp35
-rw-r--r--libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.h29
-rw-r--r--libcontextsubscriber/src/Makefile.in640
-rw-r--r--libcontextsubscriber/unit-tests/Makefile.in571
-rw-r--r--libcontextsubscriber/unit-tests/cdb/.gitignore7
-rw-r--r--libcontextsubscriber/unit-tests/cdb/Makefile.in703
-rw-r--r--libcontextsubscriber/unit-tests/contextpropertyinfo/.gitignore5
-rw-r--r--libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in711
-rw-r--r--libcontextsubscriber/unit-tests/contextregistryinfo/.gitignore5
-rw-r--r--libcontextsubscriber/unit-tests/contextregistryinfo/Makefile.in711
-rw-r--r--libcontextsubscriber/unit-tests/handlesignalrouter/.gitignore5
-rw-r--r--libcontextsubscriber/unit-tests/handlesignalrouter/Makefile.in707
-rw-r--r--libcontextsubscriber/unit-tests/infobackend/.gitignore19
-rw-r--r--libcontextsubscriber/unit-tests/infobackend/Makefile.in721
-rw-r--r--libcontextsubscriber/unit-tests/infocdbbackend/.gitignore22
-rw-r--r--libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in724
-rw-r--r--libcontextsubscriber/unit-tests/infoxmlbackend/.gitignore19
-rw-r--r--libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in721
-rw-r--r--libcontextsubscriber/unit-tests/nanoxml/.gitignore4
-rw-r--r--libcontextsubscriber/unit-tests/nanoxml/Makefile.in703
-rw-r--r--libcontextsubscriber/unit-tests/propertyhandle/.gitignore7
-rw-r--r--libcontextsubscriber/unit-tests/propertyhandle/Makefile.in708
-rw-r--r--libcontextsubscriber/unit-tests/provider/.gitignore8
-rw-r--r--libcontextsubscriber/unit-tests/provider/Makefile.in707
-rw-r--r--libcontextsubscriber/unit-tests/util/Makefile.in369
-rw-r--r--libcontextsubscriber/update-contextkit-providers/Makefile.in523
-rw-r--r--libcontextsubscriber/update-contextkit-providers/cache.cdbbin2048 -> 0 bytes
-rwxr-xr-xltmain.sh8427
-rw-r--r--ltmain.sh.as-needed.patch31
-rw-r--r--m4/.gitignore6
-rw-r--r--m4/libtool.m47373
-rw-r--r--m4/ltoptions.m4368
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m492
-rwxr-xr-xmakedeb41
-rwxr-xr-xmissing367
-rw-r--r--myfilter.conf18
-rwxr-xr-xpy-compile146
-rw-r--r--python/Makefile.in495
-rw-r--r--spec/.gitignore6
-rw-r--r--spec/Context.owl7828
-rw-r--r--spec/Makefile.in487
-rw-r--r--spec/context-properties.html1142
-rw-r--r--spec/context-provider-schema.html1527
-rw-r--r--spec/context.valid.stamp0
-rw-r--r--spec/contextkit.html191
-rw-r--r--spec/introspect/Manager.xml14
-rw-r--r--spec/introspect/Subscriber.xml18
-rw-r--r--spec/xs3p/CHANGES9
-rw-r--r--spec/xs3p/LICENSE.html519
-rw-r--r--spec/xs3p/README.txt224
-rw-r--r--spec/xs3p/examples/XMLSchema.xsd2492
-rw-r--r--spec/xs3p/examples/address.xsd55
-rw-r--r--spec/xs3p/examples/build.xml40
-rw-r--r--spec/xs3p/examples/ipo.xsd59
-rw-r--r--spec/xs3p/examples/links.xml6
-rw-r--r--spec/xs3p/examples/po.xsd66
-rw-r--r--spec/xs3p/examples/recursion.xsd85
-rw-r--r--spec/xs3p/examples/report.xsd84
-rw-r--r--spec/xs3p/examples/test_msxsl.bat19
-rw-r--r--spec/xs3p/examples/test_xalanj.bat19
-rw-r--r--spec/xs3p/examples/test_xsltproc.sh30
-rw-r--r--spec/xs3p/examples/xml.xsd80
-rw-r--r--spec/xs3p/links.dtd7
-rw-r--r--spec/xs3p/links.xsd20
-rw-r--r--spec/xs3p/xs3p.xsl8503
-rw-r--r--tools/Makefile.in527
-rwxr-xr-xtools/git-make-dist68
-rw-r--r--tools/loadmem/.gitignore1
-rw-r--r--tools/loadmem/Makefile.in503
-rw-r--r--tools/tiny_get_frontend.py34
-rw-r--r--tools/tiny_subscribe_frontend.py54
485 files changed, 117450 insertions, 23174 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index a333a903..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,45 +0,0 @@
-.*.swp
-*.tar.bz2
-*.tar.gz
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache
-compile
-/py-compile
-config.guess
-config.h
-config.h.in
-config.h.in~
-config.log
-config.status
-config.sub
-configure
-context.valid.stamp
-depcomp
-install-sh
-libtool
-ltmain.sh
-missing
-.dirstamp
-.deps
-*.o
-*.a
-*.lo
-*.la
-*.moc
-stamp-h1
-_package
-*.libs
-*.gcno
-*.gcda
-*.pyc
-lcov.html/
-lcov.info
-.project
-INSTALL
-build-stamp
-flexi-properties.xml
-mocs.cpp
-moc_*
-TAGS
diff --git a/HACKING b/HACKING
deleted file mode 100644
index f2cae842..00000000
--- a/HACKING
+++ /dev/null
@@ -1,280 +0,0 @@
-How to hack on the ContextKit
-=============================
-
-These are the coding and release guidelines for the ContextKit. They
-are quite general, so if you like them, feel free to copy them into
-your project.
-
-Build system
-------------
-
-We use the autotools in their 'foreign' strictness plus pkg-config.
-We don't use qmake, even for Qt programs or libraries. We have our
-own solution for handling Qt things, documented in am/qt.am.
-
-Upstream and Packaging
-----------------------
-
-We do not separate 'upstream' code development and packaging for
-Maemo. Both happen in the same branch.
-
-In the Maemo context, we don't get any benefit from separating the
-two, so we don't.
-
-Thus, all our packages are "native": we do not use Debian revision
-dashes such as "0.1-3" in our version numbers, we always use plain
-upstream versions such as "0.1".
-
-Documentation
--------------
-
-Documentation is in HTML and generally distributed in the tarballs and
-distribution tags. We do this so that recipients don't need all the
-crazy build tools that we use and still get some documentation.
-
-Thus, all documentation files should be added to EXTRA_DIST and
-MAINTAINERCLEANFILES.
-
-Since timestamps are not always preserved well enough when checking a
-distribution tag out of Git, it might happen that documentation is
-being regenerated also during a pure target build, and might fail.
-
-It's not yet totally clear how to cope with that: one approach is to
-have something like autotool's "missing", another might be to touch
-all 'interesting' files just before building. Let's see.
-
-Anyway, you can disable generating of documentation by passing
---disable-doc to configure.
-
-Environments
-------------
-
-Our code should be as portable as possible, but a few environments are
-more important than others.
-
-There are supported development environments, and compilation
-environments.
-
- - Development
-
- For fun and fame, our code should work in a typical Debian unstable
- and Ubuntu environment, augmented with our own packages that we build
- from source. (If it works in Fedora, too, cool!) This is our
- day-to-day development environment.
-
- The projects only need to work fully when installed. Thus, the
- projects must be cleanly installable in arbitrary prefixes. The
- following should work to install everything in $HOME/install:
-
- ./configure --prefix $HOME/install/
- make install
-
- The installed projects should then fully work with these settings:
-
- PATH=$HOME/install/bin/
- LD_LIBRARY_PATH=$HOME/install/lib/
- PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig/
-
- The "master" branches on the mainline repos on PMO should always pass
- "make check" in the development environments, after doing the
- necessary autogen.sh gymnastics in a fresh checkout.
-
- For projects that can not be developed in Debian or Ubunute, do
- whatever needs to be done. Document this in a "HACKING" file in the
- top directory of the source tree.
-
- However, try to port the project to Debian/Ubuntu instead, maybe by
- making certain features optional or by importing the missing dependencies.
-
- - Compilation
-
- For pain and profit, the code also needs to compile in a Harmattan
- target in Scratchbox. We only use Scratchbox 1 for now, with the
- following devkits: perl, debian-etch, doctools.
-
- When in doubt, follow these instructions to set it up:
-
- https://projects.maemo.org/trac/sdk/wiki/Harmattan
-
- Distribution tags (see below) should be buildable with one of these
- two commands right after checking them out
-
- ./configure && make (for a upstream source tree)
- dpkg-buildpackage (for Debianized sources)
-
- Note that things like running ./autogen.sh or more generally
- regenerating files that are contained in distribution tags is not
- supported in the compilation environment.
-
-Coding style
-------------
-
-We follow the DUI coding style for C++ code. In brief:
-
- - No tab characters (0x09)
- - Linux style, but
- - Indentation offset is 4 and
- - Maximum line length is 120.
- - No editor specific settings in the files.
- - Code inside a namespace is not indented.
-
-For Python:
-
- - PEP 8, but
- - Maximum line length is 120.
-
-Generated files
----------------
-
-No generated file should be committed to a branch. After checking out
-(or exporting) a branch, running "./autogen.sh" will get the tree into
-a shape where "./configure && make" or "dpkg-buildpackage" will work.
-
-Distribution tags are different, see below.
-
-ChangeLogs
-----------
-
-There is no GNU-style ChangeLog. We assume that the VCS keeps a
-detailed log of the changes. Likewise, debian/changelog does not
-record detailed changes, just the stuff that would go into an
-announcement.
-
-We use debian/changelog instead of ./NEWS.
-
-Marking fixed bugs
-------------------
-
-When committing a change that is supposed to fix a bug, make a
-annotated tag for it with the name "fixes_NNNNN" where NNNNN is the
-Bugzilla bug number. Use the message "Fixes: NB#NNNNN - SUMMARY"
-where SUMMARY is of course the one-line summary of the bug.
-
-(The annotation message is there to carry the summary. Bugzilla is
-not visible to the outside, and we should give some hints about what
-kind of bugs we have fixed. With a public Bugzilla, a simple
-leightweight tag would suffice.)
-
-Making a distribution tag
--------------------------
-
-No generated file should be committed to a branch, but distribution
-tags should be buildable with "./configure && make" or
-"dpkg-buildpackage" right away after exporting them, without the need
-to run autogen.sh. The created Debian source package should be clean,
-and not contain any files that are not supposed to be distributed.
-
-In general, a tag should contain exactly the files that would be in a
-distribution tarball produced by "make dist". In essence, we use tags
-in a VCS repository instead of the traditional tarballs.
-
-Note that distribution tags are usually created in the development
-environment, outside of Scratchbox.
-
-Here is the general procedure:
-
-- Clean everything that can be generated.
-
- $ make maintainer-clean || make distclean
-
-- Recreate the build cruft.
-
- $ ./autogen.sh
-
-- Configure your source tree as needed for making a release.
-
- $ ./configure --enable-maintainer-mode --enable-gtk-doc
-
-- Build the source tree and do a "make distcheck"
-
- $ make
- $ make distcheck
-
-- Make the distribution tag with git-make-dist (in the tools/ directory).
-
- $ git-make-dist TAG
-
-The "git-make-dist" script runs "make distdir" and creates a tag with
-the contents of the created directory.
-
-Building a debian package
--------------------------
-
-After a git clone, you first have to build vala C sources and
-documentation. If you have extracted a distribution tarball, then you
-already have these files. Otherwise just do a ./configure, let's
-double check that all of the documentation tools and the vala compiler
-is found and make. After that you are ready to run
-'dpkg-buildpackage -us -uc -rfakeroot -b' to get your shiny new debian
-packages.
-
-Making releases
----------------
-
-Version numbers are bumped post-release: the version numbers in master
-and other branches always reflect the version that is going to be
-released next. Once a release has been made, the version numbers in
-the branch are immediately incremented. In addition, version numbers
-in branches have a "~unreleased" suffix to make this clear.
-
-Thus, configure.ac always contains the version that is going to be
-released next with a "~unreleased" suffix and debian/changelog
-contains a prepared entry for the next release with a "~unreleased"
-suffix.
-
-That suffix is there to make it clear that we are using the
-"post-release bump" schema. It also reduces confusion when you create
-a tarball or Debian package from a branch for testing purposes. Those
-tarballs and packages will be clearly marked to be 'unreleased', and
-can not be confused with the real releases. Do not distribute these
-unreleased packages to other people.
-
-If you do want to label multiple intermediate non-releases, use
-suffixes of the form "~unreleasedN". Do this by changing the existing
-debian/changelog entry in place. Do not create a new entry.
-
-Thus, as a rule, configure.ac and debian/changelog in a branch should
-always have a version number with a "~unreleased" suffix, and the
-distribution tags made from a branch should never have a version
-number with a "~unreleased" suffix. Also, no other entry in
-debian/changelog than the top-most one in a branch should have the
-"~unreleased" suffix.
-
-The procedure for making a release is as follows:
-
-- Make sure that you are in a releasable state. This includes running
- "make distcheck", running dpkg-buildpackage and checking the
- generated packages for obvious problems, maybe installing those
- packages and doing some smoke tests.
-
-- Remove the "~unreleased" suffix in configure.ac. You can also
- increase the version more generally at this time, such as from
- 0.1.5~unreleased to 0.2.0.
-
-- Do the same in debian/changelog, and also make sure that the
- 'release notes' in it are up-to-date.
-
-- Update the date line in the top-most entry so that it has your name
- and the current date and time.
-
-- Commit this with a message of "Released VERSION".
-
-- Make a annotated tag with the name "release_VERSION" and the message
- "Released VERSION."
-
-- Run all the steps in "Making a distribution tag". Use the plain
- VERSION as the tag name.
-
-- Bump the version in configure.ac by increasing the least significant
- component and add the "~unreleased" suffix again.
-
-- Add a new empty entry to debian/changelog with the same version that
- is now in configure.ac.
-
-- Commit this with the message "Prepare VERSION" where VERSION is the
- new version without the "~unreleased" suffix.
-
-- Push everything. Don't forget to push the tags as well. If you
- can't push at this time because you need to pull first, do that but
- be careful to merge the remote changes. Do not use "git pull
- --rebase" at this time.
diff --git a/INSTALL.real b/INSTALL.real
deleted file mode 100644
index 3a30cce3..00000000
--- a/INSTALL.real
+++ /dev/null
@@ -1,53 +0,0 @@
-Installation instructions for the ContextKit
---------------------------------------------
-
-A ContextKit release can usually be compiled with the following
-popular recipe:
-
- $ ./configure
- $ make
- $ make install
-
-If you want to modify the sources or if you have checked out the
-sources from a development branch, please read the following little
-survival guide:
-
-In general, recompiling ContextKit after touching a source file might
-require some tools that are not needed when just compiling a freshly
-unpacked release. Those tools might or might not be available (yet)
-in your distribution of choice.
-
-Specifically, many tools are not available in Maemo. Thus, the
-recommended way to work on the sources is to hack outside of Maemo,
-make a release there, and compile that release inside Maemo.
-
-The following procedure should work quite nicely.
-
-Bootstrap the buildsystem after checking out a source tree from Git.
-Do this outside of Maemo, in Debian or Ubuntu.
-
- $ ./autogen.sh
-
-This will check for all the maintainer tools that are needed. Install
-them until ./autogen.sh is happy.
-
- $ ./configure --enable-gtk-doc
- $ make
- $ make dist
-
-These steps build the source tree and get it into a shape where a
-release can be made.
-
-Now switch to Maemo and chdir back into the same source tree.
-
- $ make distclean
- $ ./configure --prefix /usr
- $ make
- $ make install
-
-This will recompile the target specific parts but will not regenerate
-files that are normally in a release tarball.
-
-Of course, you can stay inside Maemo until you make a change that
-causes make to run some unavailable tool. At that point, switch back
-to outside of Maemo and run "make dist" there.
diff --git a/MAINTAINERS b/MAINTAINERS
deleted file mode 100644
index 1ee6f642..00000000
--- a/MAINTAINERS
+++ /dev/null
@@ -1,2 +0,0 @@
-Marius Vollmer
-E-mail: marius.vollmer@nokia.com
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 00000000..40b1d976
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,697 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/am/covoptioncheck.am \
+ $(top_srcdir)/configure AUTHORS COPYING ChangeLog NEWS \
+ config.guess config.sub depcomp install-sh ltmain.sh missing \
+ py-compile
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DISTCHECK_CONFIGURE_FLAGS = --disable-doc --disable-coverage
+AUTOMAKE_OPTIONS = subdir-objects
+ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = \
+ libcontextprovider \
+ libcontextsubscriber \
+ spec \
+ doc \
+ python \
+ tools \
+ common
+
+DISTCLEANFILES = lcov.info lcov.html
+MAINTAINERCLEANFILES = INSTALL
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d $(distdir) || mkdir $(distdir)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-am clean clean-generic \
+ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
+ distclean distclean-generic distclean-libtool distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+check-sum:
+ $(MAKE) -C libcontextprovider/unit-tests check-sum
+ $(MAKE) -C libcontextsubscriber/unit-tests check-sum
+
+check-customer:
+ $(MAKE) -C libcontextprovider/customer-tests check-customer
+ $(MAKE) -C libcontextsubscriber/customer-tests check-customer
+
+coverage: covoptioncheck
+ $(MAKE) -C libcontextsubscriber coverage \
+ && $(MAKE) -C libcontextprovider coverage
+
+.PHONY: coverage check-customer check-sum
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 00000000..aab1ff8c
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1252 @@
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [AC_MSG_RESULT([no])
+ $4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10.2], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 13
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------
+# Adds support for distributing Python modules and packages. To
+# install modules, copy them to $(pythondir), using the python_PYTHON
+# automake variable. To install a package with the same name as the
+# automake package, install to $(pkgpythondir), or use the
+# pkgpython_PYTHON automake variable.
+#
+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
+# locations to install python extension modules (shared libraries).
+# Another macro is required to find the appropriate flags to compile
+# extension modules.
+#
+# If your package is configured with a different prefix to python,
+# users will have to add the install directory to the PYTHONPATH
+# environment variable, or create a .pth file (see the python
+# documentation for details).
+#
+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
+# cause an error if the version of python installed on the system
+# doesn't meet the requirement. MINIMUM-VERSION should consist of
+# numbers and dots only.
+AC_DEFUN([AM_PATH_PYTHON],
+ [
+ dnl Find a Python interpreter. Python versions prior to 1.5 are not
+ dnl supported because the default installation locations changed from
+ dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
+ dnl in 1.5.
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+ [python python2 python2.5 python2.4 python2.3 python2.2 dnl
+python2.1 python2.0 python1.6 python1.5])
+
+ m4_if([$1],[],[
+ dnl No version check is needed.
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
+ fi
+ am_display_PYTHON=python
+ ], [
+ dnl A version check is needed.
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+ AC_MSG_CHECKING([whether $PYTHON version >= $1])
+ AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_ERROR(too old)])
+ am_display_PYTHON=$PYTHON
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+ AC_CACHE_CHECK([for a Python interpreter with version >= $1],
+ [am_cv_pathless_PYTHON],[
+ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
+ done])
+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+ if test "$am_cv_pathless_PYTHON" = none; then
+ PYTHON=:
+ else
+ AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
+ fi
+ am_display_PYTHON=$am_cv_pathless_PYTHON
+ fi
+ ])
+
+ if test "$PYTHON" = :; then
+ dnl Run any user-specified action, or abort.
+ m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+ else
+
+ dnl Query Python for its version number. Getting [:3] seems to be
+ dnl the best way to do this; it's what "site.py" does in the standard
+ dnl library.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+ [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`])
+ AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+
+ dnl Use the values of $prefix and $exec_prefix for the corresponding
+ dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
+ dnl distinct variables so they can be overridden if need be. However,
+ dnl general consensus is that you shouldn't need this ability.
+
+ AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+ AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+
+ dnl At times (like when building shared libraries) you may want
+ dnl to know which OS platform Python thinks this is.
+
+ AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+ [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`])
+ AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+
+
+ dnl Set up 4 directories:
+
+ dnl pythondir -- where to install python scripts. This is the
+ dnl site-packages directory, not the python standard library
+ dnl directory like in previous automake betas. This behavior
+ dnl is more consistent with lispdir.m4 for example.
+ dnl Query distutils for this directory. distutils does not exist in
+ dnl Python 1.5, so we fall back to the hardcoded directory if it
+ dnl doesn't work.
+ AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+ [am_cv_python_pythondir],
+ [if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ esac
+ ])
+ AC_SUBST([pythondir], [$am_cv_python_pythondir])
+
+ dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
+ dnl more consistent with the rest of automake.
+
+ AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+
+ dnl pyexecdir -- directory for installing python extension modules
+ dnl (shared libraries)
+ dnl Query distutils for this directory. distutils does not exist in
+ dnl Python 1.5, so we fall back to the hardcoded directory if it
+ dnl doesn't work.
+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+ [am_cv_python_pyexecdir],
+ [if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ esac
+ ])
+ AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+
+ dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+
+ AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+
+ dnl Run any user-specified action.
+ $2
+ fi
+
+])
+
+
+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+# ---------------------------------------------------------------------------
+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
+# Run ACTION-IF-FALSE otherwise.
+# This test uses sys.hexversion instead of the string equivalent (first
+# word of sys.version), in order to cope with versions such as 2.2c1.
+# hexversion has been introduced in Python 1.5.2; it's probably not
+# worth to support older versions (1.5.1 was released on October 31, 1998).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys, string
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+minver = map(int, string.split('$2', '.')) + [[0, 0, 0]]
+minverhex = 0
+for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]]
+sys.exit(sys.hexversion < minverhex)"
+ AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/ax_compare_version.m4])
+m4_include([m4/ax_version_tools.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/qt.m4])
diff --git a/autoclean.sh b/autoclean.sh
deleted file mode 100755
index 37bee8a8..00000000
--- a/autoclean.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh -e
-
-cd $(dirname $0)
-
-make maintainer-clean || true
-echo Cleaning autotools files...
-find -type d -name autom4te.cache -print0 | xargs -0 rm -rf \;
-find -type f \( -name missing -o -name install-sh -o -name mkinstalldirs \
- -o -name depcomp -o -name ltmain.sh -o -name configure \
- -o -name config.sub -o -name config.guess -o -name aclocal.m4 \
- -o -name Makefile.in -o -name py-compile \) -print0 | xargs -0 rm -f
-rm -f m4/lt*m4 m4/libtool.m4
-# rm -f debian-devel/control debian-devel/rules install-stamp
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index cba209c8..00000000
--- a/autogen.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh -e
-
-cd $(dirname $0)
-autoreconf -i -f -v
-
-# Autoreconf overwrites INSTALL, but we have our own version of it.
-cp INSTALL.real INSTALL
-
-# Libtool 2.2 still reorders LDFLAGS badly, and they won't fix it before libtool 2.3 or 2.4
-# but we can leave without this
-if cat ltmain.sh.as-needed.patch | patch -t -p0 --dry-run
-then
- cat ltmain.sh.as-needed.patch | patch -t -p0
-fi
-
-run_configure=true
-for arg in $*; do
- case $arg in
- --no-configure)
- run_configure=false
- ;;
- *)
- ;;
- esac
-done
-
-if test $run_configure = true; then
- ./configure "$@"
-fi
-
diff --git a/common/Makefile.in b/common/Makefile.in
new file mode 100644
index 00000000..09da8308
--- /dev/null
+++ b/common/Makefile.in
@@ -0,0 +1,488 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = common
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libcommon_la_LIBADD =
+am_libcommon_la_OBJECTS = logging.lo
+libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libcommon_la_SOURCES)
+DIST_SOURCES = $(libcommon_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+noinst_LTLIBRARIES = libcommon.la
+libcommon_la_SOURCES = logging.cpp logging.h sconnect.h
+AM_CXXFLAGS = $(QtCore_CFLAGS)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign common/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign common/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libcommon.la: $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES)
+ $(CXXLINK) $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logging.Plo@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/config.guess b/config.guess
new file mode 100755
index 00000000..f32079ab
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,1526 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+
+timestamp='2008-01-23'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips64
+ #undef mips64el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mips64el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips64
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ a.out-i386-linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit ;;
+ coff-i386)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.sub b/config.sub
new file mode 100755
index 00000000..6759825a
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1658 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+
+timestamp='2008-01-16'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64vr | mips64vrel \
+ | mips64orion | mips64orionel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure b/configure
new file mode 100755
index 00000000..a3b79ce1
--- /dev/null
+++ b/configure
@@ -0,0 +1,19897 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.63 for ContextKit 0.3.11~unreleased.
+#
+# Report bugs to <marius.vollmer@nokia.com>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<_LT_EOF
+$*
+_LT_EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
+
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='ContextKit'
+PACKAGE_TARNAME='ContextKit'
+PACKAGE_VERSION='0.3.11~unreleased'
+PACKAGE_STRING='ContextKit 0.3.11~unreleased'
+PACKAGE_BUGREPORT='marius.vollmer@nokia.com'
+
+ac_unique_file="Makefile.am"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+CONTEXTKIT_COVERAGE_FALSE
+CONTEXTKIT_COVERAGE_TRUE
+LCOV
+GCOV
+ENABLE_GTK_DOC_FALSE
+ENABLE_GTK_DOC_TRUE
+GTK_DOC_USE_LIBTOOL_FALSE
+GTK_DOC_USE_LIBTOOL_TRUE
+CONTEXTKIT_BUILD_DOCS_FALSE
+CONTEXTKIT_BUILD_DOCS_TRUE
+DOXYGEN
+XMLLINT
+XSLTPROC
+SOURCE_HIGHLIGHT
+ASCIIDOC
+DOT
+HTML_DIR
+CDB_LIBS
+RCC
+UIC
+MOC
+GLIB_LIBS
+GLIB_CFLAGS
+DBUS_LIBS
+DBUS_CFLAGS
+QtXml_LIBS
+QtXml_CFLAGS
+QtDBus_LIBS
+QtDBus_CFLAGS
+QtCore_LIBS
+QtCore_CFLAGS
+QtTest_LIBS
+QtTest_CFLAGS
+PKG_CONFIG
+pkgpyexecdir
+pyexecdir
+pkgpythondir
+pythondir
+PYTHON_PLATFORM
+PYTHON_EXEC_PREFIX
+PYTHON_PREFIX
+PYTHON_VERSION
+PYTHON
+CXXCPP
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+enable_doc
+enable_coverage
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC
+CPP
+CXXCPP
+PKG_CONFIG
+QtTest_CFLAGS
+QtTest_LIBS
+QtCore_CFLAGS
+QtCore_LIBS
+QtDBus_CFLAGS
+QtDBus_LIBS
+QtXml_CFLAGS
+QtXml_LIBS
+DBUS_CFLAGS
+DBUS_LIBS
+GLIB_CFLAGS
+GLIB_LIBS
+DOT
+ASCIIDOC
+SOURCE_HIGHLIGHT
+XSLTPROC
+XMLLINT
+DOXYGEN
+GCOV
+LCOV'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures ContextKit 0.3.11~unreleased to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/ContextKit]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of ContextKit 0.3.11~unreleased:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --disable-doc disable building of documentation [default=no]
+ --disable-coverage disable unittests' coverage support [default=no]
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CPP C preprocessor
+ CXXCPP C++ preprocessor
+ PKG_CONFIG path to pkg-config utility
+ QtTest_CFLAGS
+ C compiler flags for QtTest, overriding pkg-config
+ QtTest_LIBS linker flags for QtTest, overriding pkg-config
+ QtCore_CFLAGS
+ C compiler flags for QtCore, overriding pkg-config
+ QtCore_LIBS linker flags for QtCore, overriding pkg-config
+ QtDBus_CFLAGS
+ C compiler flags for QtDBus, overriding pkg-config
+ QtDBus_LIBS linker flags for QtDBus, overriding pkg-config
+ QtXml_CFLAGS
+ C compiler flags for QtXml, overriding pkg-config
+ QtXml_LIBS linker flags for QtXml, overriding pkg-config
+ DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config
+ DBUS_LIBS linker flags for DBUS, overriding pkg-config
+ GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
+ GLIB_LIBS linker flags for GLIB, overriding pkg-config
+ DOT Dot drawing tool
+ ASCIIDOC Asciidoc
+ SOURCE_HIGHLIGHT
+ source-highlight
+ XSLTPROC xsltproc
+ XMLLINT xmllint
+ DOXYGEN doxygen
+ GCOV GCov coverage recording tool
+ LCOV LCov coverage visualization tool
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <marius.vollmer@nokia.com>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+ContextKit configure 0.3.11~unreleased
+generated by GNU Autoconf 2.63
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by ContextKit $as_me 0.3.11~unreleased, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test -r "$ac_site_file"; then
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+am__api_version='1.10'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+$as_echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='ContextKit'
+ VERSION='0.3.11~unreleased'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+{ $as_echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
+ ($_am_tar --version) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && break
+ done
+ am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x ustar -w "$$tardir"'
+ am__tar_='pax -L -x ustar -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+ am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+ am__untar='cpio -i -H ustar -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_ustar}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ ($am__untar <conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+if test "${am_cv_prog_tar_ustar+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_prog_tar_ustar=$_am_tool
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+CFLAGS="$CXXFLAGS -Wall"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+CXXFLAGS="$CXXFLAGS -Wall"
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6'
+macro_revision='1.3012'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:4989: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4992: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4995: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 6201 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_cc_needs_belf=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_cc_needs_belf=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+_lt_caught_CXX_error=yes; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+ _lt_caught_CXX_error=yes
+fi
+
+
+
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:8777: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:8781: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:9116: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:9120: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:9221: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:9225: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:9276: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:9280: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ link_all_deplibs=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec=''
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat >conftest.$ac_ext <<_ACEOF
+int foo(void) {}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc=no
+ else
+ archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
+fi
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_shl_load || defined __stub___shl_load
+choke me
+#endif
+
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_dlopen || defined __stub___dlopen
+choke me
+#endif
+
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_svld_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_dld_link=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 12089 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 12185 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ ld_shlibs_CXX=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ whole_archive_flag_spec_CXX=''
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+
+ else
+ ld_shlibs_CXX=no
+ fi
+
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ ld_shlibs_CXX=no
+ ;;
+
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ ld_shlibs_CXX=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
+
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+
+ { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+ test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_path_CXX="${prev}${p}"
+ else
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$postdeps_CXX"; then
+ postdeps_CXX="${prev}${p}"
+ else
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$predep_objects_CXX"; then
+ predep_objects_CXX="$p"
+ else
+ predep_objects_CXX="$predep_objects_CXX $p"
+ fi
+ else
+ if test -z "$postdep_objects_CXX"; then
+ postdep_objects_CXX="$p"
+ else
+ postdep_objects_CXX="$postdep_objects_CXX $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_CXX='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ lt_prog_compiler_pic_CXX=
+ ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[4-9]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ else
+ lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ lt_prog_compiler_pic_CXX='+Z'
+ fi
+ ;;
+ aCC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ lt_prog_compiler_pic_CXX='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ lt_prog_compiler_pic_CXX='-pic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared_CXX=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14205: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:14209: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works_CXX=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+ case $lt_prog_compiler_pic_CXX in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+ esac
+else
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works_CXX=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+ :
+else
+ lt_prog_compiler_static_CXX=
+fi
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14304: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:14308: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14356: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:14360: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ link_all_deplibs_CXX=no
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_CXX in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_CXX=no
+ else
+ archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
+fi
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+ test -n "$runpath_var_CXX" ||
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
+
+if test "$hardcode_action_CXX" = relink ||
+ test "$inherit_rpath_CXX" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+
+
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ for ac_prog in python python2 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PYTHON+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PYTHON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PYTHON=$ac_cv_path_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:$LINENO: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$PYTHON" && break
+done
+test -n "$PYTHON" || PYTHON=":"
+
+ fi
+ am_display_PYTHON=python
+
+
+ if test "$PYTHON" = :; then
+ { { $as_echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5
+$as_echo "$as_me: error: no suitable Python interpreter found" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+
+
+ { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5
+$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
+if test "${am_cv_python_version+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"`
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_python_version" >&5
+$as_echo "$am_cv_python_version" >&6; }
+ PYTHON_VERSION=$am_cv_python_version
+
+
+
+ PYTHON_PREFIX='${prefix}'
+
+ PYTHON_EXEC_PREFIX='${exec_prefix}'
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5
+$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
+if test "${am_cv_python_platform+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5
+$as_echo "$am_cv_python_platform" >&6; }
+ PYTHON_PLATFORM=$am_cv_python_platform
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5
+$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
+if test "${am_cv_python_pythondir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$prefix" = xNONE
+ then
+ am_py_prefix=$ac_default_prefix
+ else
+ am_py_prefix=$prefix
+ fi
+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pythondir in
+ $am_py_prefix*)
+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+ ;;
+ esac
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5
+$as_echo "$am_cv_python_pythondir" >&6; }
+ pythondir=$am_cv_python_pythondir
+
+
+
+ pkgpythondir=\${pythondir}/$PACKAGE
+
+
+ { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5
+$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
+if test "${am_cv_python_pyexecdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$exec_prefix" = xNONE
+ then
+ am_py_exec_prefix=$am_py_prefix
+ else
+ am_py_exec_prefix=$exec_prefix
+ fi
+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
+ echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+ case $am_cv_python_pyexecdir in
+ $am_py_exec_prefix*)
+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+ ;;
+ esac
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5
+$as_echo "$am_cv_python_pyexecdir" >&6; }
+ pyexecdir=$am_cv_python_pyexecdir
+
+
+
+ pkgpyexecdir=\${pyexecdir}/$PACKAGE
+
+
+
+ fi
+
+
+
+# check for libraries
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+
+fi
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for QtTest" >&5
+$as_echo_n "checking for QtTest... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtTest_CFLAGS"; then
+ pkg_cv_QtTest_CFLAGS="$QtTest_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtTest\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtTest_CFLAGS=`$PKG_CONFIG --cflags "QtTest" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtTest_LIBS"; then
+ pkg_cv_QtTest_LIBS="$QtTest_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtTest\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtTest_LIBS=`$PKG_CONFIG --libs "QtTest" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ QtTest_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtTest"`
+ else
+ QtTest_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtTest"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$QtTest_PKG_ERRORS" >&5
+
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (QtTest) were not met:
+
+$QtTest_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtTest_CFLAGS
+and QtTest_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+$as_echo "$as_me: error: Package requirements (QtTest) were not met:
+
+$QtTest_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtTest_CFLAGS
+and QtTest_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtTest_CFLAGS
+and QtTest_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtTest_CFLAGS
+and QtTest_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+else
+ QtTest_CFLAGS=$pkg_cv_QtTest_CFLAGS
+ QtTest_LIBS=$pkg_cv_QtTest_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for QtCore" >&5
+$as_echo_n "checking for QtCore... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtCore_CFLAGS"; then
+ pkg_cv_QtCore_CFLAGS="$QtCore_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtCore\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtCore_CFLAGS=`$PKG_CONFIG --cflags "QtCore" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtCore_LIBS"; then
+ pkg_cv_QtCore_LIBS="$QtCore_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtCore\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtCore_LIBS=`$PKG_CONFIG --libs "QtCore" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ QtCore_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtCore"`
+ else
+ QtCore_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtCore"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$QtCore_PKG_ERRORS" >&5
+
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (QtCore) were not met:
+
+$QtCore_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtCore_CFLAGS
+and QtCore_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+$as_echo "$as_me: error: Package requirements (QtCore) were not met:
+
+$QtCore_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtCore_CFLAGS
+and QtCore_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtCore_CFLAGS
+and QtCore_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtCore_CFLAGS
+and QtCore_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+else
+ QtCore_CFLAGS=$pkg_cv_QtCore_CFLAGS
+ QtCore_LIBS=$pkg_cv_QtCore_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for QtDBus" >&5
+$as_echo_n "checking for QtDBus... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtDBus_CFLAGS"; then
+ pkg_cv_QtDBus_CFLAGS="$QtDBus_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtDBus\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtDBus") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtDBus_CFLAGS=`$PKG_CONFIG --cflags "QtDBus" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtDBus_LIBS"; then
+ pkg_cv_QtDBus_LIBS="$QtDBus_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtDBus\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtDBus") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtDBus_LIBS=`$PKG_CONFIG --libs "QtDBus" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ QtDBus_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtDBus"`
+ else
+ QtDBus_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtDBus"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$QtDBus_PKG_ERRORS" >&5
+
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (QtDBus) were not met:
+
+$QtDBus_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtDBus_CFLAGS
+and QtDBus_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+$as_echo "$as_me: error: Package requirements (QtDBus) were not met:
+
+$QtDBus_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtDBus_CFLAGS
+and QtDBus_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtDBus_CFLAGS
+and QtDBus_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtDBus_CFLAGS
+and QtDBus_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+else
+ QtDBus_CFLAGS=$pkg_cv_QtDBus_CFLAGS
+ QtDBus_LIBS=$pkg_cv_QtDBus_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for QtXml" >&5
+$as_echo_n "checking for QtXml... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtXml_CFLAGS"; then
+ pkg_cv_QtXml_CFLAGS="$QtXml_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtXml\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtXml") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtXml_CFLAGS=`$PKG_CONFIG --cflags "QtXml" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$QtXml_LIBS"; then
+ pkg_cv_QtXml_LIBS="$QtXml_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"QtXml\"") >&5
+ ($PKG_CONFIG --exists --print-errors "QtXml") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_QtXml_LIBS=`$PKG_CONFIG --libs "QtXml" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ QtXml_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtXml"`
+ else
+ QtXml_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtXml"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$QtXml_PKG_ERRORS" >&5
+
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (QtXml) were not met:
+
+$QtXml_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtXml_CFLAGS
+and QtXml_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+$as_echo "$as_me: error: Package requirements (QtXml) were not met:
+
+$QtXml_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables QtXml_CFLAGS
+and QtXml_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtXml_CFLAGS
+and QtXml_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables QtXml_CFLAGS
+and QtXml_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+else
+ QtXml_CFLAGS=$pkg_cv_QtXml_CFLAGS
+ QtXml_LIBS=$pkg_cv_QtXml_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+# only for compiling c code
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for DBUS" >&5
+$as_echo_n "checking for DBUS... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$DBUS_CFLAGS"; then
+ pkg_cv_DBUS_CFLAGS="$DBUS_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "dbus-1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$DBUS_LIBS"; then
+ pkg_cv_DBUS_LIBS="$DBUS_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1\"") >&5
+ ($PKG_CONFIG --exists --print-errors "dbus-1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ DBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "dbus-1"`
+ else
+ DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$DBUS_PKG_ERRORS" >&5
+
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (dbus-1) were not met:
+
+$DBUS_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables DBUS_CFLAGS
+and DBUS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+$as_echo "$as_me: error: Package requirements (dbus-1) were not met:
+
+$DBUS_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables DBUS_CFLAGS
+and DBUS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables DBUS_CFLAGS
+and DBUS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables DBUS_CFLAGS
+and DBUS_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+else
+ DBUS_CFLAGS=$pkg_cv_DBUS_CFLAGS
+ DBUS_LIBS=$pkg_cv_DBUS_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:$LINENO: checking for GLIB" >&5
+$as_echo_n "checking for GLIB... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GLIB_CFLAGS"; then
+ pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.12.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$GLIB_LIBS"; then
+ pkg_cv_GLIB_LIBS="$GLIB_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12.0\"") >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.12.0" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.12.0"`
+ else
+ GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.12.0"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GLIB_PKG_ERRORS" >&5
+
+ { { $as_echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= 2.12.0) were not met:
+
+$GLIB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GLIB_CFLAGS
+and GLIB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+$as_echo "$as_me: error: Package requirements (glib-2.0 >= 2.12.0) were not met:
+
+$GLIB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GLIB_CFLAGS
+and GLIB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GLIB_CFLAGS
+and GLIB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GLIB_CFLAGS
+and GLIB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+else
+ GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS
+ GLIB_LIBS=$pkg_cv_GLIB_LIBS
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+MOC=`pkg-config QtCore --variable=moc_location`
+as_ac_File=`$as_echo "ac_cv_file_$MOC" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $MOC" >&5
+$as_echo_n "checking for $MOC... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ test "$cross_compiling" = yes &&
+ { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+if test -r "$MOC"; then
+ eval "$as_ac_File=yes"
+else
+ eval "$as_ac_File=no"
+fi
+fi
+ac_res=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: Can't find moc compiler: $MOC" >&5
+$as_echo "$as_me: error: Can't find moc compiler: $MOC" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+UIC=`pkg-config QtCore --variable=uic_location`
+as_ac_File=`$as_echo "ac_cv_file_$UIC" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $UIC" >&5
+$as_echo_n "checking for $UIC... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ test "$cross_compiling" = yes &&
+ { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+if test -r "$UIC"; then
+ eval "$as_ac_File=yes"
+else
+ eval "$as_ac_File=no"
+fi
+fi
+ac_res=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: Can't find uic compiler: $UIC" >&5
+$as_echo "$as_me: error: Can't find uic compiler: $UIC" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+RCC=`pkg-config QtCore --variable=exec_prefix`/bin/rcc
+as_ac_File=`$as_echo "ac_cv_file_$RCC" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $RCC" >&5
+$as_echo_n "checking for $RCC... " >&6; }
+if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ test "$cross_compiling" = yes &&
+ { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+if test -r "$RCC"; then
+ eval "$as_ac_File=yes"
+else
+ eval "$as_ac_File=no"
+fi
+fi
+ac_res=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_File'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: Can't find rcc compiler: $RCC" >&5
+$as_echo "$as_me: error: Can't find rcc compiler: $RCC" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for cdb_make_start in -lcdb" >&5
+$as_echo_n "checking for cdb_make_start in -lcdb... " >&6; }
+if test "${ac_cv_lib_cdb_cdb_make_start+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcdb $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cdb_make_start ();
+int
+main ()
+{
+return cdb_make_start ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_cdb_cdb_make_start=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_cdb_cdb_make_start=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cdb_cdb_make_start" >&5
+$as_echo "$ac_cv_lib_cdb_cdb_make_start" >&6; }
+if test "x$ac_cv_lib_cdb_cdb_make_start" = x""yes; then
+ CDB_LIBS=-lcdb
+else
+ { { $as_echo "$as_me:$LINENO: error: Can't find cdb library" >&5
+$as_echo "$as_me: error: Can't find cdb library" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+# tools for documentation
+
+# Check whether --enable-doc was given.
+if test "${enable_doc+set}" = set; then
+ enableval=$enable_doc;
+else
+ enable_doc=undef
+fi
+
+if test x$enable_doc = xno
+then
+ missing_deps_BUILD_DOCS=", disabled by user"
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for gtk-doc" >&5
+$as_echo_n "checking for gtk-doc... " >&6; }
+if test -n "$PKG_CONFIG" && \
+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.9\"") >&5
+ ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.9") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, gtk-doc >= 1.9"
+fi
+HTML_DIR="${datadir}/gtk-doc/html"
+
+
+
+for ac_prog in dot
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DOT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DOT"; then
+ ac_cv_prog_DOT="$DOT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DOT="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DOT=$ac_cv_prog_DOT
+if test -n "$DOT"; then
+ { $as_echo "$as_me:$LINENO: result: $DOT" >&5
+$as_echo "$DOT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DOT" && break
+done
+test -n "$DOT" || DOT=":"
+
+if test $DOT = :
+then
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, Dot drawing tool"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$DOT --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: Dot drawing tool version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: Dot drawing tool version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, Dot drawing tool >= "
+ fi
+
+ fi
+fi
+
+
+
+for ac_prog in asciidoc
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ASCIIDOC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ASCIIDOC"; then
+ ac_cv_prog_ASCIIDOC="$ASCIIDOC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ASCIIDOC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ASCIIDOC=$ac_cv_prog_ASCIIDOC
+if test -n "$ASCIIDOC"; then
+ { $as_echo "$as_me:$LINENO: result: $ASCIIDOC" >&5
+$as_echo "$ASCIIDOC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ASCIIDOC" && break
+done
+test -n "$ASCIIDOC" || ASCIIDOC=":"
+
+if test $ASCIIDOC = :
+then
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, Asciidoc"
+else
+ if test x8.2.7 != x
+ then
+ disable_feature_on_prog_ver=`$ASCIIDOC --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "8.2.7" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: Asciidoc version mismatch; wanted 8.2.7, has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: Asciidoc version mismatch; wanted 8.2.7, has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, Asciidoc >= 8.2.7"
+ fi
+
+ fi
+fi
+
+
+
+for ac_prog in source-highlight
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_SOURCE_HIGHLIGHT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$SOURCE_HIGHLIGHT"; then
+ ac_cv_prog_SOURCE_HIGHLIGHT="$SOURCE_HIGHLIGHT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_SOURCE_HIGHLIGHT="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+SOURCE_HIGHLIGHT=$ac_cv_prog_SOURCE_HIGHLIGHT
+if test -n "$SOURCE_HIGHLIGHT"; then
+ { $as_echo "$as_me:$LINENO: result: $SOURCE_HIGHLIGHT" >&5
+$as_echo "$SOURCE_HIGHLIGHT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$SOURCE_HIGHLIGHT" && break
+done
+test -n "$SOURCE_HIGHLIGHT" || SOURCE_HIGHLIGHT=":"
+
+if test $SOURCE_HIGHLIGHT = :
+then
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, source-highlight"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$SOURCE_HIGHLIGHT --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: source-highlight version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: source-highlight version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, source-highlight >= "
+ fi
+
+ fi
+fi
+
+
+
+for ac_prog in xsltproc
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_XSLTPROC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$XSLTPROC"; then
+ ac_cv_prog_XSLTPROC="$XSLTPROC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_XSLTPROC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+XSLTPROC=$ac_cv_prog_XSLTPROC
+if test -n "$XSLTPROC"; then
+ { $as_echo "$as_me:$LINENO: result: $XSLTPROC" >&5
+$as_echo "$XSLTPROC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$XSLTPROC" && break
+done
+test -n "$XSLTPROC" || XSLTPROC=":"
+
+if test $XSLTPROC = :
+then
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, xsltproc"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$XSLTPROC --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: xsltproc version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: xsltproc version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, xsltproc >= "
+ fi
+
+ fi
+fi
+
+
+
+for ac_prog in xmllint
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_XMLLINT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$XMLLINT"; then
+ ac_cv_prog_XMLLINT="$XMLLINT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_XMLLINT="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+XMLLINT=$ac_cv_prog_XMLLINT
+if test -n "$XMLLINT"; then
+ { $as_echo "$as_me:$LINENO: result: $XMLLINT" >&5
+$as_echo "$XMLLINT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$XMLLINT" && break
+done
+test -n "$XMLLINT" || XMLLINT=":"
+
+if test $XMLLINT = :
+then
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, xmllint"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$XMLLINT --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: xmllint version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: xmllint version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, xmllint >= "
+ fi
+
+ fi
+fi
+
+
+
+for ac_prog in doxygen
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DOXYGEN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DOXYGEN"; then
+ ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DOXYGEN="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DOXYGEN=$ac_cv_prog_DOXYGEN
+if test -n "$DOXYGEN"; then
+ { $as_echo "$as_me:$LINENO: result: $DOXYGEN" >&5
+$as_echo "$DOXYGEN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DOXYGEN" && break
+done
+test -n "$DOXYGEN" || DOXYGEN=":"
+
+if test $DOXYGEN = :
+then
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, doxygen"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$DOXYGEN --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: doxygen version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: doxygen version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_BUILD_DOCS="$missing_deps_BUILD_DOCS, doxygen >= "
+ fi
+
+ fi
+fi
+
+ if test "$missing_deps_BUILD_DOCS" = ""; then
+ CONTEXTKIT_BUILD_DOCS_TRUE=
+ CONTEXTKIT_BUILD_DOCS_FALSE='#'
+else
+ CONTEXTKIT_BUILD_DOCS_TRUE='#'
+ CONTEXTKIT_BUILD_DOCS_FALSE=
+fi
+
+ if test "$missing_deps_BUILD_DOCS" = ""; then
+ GTK_DOC_USE_LIBTOOL_TRUE=
+ GTK_DOC_USE_LIBTOOL_FALSE='#'
+else
+ GTK_DOC_USE_LIBTOOL_TRUE='#'
+ GTK_DOC_USE_LIBTOOL_FALSE=
+fi
+
+ if test "$missing_deps_BUILD_DOCS" = ""; then
+ ENABLE_GTK_DOC_TRUE=
+ ENABLE_GTK_DOC_FALSE='#'
+else
+ ENABLE_GTK_DOC_TRUE='#'
+ ENABLE_GTK_DOC_FALSE=
+fi
+
+
+# coverage tools
+
+# Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then
+ enableval=$enable_coverage;
+else
+ enable_coverage=undef
+fi
+
+if test x$enable_coverage = xno
+then
+ missing_deps_COVERAGE=", disabled by user"
+fi
+
+
+
+for ac_prog in gcov
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_GCOV+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GCOV"; then
+ ac_cv_prog_GCOV="$GCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_GCOV="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+GCOV=$ac_cv_prog_GCOV
+if test -n "$GCOV"; then
+ { $as_echo "$as_me:$LINENO: result: $GCOV" >&5
+$as_echo "$GCOV" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$GCOV" && break
+done
+test -n "$GCOV" || GCOV=":"
+
+if test $GCOV = :
+then
+ missing_deps_COVERAGE="$missing_deps_COVERAGE, GCov coverage recording tool"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$GCOV --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: GCov coverage recording tool version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: GCov coverage recording tool version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_COVERAGE="$missing_deps_COVERAGE, GCov coverage recording tool >= "
+ fi
+
+ fi
+fi
+
+
+
+for ac_prog in lcov
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LCOV+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LCOV"; then
+ ac_cv_prog_LCOV="$LCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LCOV="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LCOV=$ac_cv_prog_LCOV
+if test -n "$LCOV"; then
+ { $as_echo "$as_me:$LINENO: result: $LCOV" >&5
+$as_echo "$LCOV" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$LCOV" && break
+done
+test -n "$LCOV" || LCOV=":"
+
+if test $LCOV = :
+then
+ missing_deps_COVERAGE="$missing_deps_COVERAGE, LCov coverage visualization tool"
+else
+ if test x != x
+ then
+ disable_feature_on_prog_ver=`$LCOV --version </dev/null 2>/dev/null | head -n1 | grep -o '[0-9.]*'`
+
+
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+
+ ax_compare_version_A=`echo "$disable_feature_on_prog_ver" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version_B=`echo "" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
+ -e 's/Z\([0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
+ -e 's/[^0-9]//g'`
+
+
+ ax_compare_version=`echo "x$ax_compare_version_A
+x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/true/;s/x${ax_compare_version_B}/false/;1q"`
+
+
+
+ if test "$ax_compare_version" = "true" ; then
+ :
+ else { $as_echo "$as_me:$LINENO: WARNING: LCov coverage visualization tool version mismatch; wanted , has: $disable_feature_on_prog_ver" >&5
+$as_echo "$as_me: WARNING: LCov coverage visualization tool version mismatch; wanted , has: $disable_feature_on_prog_ver" >&2;}
+ missing_deps_COVERAGE="$missing_deps_COVERAGE, LCov coverage visualization tool >= "
+ fi
+
+ fi
+fi
+
+ if test "$missing_deps_COVERAGE" = ""; then
+ CONTEXTKIT_COVERAGE_TRUE=
+ CONTEXTKIT_COVERAGE_FALSE='#'
+else
+ CONTEXTKIT_COVERAGE_TRUE='#'
+ CONTEXTKIT_COVERAGE_FALSE=
+fi
+
+
+ac_config_files="$ac_config_files Makefile doc/Makefile common/Makefile libcontextsubscriber/Makefile libcontextsubscriber/cli/Makefile libcontextsubscriber/cls/Makefile libcontextsubscriber/contextsubscriber-1.0.pc libcontextsubscriber/customer-tests/Makefile libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile libcontextsubscriber/customer-tests/testplugins/Makefile libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile libcontextsubscriber/doc/Makefile libcontextsubscriber/man/Makefile libcontextsubscriber/src/Makefile libcontextsubscriber/unit-tests/Makefile libcontextsubscriber/unit-tests/cdb/Makefile libcontextsubscriber/unit-tests/infoxmlbackend/Makefile libcontextsubscriber/unit-tests/infocdbbackend/Makefile libcontextsubscriber/unit-tests/contextregistryinfo/Makefile libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile libcontextsubscriber/unit-tests/infobackend/Makefile libcontextsubscriber/unit-tests/handlesignalrouter/Makefile libcontextsubscriber/unit-tests/propertyhandle/Makefile libcontextsubscriber/unit-tests/provider/Makefile libcontextsubscriber/unit-tests/util/Makefile libcontextsubscriber/unit-tests/nanoxml/Makefile libcontextsubscriber/multithreading-tests/Makefile libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile libcontextsubscriber/multithreading-tests/single-thread/Makefile libcontextsubscriber/multithreading-tests/stress-test/Makefile libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile libcontextsubscriber/update-contextkit-providers/Makefile libcontextsubscriber/propertymonitor/Makefile libcontextprovider/contextprovider-1.0.pc libcontextprovider/Makefile libcontextprovider/doc/Makefile libcontextprovider/src/Makefile libcontextprovider/context-provide/Makefile libcontextprovider/man/Makefile libcontextprovider/unit-tests/Makefile libcontextprovider/unit-tests/manager/Makefile libcontextprovider/unit-tests/subscriber/Makefile libcontextprovider/unit-tests/contextgroup/Makefile libcontextprovider/unit-tests/property/Makefile libcontextprovider/unit-tests/contextc/Makefile libcontextprovider/unit-tests/service/Makefile libcontextprovider/unit-tests/servicebackend/Makefile libcontextprovider/customer-tests/Makefile libcontextprovider/customer-tests/subscription/Makefile libcontextprovider/customer-tests/client/Makefile libcontextprovider/customer-tests/value-changes/Makefile libcontextprovider/customer-tests/types/Makefile libcontextprovider/customer-tests/c-api/Makefile python/Makefile spec/Makefile tools/Makefile tools/loadmem/Makefile"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${CONTEXTKIT_BUILD_DOCS_TRUE}" && test -z "${CONTEXTKIT_BUILD_DOCS_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"CONTEXTKIT_BUILD_DOCS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"CONTEXTKIT_BUILD_DOCS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"ENABLE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${CONTEXTKIT_COVERAGE_TRUE}" && test -z "${CONTEXTKIT_COVERAGE_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"CONTEXTKIT_COVERAGE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"CONTEXTKIT_COVERAGE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by ContextKit $as_me 0.3.11~unreleased, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTION]... [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+ContextKit config.status 0.3.11~unreleased
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_flag_spec_ld_CXX \
+hardcode_libdir_separator_CXX \
+fix_srcfile_path_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+ ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
+ "libcontextsubscriber/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/Makefile" ;;
+ "libcontextsubscriber/cli/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/cli/Makefile" ;;
+ "libcontextsubscriber/cls/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/cls/Makefile" ;;
+ "libcontextsubscriber/contextsubscriber-1.0.pc") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/contextsubscriber-1.0.pc" ;;
+ "libcontextsubscriber/customer-tests/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/customer-tests/Makefile" ;;
+ "libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile" ;;
+ "libcontextsubscriber/customer-tests/testplugins/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/customer-tests/testplugins/Makefile" ;;
+ "libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile" ;;
+ "libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile" ;;
+ "libcontextsubscriber/doc/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/doc/Makefile" ;;
+ "libcontextsubscriber/man/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/man/Makefile" ;;
+ "libcontextsubscriber/src/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/src/Makefile" ;;
+ "libcontextsubscriber/unit-tests/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/Makefile" ;;
+ "libcontextsubscriber/unit-tests/cdb/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/cdb/Makefile" ;;
+ "libcontextsubscriber/unit-tests/infoxmlbackend/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/infoxmlbackend/Makefile" ;;
+ "libcontextsubscriber/unit-tests/infocdbbackend/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/infocdbbackend/Makefile" ;;
+ "libcontextsubscriber/unit-tests/contextregistryinfo/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/contextregistryinfo/Makefile" ;;
+ "libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile" ;;
+ "libcontextsubscriber/unit-tests/infobackend/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/infobackend/Makefile" ;;
+ "libcontextsubscriber/unit-tests/handlesignalrouter/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/handlesignalrouter/Makefile" ;;
+ "libcontextsubscriber/unit-tests/propertyhandle/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/propertyhandle/Makefile" ;;
+ "libcontextsubscriber/unit-tests/provider/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/provider/Makefile" ;;
+ "libcontextsubscriber/unit-tests/util/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/util/Makefile" ;;
+ "libcontextsubscriber/unit-tests/nanoxml/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/nanoxml/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/single-thread/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/single-thread/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/stress-test/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/stress-test/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile" ;;
+ "libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile" ;;
+ "libcontextsubscriber/update-contextkit-providers/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/update-contextkit-providers/Makefile" ;;
+ "libcontextsubscriber/propertymonitor/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/propertymonitor/Makefile" ;;
+ "libcontextprovider/contextprovider-1.0.pc") CONFIG_FILES="$CONFIG_FILES libcontextprovider/contextprovider-1.0.pc" ;;
+ "libcontextprovider/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/Makefile" ;;
+ "libcontextprovider/doc/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/doc/Makefile" ;;
+ "libcontextprovider/src/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/src/Makefile" ;;
+ "libcontextprovider/context-provide/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/context-provide/Makefile" ;;
+ "libcontextprovider/man/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/man/Makefile" ;;
+ "libcontextprovider/unit-tests/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/Makefile" ;;
+ "libcontextprovider/unit-tests/manager/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/manager/Makefile" ;;
+ "libcontextprovider/unit-tests/subscriber/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/subscriber/Makefile" ;;
+ "libcontextprovider/unit-tests/contextgroup/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/contextgroup/Makefile" ;;
+ "libcontextprovider/unit-tests/property/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/property/Makefile" ;;
+ "libcontextprovider/unit-tests/contextc/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/contextc/Makefile" ;;
+ "libcontextprovider/unit-tests/service/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/service/Makefile" ;;
+ "libcontextprovider/unit-tests/servicebackend/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/servicebackend/Makefile" ;;
+ "libcontextprovider/customer-tests/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/Makefile" ;;
+ "libcontextprovider/customer-tests/subscription/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/subscription/Makefile" ;;
+ "libcontextprovider/customer-tests/client/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/client/Makefile" ;;
+ "libcontextprovider/customer-tests/value-changes/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/value-changes/Makefile" ;;
+ "libcontextprovider/customer-tests/types/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/types/Makefile" ;;
+ "libcontextprovider/customer-tests/c-api/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/c-api/Makefile" ;;
+ "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
+ "spec/Makefile") CONFIG_FILES="$CONFIG_FILES spec/Makefile" ;;
+ "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+ "tools/loadmem/Makefile") CONFIG_FILES="$CONFIG_FILES tools/loadmem/Makefile" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+
+
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1+=\$2"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+ ;;
+ esac
+
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+
+ cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+
+if test "$missing_deps_BUILD_DOCS" = ""
+then
+ { $as_echo "$as_me:$LINENO: Building of documentation is enabled" >&5
+$as_echo "$as_me: Building of documentation is enabled" >&6;}
+else
+ missing_deps_BUILD_DOCS=`echo $missing_deps_BUILD_DOCS | cut -c3-`
+ { $as_echo "$as_me:$LINENO: WARNING: Documentation won't be built, missing dependencies: $missing_deps_BUILD_DOCS" >&5
+$as_echo "$as_me: WARNING: Documentation won't be built, missing dependencies: $missing_deps_BUILD_DOCS" >&2;}
+fi
+
+
+
+if test "$missing_deps_COVERAGE" = ""
+then
+ { $as_echo "$as_me:$LINENO: Unit testing coverage support is enabled" >&5
+$as_echo "$as_me: Unit testing coverage support is enabled" >&6;}
+else
+ missing_deps_COVERAGE=`echo $missing_deps_COVERAGE | cut -c3-`
+ { $as_echo "$as_me:$LINENO: WARNING: Coverage won't be supported during unit testing, missing dependencies: $missing_deps_COVERAGE" >&5
+$as_echo "$as_me: WARNING: Coverage won't be supported during unit testing, missing dependencies: $missing_deps_COVERAGE" >&2;}
+fi
+
diff --git a/depcomp b/depcomp
new file mode 100755
index 00000000..e5f9736c
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,589 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2007-03-29.01
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
+# Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputing dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> $depfile
+ echo >> $depfile
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> $depfile
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test $1 != '--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test $1 != '--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no
+ for arg in "$@"; do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix="`echo $object | sed 's/^.*\././'`"
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test $1 != '--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o,
+ # because we must use -o when running libtool.
+ "$@" || exit $?
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/doc/.gitignore b/doc/.gitignore
deleted file mode 100644
index 8906a606..00000000
--- a/doc/.gitignore
+++ /dev/null
@@ -1,16 +0,0 @@
-context-providers.html
-context-intro.html
-context-properties.html
-fig1.svg
-fig2.svg
-fig3.svg
-fig4.svg
-fig5.svg
-context-provider-schema.html
-context.html
-contextkit.html
-use-cases.html
-context-arch.html
-context-types.html
-fig3.png
-fig4.png
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 00000000..5ad75999
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,421 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(htmldir)"
+htmlDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(html_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = $(datadir)/doc/contextkit/html/
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+html_ASCIIDOCS = context-intro.txt context-providers.txt context-types.txt context-arch.txt use-cases.txt
+
+# Support for html_ASCIIDOCS and html_EXTRA
+html_DATA = $(html_EXTRA) \
+ $(html_ASCIIDOCS:.txt=.html) \
+ $(shell sed -n '/^\[dotty,/ { s/^.*,// ; s/].*// ; p }' $(html_ASCIIDOCS:%=$(srcdir)/%))
+
+EXTRA_DIST = $(html_ASCIIDOCS) \
+ $(html_DATA) \
+ myfilter.conf
+
+MAINTAINERCLEANFILES = $(html_DATA)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-htmlDATA: $(html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(html_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
+uninstall-htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(html_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -f "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(htmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am: html-local
+
+info: info-am
+
+info-am:
+
+install-data-am: install-htmlDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-htmlDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am html-local info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-htmlDATA install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-htmlDATA
+
+
+html-local: $(html_EXTRA) $(html_ASCIIDOCS:.txt=.html)
+
+@CONTEXTKIT_BUILD_DOCS_TRUE@context-arch.html fig3.png fig4.png: context-arch.txt
+
+@CONTEXTKIT_BUILD_DOCS_TRUE@%.html: %.txt
+@CONTEXTKIT_BUILD_DOCS_TRUE@ asciidoc -a toc --unsafe -f myfilter.conf $^
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/context-arch.html b/doc/context-arch.html
new file mode 100644
index 00000000..cf111525
--- /dev/null
+++ b/doc/context-arch.html
@@ -0,0 +1,1099 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.7" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist > ol {
+ list-style-type: decimal;
+}
+div.olist2 > ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 15px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+
+/* Because IE6 child selector is broken. */
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+div.olist2 div.olist ol {
+ list-style-type: decimal;
+}
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+}
+
+function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName)
+ if (mo)
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+ var toc = document.getElementById("toc");
+ var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "toc" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+<title>Context Framework Subsystem Architecture Description</title>
+</head>
+<body>
+<div id="header">
+<h1>Context Framework Subsystem Architecture Description</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="para"><p>|================================
+|Author | Marius Vollmer
+|Status | Draft
+|Version | 2009-10-20
+|Approver | Olli Finni
+|================================</p></div>
+<div class="para"><p>Copyright &#169; Nokia. All rights reserved.</p></div>
+<div class="para"><p>This material, including documentation and any related computer
+programs, is protected by copyright controlled by Nokia. All rights
+are reserved. Copying, including reproducing, storing, adapting or
+translating, any or all of this material requires the prior written
+consent of Nokia. This material also contains confidential
+information, which may not be disclosed to others without the prior
+written consent of Nokia.</p></div>
+<div class="para"><p>Nokia is a registered trademark of Nokia. Other company and product
+names mentioned herein may be trademarks or tradenames of their
+respective owners.</p></div>
+</div>
+</div>
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="para"><p>The Context Framework, part of the Data Domain, provides a uniform,
+high level API to numerous context properties of the device. While
+many of these context properties are available without the context
+framework, each of them has its own specific way of accessing it. The
+context framework collects them all behind a uniform API, and
+applications thus have easy access to all of the context properties.</p></div>
+<div class="para"><p>The following lists some typical context properties:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+Connectivity status of the device; whether it is connected to the
+ Internet and by what means.
+</p>
+</li>
+<li>
+<p>
+Location; the name of the current city.
+</p>
+</li>
+<li>
+<p>
+Builtin sensors; orientation in space.
+</p>
+</li>
+<li>
+<p>
+Current use; idle, plays media, web browsing.
+</p>
+</li>
+<li>
+<p>
+Combined properties; current weather based on location and online
+ weather database.
+</p>
+</li>
+</ul></div>
+<div class="para"><p>More concretely, the information in the status bar of a device is
+provided exclusively by the Context Framework.</p></div>
+<div class="para"><p>Applications access context properties by using the <tt>ContextProperty</tt>
+class that is implemented in api:libcontextsubscriber.</p></div>
+<div class="para"><p>The context framework is modular: context properties from multiple
+independent components are directly combined in the
+<tt>libcontextsubscriber</tt> API and applications can access them without
+needing to know who is ultimately providing them.</p></div>
+<div class="para"><p>A component that wants to directly provide context properties needs to
+implement the relevant interfaces defined by the context framework.
+Currently, the only supported way to do that is to use the
+api:libcontextprovider library.</p></div>
+<div class="para"><p>In addition to information from multiple sources, the context
+framework is a provider of context properties itself: there is a
+<em>context daemon</em> that collects information from low-level and legacy
+interfaces. This context daemon is a good default location for
+implementing context properties and for absorbing properties from
+existing subsystems that have aqcuired them for historical reasons and
+would rather get rid of them.</p></div>
+<div class="para"><p>The concrete list of properties is ultimately defined by their
+providers, but the context framework is the central authority: the
+`official' list of context properties of the Maemo platform is defined
+and documented by the context framework.</p></div>
+<div class="para"><p>To summarize, the context framework contributes value to the Maemo
+platform in the following ways:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+It implements and documents a high-level, uniform API to a set of
+ context properties that are provided by multiple components.
+</p>
+</li>
+<li>
+<p>
+It defines and documents the concrete list of properties of the
+ Maemo platform. This includes harmonizing the context ontology with
+ other industry efforts.
+</p>
+</li>
+<li>
+<p>
+It implements context properties that do not naturally belong to
+ other subsystems and coordinates the implementation of context
+ properties that do belong in specific subsystems.
+</p>
+</li>
+<li>
+<p>
+It provides a debugging and exploration tool for inspecting and
+ controlling context properties.
+</p>
+</li>
+</ul></div>
+<div class="para"><p>Thus, the Context Framework does not drive the behavior of the system,
+it only provides the information that is needed for other components
+to decide for themselves. To makes this reasonably easy, the context
+properties are at a high level of abstraction and express the coarse
+grained states of the device. For example, the properties tell you
+whether it is completely idle, in passive use playing some media, or
+in active use. They don't give a real-time view of CPU load.</p></div>
+</div>
+<h2 id="_architecture">Architecture</h2>
+<div class="sectionbody">
+<h3 id="_concepts">Concepts</h3><div style="clear:left"></div>
+<div class="para"><p>Context properties are collected from all providers that have
+registered themselves with the
+<a href="context-providers.html"><tt>context-providers</tt></a> interface. For each
+provider, this registration information includes the list of its
+properties with type information and a short description for each, and
+the D-Bus bus name where the provider can be reached. Providers can
+be both on the session and on the system bus, and the registration
+information indicates which bus it is.</p></div>
+<div class="para"><p>This registration information is read by the <tt>libcontextsubscriber</tt>
+library and used by its <tt>ContextProperty</tt> class to connect a requested
+property name to the right bus name.</p></div>
+<div class="para"><p>The registration information is compiled into a <em>cache</em> that is
+optimized for use by <tt>libcontextsubscriber</tt>. When the set of
+registered properties changes, the cache is recompiled by a command
+line utility provided by the context framework. This will then
+trigger all libcontextsubscriber clients to reload the registry
+information, and existing <tt>ContextProperty</tt> instances to be updated.</p></div>
+<div class="para"><p>(Note that the cache only caches property declarations, it does not
+ever contain the values of context properties.)</p></div>
+<div class="para"><p>When providers are installed from packages, recompilation of the cache
+happens automatically. <em>Triggers</em> in the Context Framework packages
+are used to run the command line utility at the right times.</p></div>
+<div class="para"><p>The <tt>libcontextsubscriber</tt> library gracefully handles start, stop and
+restart of providers. During system startup some applications may
+start to use the Context Framework before all providers are
+available. Properties become dynamically available as providers become
+available, and removed when providers are no longer available.</p></div>
+<div class="para"><p>Communication between a <tt>ContextProperty</tt> and the provider happens
+using a private D-Bus interface. This interface allows for bulk
+retrieval of property values, bulk subscriptions, and bulk change
+notification.</p></div>
+<div class="para"><p>The values of properties are represented to clients as a <tt>QVariant</tt>
+value. Properties can have a special <em>null</em> value when they are not
+available, either because they are not provided by any provider, or
+because the provider is not able to deliver a value. In other words,
+the types of all context properties are "maybe types": subscribers
+might get a value or not. In general, the <em>null</em> value means that the
+real value of the property is unknown.</p></div>
+<div class="para"><p>The <em>null</em> value is different from the empty string or the empty list.
+For example, the "Location.City" property, which denotes the name of
+the current city as a string, will be <em>null</em> when the name of the city
+is unknown (either because the current location of the device is
+unknown or because the database that maps from locations to city names
+is not reachable), but it will be the empty string when the current
+location is known to be outside of any city.</p></div>
+<div class="para"><p>The absence of a value can have many reasons: no provider is available
+for this property, the provider has not yet delivered a value, or the
+provider is deliberately not delivering a value, which it can in turn
+have many reasons. For example, necessary hardware might not be
+present or its use might be disallowed by the current power management
+policy, or a needed online database might not reachable.</p></div>
+<div class="para"><p>The Context Framework makes no attempt to distinguish these different
+reasons. Subscribers should make good use of a value when they get
+it, but they must not fail catastrophically when no value is
+available, or when it takes longer than expected for it to become
+available.</p></div>
+<div class="para"><p>It is expected that eventually the statusbar plugins, such as the
+battery charge monitor and the connectivity indicators, exclusively
+use the context properties to retrieve the information they display.</p></div>
+<div class="para"><p>Context providers need to implement the private D-Bus interface. This
+is done with the api:libcontextprovider library. This library is used
+by the context daemon itself, which can serve as an extended example.</p></div>
+<div class="para"><p>The Connectivity Framework and the Sensor Framework are expected to be
+context providers as described above. Additional context properties,
+such as those related to the Location Framework, are implemented by
+the <em>context daemon</em> contained in the Context Framework.</p></div>
+<div class="para"><p>The <tt>contextd</tt> Context Daemon will implement all context properties
+that don't have a native provider. It will at least implement
+properties for the information contained in HAL and for location
+related information. It is expected that <tt>contextd</tt> runs the
+necessary reverse geocoding operations at a reasonable frequency. It
+will also perform Content Framework queries to retrieve the values of
+certain properties.</p></div>
+<div class="para"><p>If necessary for security reasons, the <tt>contextd</tt> might need to be
+split into multiple instances.</p></div>
+<h3 id="_system_context">System context</h3><div style="clear:left"></div>
+<div class="para"><p>The context framework decouples context subscribers from context
+providers.</p></div>
+<div class="svg">
+<object type="image/png" data="fig3.png"/>
+</div>
+<h3 id="_structural_view">Structural view</h3><div style="clear:left"></div>
+<div class="para"><p>The following figure summarizes the components of the Context
+Framework.</p></div>
+<div class="svg">
+<object type="image/png" data="fig4.png"/>
+</div>
+<div class="para"><p>There are two fundamental options for exporting information via the
+context framework:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+The context daemon can use existing platform interfaces, such as
+ HAL, to collect this information, process it, and export it as a
+ context property.
+ <br />
+ This applies to: HAL, Location subsystem, Kernel.
+</p>
+</li>
+<li>
+<p>
+The principal producer of the information, such as the <tt>icd2</tt> daemon
+ in the Connectivity subsystem, can use the libcontextprovider API
+ and export the information directly to applications without using
+ the context daemon as a middle man.
+ <br />
+ This applies to: Sensor Framework, possibly Connectivity subsystem
+ (needs agreeement), possibly Telephony subsystem (needs agreement)
+</p>
+</li>
+</ul></div>
+<h3 id="_provided_interfaces">Provided Interfaces</h3><div style="clear:left"></div>
+<div class="para"><div class="title"><tt>libcontextsubscriber</tt></div><p>A C++ API for listening to context properties.</p></div>
+<div class="para"><p><a href="libcontextsubscriber">Documentation</a></p></div>
+<div class="para"><div class="title"><tt>libcontextprovider</tt></div><p>A C++ and C API for providing values of context properties.</p></div>
+<div class="para"><p><a href="libcontextprovider">Documentation</a></p></div>
+<div class="para"><div class="title"><tt>context-properties</tt></div><p>The canonical list of context properties in the Maemo platform. When
+a context property from the list is available, it must conform to its
+description there.</p></div>
+<div class="para"><p><a href="context-properties.html">Documentation</a></p></div>
+<div class="para"><div class="title"><tt>context-providers</tt></div><p>The interface to register providers of context properties. A provider
+must use the api:libcontextprovider API.</p></div>
+<div class="para"><p><a href="context-providers.html">Documentation</a></p></div>
+<h3 id="_development_support">Development support</h3><div style="clear:left"></div>
+<div class="para"><p>No special features are needed in the Context Framework components to
+make them work in a Scratchbox environment. Availability of
+individual properties depends on the ability of their providers to run
+in Scratchbox. The <tt>contextd</tt> Context Daemon runs but might not be
+able to provide all properties.</p></div>
+<div class="para"><p>The Context Framework provides a graphical tool called the Context
+Commander to watch all available context properties. This can be used
+to test context providers during development.</p></div>
+<div class="para"><p>In addition, the Context Commander can be used to force context
+properties of selected applications to arbitrary values. This can be
+used to test the reaction of applications to context changes.</p></div>
+<div class="para"><p>The Context Commander runs on the device and either show its UI on the
+device itself or exports it to an external X11 server. This way, the
+testing can be done without disturbing the display of the device
+itself.</p></div>
+<div class="para"><p>When started, the Context Commander takes control of all subscribers
+with their cooperation: when the
+"org.freedesktop.ContextKit.Commander" name appears on the session
+D-Bus, all ContextProperty instances redirect their subcription
+requests to it.</p></div>
+<div class="para"><p>There are vague ideas about integrating the Context Commander into
+Eclipse.</p></div>
+<h3 id="_licenses">Licenses</h3><div style="clear:left"></div>
+<div class="para"><p>The components of the Context Framework will be developed publically,
+under the umbrella of the freedesktop.org organization. All source
+code is licensed with LGPL 2.1, including the daemon and context
+commander.</p></div>
+<div class="para"><p>Non-free source code can safely interact with the Context Framework
+components.</p></div>
+<h3 id="_user_data_settings_and_configurability">User Data, Settings, and Configurability</h3><div style="clear:left"></div>
+<div class="para"><p>The Context Framework does not store user data and is not
+configurable.</p></div>
+<h3 id="_configurability">Configurability</h3><div style="clear:left"></div>
+<div class="para"><p>See above.</p></div>
+<h3 id="_packages">Packages</h3><div style="clear:left"></div>
+<div class="hlist"><div class="title"><tt>contextkit</tt></div><table>
+<tr>
+<td class="hlist1">
+Languages
+</td>
+<td class="hlist2">
+C, C++, Vala
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+License
+</td>
+<td class="hlist2">
+LGPL 2.1
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Provided interfaces
+</td>
+<td class="hlist2">
+libcontextsubscriber, libcontextprovider, context-providers, context-properties,
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Used interfaces
+</td>
+<td class="hlist2">
+libdbus, libgee, libglib, libcdb, libqt4-dbus, libqt4-xml, libqtcore4
+<div class="vlist"><dl>
+<dt>
+Binary packages
+</dt>
+<dd>
+<p>
+ libcontextsubscriber0, libcontextsubscriber0-dbg, libcontextsubscriber-dev, libcontextsubscriber-doc,
+ libcontextprovider0, libcontextprovider0-dbg, libcontextprovider-dev, libcontextprovider-doc,
+ contextkit, contextkit-doc, context-dbg
+</p>
+</dd>
+</dl></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Sources
+</td>
+<td class="hlist2">
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextKit">https://dvcs.projects.maemo.org/git/?p=ContextKit</a>
+</td>
+</tr>
+</table></div>
+<div class="hlist"><div class="title"><tt>context-commander</tt></div><table>
+<tr>
+<td class="hlist1">
+Languages
+</td>
+<td class="hlist2">
+C++
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+License
+</td>
+<td class="hlist2">
+LGPL 2.1
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Provided interfaces
+</td>
+<td class="hlist2">
+none
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Used interfaces
+</td>
+<td class="hlist2">
+libcontextsubscriber, libqt4-dbus, libqt4-gui, libqt4-core
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Binary packages
+</td>
+<td class="hlist2">
+context-commander
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Sources
+</td>
+<td class="hlist2">
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextCommander">https://dvcs.projects.maemo.org/git/?p=ContextCommander</a>
+</td>
+</tr>
+</table></div>
+<div class="hlist"><div class="title"><tt>context-provider-example</tt></div><table>
+<tr>
+<td class="hlist1">
+Languages
+</td>
+<td class="hlist2">
+C
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+License
+</td>
+<td class="hlist2">
+LGPL 2.1
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Provided interfaces
+</td>
+<td class="hlist2">
+Context.Example.* properties.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Used interfaces
+</td>
+<td class="hlist2">
+libcontextprovider, sysfs files for accelerometer and ambient light sensor
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Binary packages
+</td>
+<td class="hlist2">
+context-provider-example
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Sources
+</td>
+<td class="hlist2">
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextProviderExample">https://dvcs.projects.maemo.org/git/?p=ContextProviderExample</a>
+</td>
+</tr>
+</table></div>
+<div class="hlist"><div class="title"><tt>context-subscriber-example</tt></div><table>
+<tr>
+<td class="hlist1">
+Languages
+</td>
+<td class="hlist2">
+C++
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+License
+</td>
+<td class="hlist2">
+LGPL 2.1
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Provided interfaces
+</td>
+<td class="hlist2">
+none.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Used interfaces
+</td>
+<td class="hlist2">
+Context.Example.* properties, libcontextsubscriber, libqt4-gui, libqt4-core
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Binary packages
+</td>
+<td class="hlist2">
+context-subscriber-example
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+Sources
+</td>
+<td class="hlist2">
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextSubscriberExample">https://dvcs.projects.maemo.org/git/?p=ContextSubscriberExample</a>
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_performance">Performance</h2>
+<div class="sectionbody">
+<h3 id="_general">General</h3><div style="clear:left"></div>
+<div class="para"><p>The Context Framework makes no real-time guarantees and does not rely
+on any.</p></div>
+<div class="para"><p>It is careful not to cause significant additional communication that
+wouldn't be needed anyway to communicate contextual information to the
+interested parties.</p></div>
+<div class="para"><p>We expect 5 to 10 providers, about 20 subscribers, each subscribed to
+an average of 5 properties. Property values can become arbitrarily
+big, but are expected to be mostly small, in the order of 10 bytes.
+The occasional big property value is expected to change
+correspondingly infrequently.</p></div>
+<h3 id="_memory">Memory</h3><div style="clear:left"></div>
+<div class="para"><p>|========================================================================================
+| OneNAND | All files are stored on the OneNAND, in their FHS mandated places | 200 KiB
+| eMMC | Not used | 0
+| RAM/Idle | A couple of bytes per subscription plus a couple more per provided property | 200 KiB
+| RAM/Peak | The biggest property values might reach a KiB | 500 KiB
+|========================================================================================</p></div>
+<h3 id="_runtime">Runtime</h3><div style="clear:left"></div>
+<div class="para"><p>The Context Framework allows subscribers and providers to directly
+connect to each other (incurring only the usual D-Bus daemon
+overhead). Context properties are expected to change only
+infrequently and providers are urged to throttle the rate of change.</p></div>
+<div class="para"><p>The contextd daemon is started on the first subscription to one of its
+properties. This is expected to happen on every boot since it
+provides properties that are used by other daemons, such as the
+context engine.</p></div>
+<h3 id="_power_consumption">Power consumption</h3><div style="clear:left"></div>
+<div class="para"><p>Providers of context properties know at any time whether someone in
+the system is subscribed to them. This allows them to avoid expensive
+operations for producing values that are not needed.</p></div>
+<div class="para"><p>The documentation for subscribers urges them to take the cost of
+producing property values into consideration. The subscriber API
+offers an easy way to temporarily suspend a subscription.</p></div>
+<div class="para"><p>Sometimes, increased granularity of control over a property is needed:
+instead of just switching it on and off, the subscriber might want to
+request different levels of quality. For example, some subscribers
+might need a higher update frequency than others and are willing to
+pay the associated price in power consumption.</p></div>
+<div class="para"><p>The recommended way to implement this increased control is to offer
+multiple properties that deliver the same value but with different
+qualities-of-service. For example, there could be both
+"Location.HighResCoordinates" and "Location.LowResCoordinates"
+properties that both deliver the current geographical coordinates.
+Subscribing to "Location.HighResCoordinates", however, would cause the
+location to be updated more frequently and maybe even activate a GPS
+device, if available.</p></div>
+</div>
+<h2 id="_security_impact">Security Impact</h2>
+<div class="sectionbody">
+<div class="para"><p>Different context properties might need to have different access
+restrictions. A context provider can implement these access
+restriction in whatever way works, but should preferrably use the
+existing features of the Security Framework.</p></div>
+<div class="para"><p>The Security Framework can control access per D-Bus bus connection.
+Thus, a given context provider should only implement properties with
+the same access rights and leave it to the Security Framework to allow
+or disallow connections to the provider as a whole.</p></div>
+<div class="para"><p>The Context Daemon needs to follow the same rules, of course.</p></div>
+<div class="para"><p>The libcontextsubscriber library listens for a special D-Bus bus name
+to appear and then allows the service behind that name to override all
+values of context properties. The library protects this special name
+with a security token so that only specially certified software can
+own this name. The context commander might or might not be certified
+in this way; instead of certifying it, it might be preferrable to
+require developers to explicitly disable the name protection (via a
+developer certificate or a general device unlocking ceremony) before
+they can use the context commander.</p></div>
+</div>
+<h2 id="_open_items">Open Items</h2>
+<div class="sectionbody">
+<div class="ilist"><ul>
+<li>
+<p>
+The D-Bus interface needs to be reviewed and maybe redesigned. It
+ might make sense to use one object path per property instead of one
+ object path per subscriber like we do now.
+</p>
+</li>
+<li>
+<p>
+Integration with Content Framework needs to be addressed. Snapshots
+ of the current context need to be imported into the content database
+ (as document tags, say) and content queries might be run
+ periodically to provide contextual information (such as the ten most
+ recently accessed documents).
+</p>
+</li>
+<li>
+<p>
+The current plan for localization of context properties requires
+ context providers to do it. They thusly need access to the current
+ device language and rumour has it that everything about l10n is
+ different in Harmattan.
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="_appendices">Appendices</h2>
+<div class="sectionbody">
+<h3 id="_the_context_framework_for_context_providers">The Context Framework for Context Providers</h3><div style="clear:left"></div>
+<div class="para"><p>The advantages of the Context Framework for application writers should
+be clear: they can access a rich set of useful contextual information
+with a simple API.</p></div>
+<div class="para"><p>The ultimate providers of this information, however, might feel that
+the context framework itself does not add significant value: after
+all, they already implement APIs to access all that information
+anyway. Hooking into the Context Framework means a duplication of
+effort and the requirement to express everything as a value (instead
+of a general query/response API) might be unwelcome.</p></div>
+<div class="para"><p>However, the unified API and central maintenance of the list of core
+properties carries a lot of value:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+It makes using more contextual information trivial once you have
+ used your first property.
+</p>
+</li>
+<li>
+<p>
+It makes it possible to expose present and future context
+ information in all kinds of places with a single effort. Once the
+ context framework has been integrated into the Web runtime, into
+ Python, or into any language that people care about, no additional
+ effort is needed by anyone to track future developments of the
+ context properties.
+</p>
+</li>
+<li>
+<p>
+It decouples context providers from consumers. The context
+ framework makes it possible to move the implementation of a property
+ from one component to another without having to restart the
+ consumers.
+</p>
+</li>
+<li>
+<p>
+It makes it worthwhile to develop sophisticated tools such as the
+ context commander and support for easy automated testing of context
+ subscribers and providers.
+</p>
+</li>
+<li>
+<p>
+It might allow some context providers to exit the "API business"
+ altogether.
+</p>
+<div class="para"><p>If a piece of information is available in a corner of the system but
+needed somewhere else, it is only human to see this as a nuisance
+and cobble together a few D-Bus methods to access that information.</p></div>
+<div class="para"><p>The context framework provides a good alternative in those cases.</p></div>
+</li>
+</ul></div>
+<div class="para"><p>It is thus our opinion that the context framework provides enough
+value to justify pushing it into other peoples subsystems, even if
+that means duplicated efforts.</p></div>
+<div class="para"><p>Moreover, the effort needed to integrate with the context framework is
+low.</p></div>
+<h3 id="_relation_to_policy_engine">Relation to Policy Engine</h3><div style="clear:left"></div>
+<div class="para"><p>The policy engine has the role in the Maemo platform to decide system
+global behavior and controls the various distributed enforcement
+points accordingly. This job will likely be done by OHMng.</p></div>
+<div class="para"><p>The policy engine can be both a subscriber to and provider of context
+properties. The policy engine will base its decisions (partly) on the
+current values of context properties and will publish (part of) its
+decisions as context properties.</p></div>
+<div class="para"><p>Most facts that need to be gathered as input for the policy engine can
+be communicted to it via the context framework. If necessary,
+non-public context properties can be defined that (while visible to
+everyone who knows where to look) are not maintained as part of the
+list of core properties.</p></div>
+<div class="para"><p>Decisions of the policy engine can be communicated to cooperating
+applications and potentially even to enforcement points. The set of
+values representable as context properties is quite rich so that
+hopefully all facts and decisions can be represented with them.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-10-20 09:32:36 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/context-cron.txt b/doc/context-cron.txt
deleted file mode 100644
index c26f4a09..00000000
--- a/doc/context-cron.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-Context Cron Architecture Study
-===============================
-
-The Context Framework allows clients a view into the current state of
-the system. Clients can watch that state and react to it
-appropriately. Doing this, however, requires a running process
-somewhere.
-
-The Context Cron is a component that can be programmed to watch the
-system on behalf of other components. Conceptually, the Context Cron
-constantly evaluates a set of expressions, and if the value of a
-expression changes, the actions associated with that expression are
-executed.
-
-Input to the expression can come from various sources:
-
- - context properties,
-
- - settings,
-
- - content queries,
-
- - and the current time.
-
-There are two options for writing expressions, and we should select
-one of them:
-
- - All input could be mapped into RDF and SPARQL would be used to
- write the expressions.
-
- - SPARQL is extended so that context, settings, and time can be used
- as parameters in places where SparQL allows literals.
-
-The latter appears to allow more natural expressions. Mapping the
-rich values of context properties into RDF leads to covoluted graphs
-that are tedious to query.
-
-In general, it is not wrong to say that the Context Cron adds rich
-life queries to the Content Framework.
-
-When ever the result of a expression changes, Context Cron triggers
-the associated actions. Actions can be:
-
- - execution of a shell command,
-
- - sending of a D-Bus message or signal,
-
- - changing the value of a context property.
-
-The D-Bus message or signal can include the old and/or new value of
-the expression. Shell commands can read a representation of the
-values from stdin, in a number of formats.
-
-Actions are specified in a ad-hoc syntax, maybe XML.
-
-Queries can be 'armed' or 'unarmed'. A action only triggers when it
-is armed, and triggering a action unarms it. You need to explicitly
-arm it again once the action is done, or more generally, once you are
-ready for the next trigger.
-
-Queries can be added to Context Cron by dropping files into a
-well-known location, or via a D-Bus interface.
-
-Context and Settings Ontology
------------------------------
-
-Context properties and settings are key/value pairs. The values range
-over the "representational types" described in the Desktop Types
-document. That document also describes how the values map into RDF
-triples.
-
-Context properties are mapped into RDF as triples of the form
-
- "context" <key> <value>
-
-Settings are also key/value pairs with the same value range as context
-properties. They are mapped into triples like so:
-
- "setting" <key> <value>
-
-[ XXX - do this properly, using Turtle and namespace and everything.
-]
-
-In addition to this generic ontology that makes all context properties
-and all setings available to SparQL, there might also be specific
-context ontology that is better integrated with Nepomuk.
-
-For example, there is a node "CurrentLocation" with predicates
-"nlo:latitude" and "nlo:longitude".
-
-Examples
---------
-
-Create a new context property Location.NearPOIs whose value is a list
-of the currently near points of interest, sorted from closest to
-farthest. "Near" is defined to mean "can be reached in less than 1
-minute with the current velocity."
-
- SELECT ?poi
- WHERE
- {
- ?poi nlo:latitude ?lat;
- nlo:longitude ?lon.
- context Location.Latitude ?curlat;
- Location.Longitude ?curlon.
- }
diff --git a/doc/context-intro.html b/doc/context-intro.html
new file mode 100644
index 00000000..ab1a628e
--- /dev/null
+++ b/doc/context-intro.html
@@ -0,0 +1,461 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.7" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist > ol {
+ list-style-type: decimal;
+}
+div.olist2 > ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 15px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+
+/* Because IE6 child selector is broken. */
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+div.olist2 div.olist ol {
+ list-style-type: decimal;
+}
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+}
+
+function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName)
+ if (mo)
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+ var toc = document.getElementById("toc");
+ var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "toc" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+<title>Context Framework</title>
+</head>
+<body>
+<div id="header">
+<h1>Context Framework</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="para"><p>The Context Framework provides a uniform, high level API to numerous
+context properties of the device.</p></div>
+<div class="para"><p>Please follow the links for more details:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+<a href="libcontextsubscriber">Documention of the high level API for clients</a>
+</p>
+</li>
+<li>
+<p>
+<a href="context-properties.html">Documentation of context properties</a>
+</p>
+</li>
+<li>
+<p>
+<a href="context-providers.html">Documentation for providers of context properties</a>
+</p>
+</li>
+<li>
+<p>
+<a href="context-arch.html">Architecture description</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-10-20 09:32:35 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/context-providers.html b/doc/context-providers.html
new file mode 100644
index 00000000..5ba2431d
--- /dev/null
+++ b/doc/context-providers.html
@@ -0,0 +1,579 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.7" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist > ol {
+ list-style-type: decimal;
+}
+div.olist2 > ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 15px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+
+/* Because IE6 child selector is broken. */
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+div.olist2 div.olist ol {
+ list-style-type: decimal;
+}
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+}
+
+function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName)
+ if (mo)
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+ var toc = document.getElementById("toc");
+ var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "toc" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+<title>How to provide context properties</title>
+</head>
+<body>
+<div id="header">
+<h1>How to provide context properties</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="para"><p>Any component can provide its own key/value pairs and make them appear
+as a <tt>ContextProperty</tt> for C++ (and in other forms for other
+languages).</p></div>
+<div class="para"><p>As a provider of context properties, you need to drop one or more
+<em>property declaration</em> files into <tt>/usr/share/contextkit/providers/</tt>
+to register your properties with the context framework. This file
+follows a format described below and is used by <tt>libcontextsubscriber</tt>
+and others to find you when someone subscribes to your properties.
+The file is also used by the Context Commander to show descriptions of
+your properties and to learn about the possible values that a property
+can legally have.</p></div>
+<div class="para"><p>The property declaration files also inform the context framework how
+you want to be contacted. Right now, you have to implement the
+<tt>org.freedesktop.ContextKit</tt> D-Bus interface, and register yourself on
+either the system or the session D-Bus with a suitable bus name. The
+choice of system or session bus and your bus name go into the property
+declaration file.</p></div>
+<div class="para"><p>The only supported way right now to implement the
+<tt>org.freedesktop.ContextKit</tt> interface is to use the
+<a href="libcontextprovider"><tt>libcontextprovider</tt></a> library.</p></div>
+<div class="para"><p>The name of the property declaration file must be
+"<em>bus-name</em><tt>.context</tt>".</p></div>
+</div>
+</div>
+<h2 id="_the_property_declaration_file">The property declaration file</h2>
+<div class="sectionbody">
+<div class="para"><p>The property declaration file contains XML and must follow
+<a href="context-provider-schema.html">this XML schema</a>. A simple example
+for the <tt>Example.Random</tt> property looks like this:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 2.11.1
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><span style="font-weight: bold"><span style="color: #000080">&lt;?xml</span></span> <span style="color: #009900">version</span><span style="color: #990000">=</span><span style="color: #FF0000">"1.0"</span><span style="font-weight: bold"><span style="color: #000080">?&gt;</span></span>
+<span style="font-weight: bold"><span style="color: #0000FF">&lt;provider</span></span> <span style="color: #009900">bus</span><span style="color: #990000">=</span><span style="color: #FF0000">"session"</span>
+ <span style="color: #009900">service</span><span style="color: #990000">=</span><span style="color: #FF0000">"com.example.RandomProvider"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;key</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"com.example.Random"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;type&gt;</span></span>double<span style="font-weight: bold"><span style="color: #0000FF">&lt;/type&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;doc&gt;</span></span>
+ A random number between 0 and 1 that changes every now and then.
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;/doc&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;/key&gt;</span></span>
+<span style="font-weight: bold"><span style="color: #0000FF">&lt;/provider&gt;</span></span>
+</tt></pre></div></div>
+<div class="para"><p>This file declares the single property <tt>com.example.Random</tt> and
+instructs the Content Framework to connect to the
+<tt>com.example.RandomProvider</tt> bus name on the session D-Bus. It would
+be stored as
+<tt>/usr/share/contextkit/providers/com.example.RandomProvider.context</tt></p></div>
+<div class="para"><p>You need to be careful when choosing property name; see the
+"Guidelines for property providers" section for how to avoid
+conflicts.</p></div>
+<div class="para"><p>When providing properties from the <a href="context-properties.html">core
+list</a>, you need to follow additional rules to make sure that your
+property declarations and the centrally maintained core list do not
+fall out of synch. See the "Providing core properties" section for
+more about them.</p></div>
+<div class="para"><p>After installing a property declaration file into a directory <tt>$dir</tt>,
+you should usually execute <tt>update-contextkit-providers</tt>. This will
+update the various caches that clients like the <tt>libcontextsubscriber</tt>
+library use.</p></div>
+<div class="para"><p>But, if a property declaration file is installed via a Debian package,
+you should not call <tt>update-contextkit-providers</tt> in your maintainer
+scripts. Triggers in the relevant packages take care of running
+update-contextkit-providers at the right time and only as often as
+necessary.</p></div>
+<div class="para"><p>The XML element tree in the property declaration file simply consists
+of a list of <tt>key</tt> elements.</p></div>
+<div class="para"><p>A <tt>key</tt> element in the property declaration tree can have a <tt>doc</tt>
+child element. The contents of this element should be plain text
+without any additional markup.</p></div>
+<h3 id="_types">Types</h3><div style="clear:left"></div>
+<div class="para"><p><strong>NOTE:</strong> This is preview of things that might come, or not. For now,
+just use a <tt>type</tt> attribute in your <tt>key</tt> elements with one of
+<tt>"TRUTH"</tt>, <tt>"STRING"</tt>, <tt>"INT"</tt>, or <tt>"DOUBLE"</tt> as the value.</p></div>
+<div class="para"><p>ContextKit uses the experimental <a href="context-types.html">Desktop Type
+System</a>. A property declaration should have a <tt>type</tt> element that
+conforms to the Desktop Type System.</p></div>
+<div class="para"><p>For example, a property that is a enumeration would be declared like
+this:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 2.11.1
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><span style="font-weight: bold"><span style="color: #0000FF">&lt;key</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Economy"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;type&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;int-enum&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;up</span></span> <span style="color: #009900">val</span><span style="color: #990000">=</span><span style="color: #FF0000">"1"</span> <span style="color: #009900">doc</span><span style="color: #990000">=</span><span style="color: #FF0000">"Getting better"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;down</span></span> <span style="color: #009900">val</span><span style="color: #990000">=</span><span style="color: #FF0000">"2"</span> <span style="color: #009900">doc</span><span style="color: #990000">=</span><span style="color: #FF0000">"Getting worse"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;even</span></span> <span style="color: #009900">val</span><span style="color: #990000">=</span><span style="color: #FF0000">"3"</span> <span style="color: #009900">doc</span><span style="color: #990000">=</span><span style="color: #FF0000">"Getting boring"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;/int-enum&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;/type&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;doc&gt;</span></span>
+ The current economic trend, as an enumerated value.
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;/doc&gt;</span></span>
+<span style="font-weight: bold"><span style="color: #0000FF">&lt;/key&gt;</span></span>
+</tt></pre></div></div>
+</div>
+<h2 id="_guidelines_for_property_providers">Guidelines for property providers</h2>
+<div class="sectionbody">
+<h3 id="_names">Names</h3><div style="clear:left"></div>
+<div class="para"><p>Context property names can contain any character except "/".</p></div>
+<div class="para"><p>Only core property names are allowed to start with a capital ASCII
+letter ("A" to "Z").</p></div>
+<div class="para"><p>When defining a new non-core property, you need to choose a unique
+prefix. Start with a reversed fully qualified domainname that you
+control, such as "com.nokia." or "org.gnome.". Then, if the first
+component is "org" and the second component is not a top-level domain,
+drop "org". Then convert the first character of the prefix to
+lower-case if it is one of "A" to "Z".</p></div>
+<div class="para"><p>For example, the GNOME project can use "gnome." as their prefix, KDE
+can use "kde.", and Nokia can use "com.nokia.".</p></div>
+</div>
+<h2 id="_providing_core_properties">Providing core properties</h2>
+<div class="sectionbody">
+<div class="para"><p>The Context Framework project maintains a list of <em>core properties</em>.
+These core properties are intended to cover the needs of most
+applications and be meaningful for many different devices.</p></div>
+<div class="para"><p>When you are implementing a provider for some of the core properties,
+you must of course make sure that you follow the specification of that
+property. You can not redefine its type or description in your
+property declaration file, obviously.</p></div>
+<div class="para"><p>Thus, for core properties, you should not include any <tt>type</tt> or <tt>doc</tt>
+elements in your key declarations, just a <tt>name</tt> element. The list of
+core properties is also known to context subcribers at run-time and
+will be used to fill in the missing details.</p></div>
+<div class="para"><p>For example, a property declaration file for core properties could
+look like this:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 2.11.1
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><span style="font-weight: bold"><span style="color: #000080">&lt;?xml</span></span> <span style="color: #009900">version</span><span style="color: #990000">=</span><span style="color: #FF0000">"1.0"</span><span style="font-weight: bold"><span style="color: #000080">?&gt;</span></span>
+<span style="font-weight: bold"><span style="color: #0000FF">&lt;provider</span></span> <span style="color: #009900">bus</span><span style="color: #990000">=</span><span style="color: #FF0000">"session"</span>
+ <span style="color: #009900">service</span><span style="color: #990000">=</span><span style="color: #FF0000">"com.example.RandomProvider"</span><span style="font-weight: bold"><span style="color: #0000FF">&gt;</span></span>
+ <span style="font-weight: bold"><span style="color: #0000FF">&lt;key</span></span> <span style="color: #009900">name</span><span style="color: #990000">=</span><span style="color: #FF0000">"Example.Random"</span><span style="font-weight: bold"><span style="color: #0000FF">/&gt;</span></span>
+<span style="font-weight: bold"><span style="color: #0000FF">&lt;/provider&gt;</span></span>
+</tt></pre></div></div>
+<div class="para"><p>This just declares that the <tt>Example.Random</tt> property can be
+subscribed to by contacting <tt>com.example.RandomProvider</tt> on the
+session bus. It's type and documentation are found elsewhere.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-10-20 09:32:35 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/context-talk.txt b/doc/context-talk.txt
deleted file mode 100644
index bdf96808..00000000
--- a/doc/context-talk.txt
+++ /dev/null
@@ -1,282 +0,0 @@
------------------------
-
- ContextKit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--------------------------
-Context and Conversations
-
-* The stuff that happens around you.
-
-* Shared by the people that you interact with.
-
-* Implicit part of a conversation.
-
-* Ignoring context makes you look absent minded.
-
-
-
-
-
-
-
-
-
-
-
-
--------------------------
-Context and Computers
-
-* Conversation between Man and Machine also has context.
-
-* What has the user done with the computer? "Recent documents",
- "Browsing history", "Recently written emails", ...
-
-* Getting additional clues without help from user: time of day, day of
- week, geographical location, sitting still or moving, holding like a
- camera or like a phone, Internet connectivity, ..
-
-* Use those clues to improve the Man / Machine conversation.
-
-* "Essential Digital Companion". (Yeah, right)
-
-* Quite fuzzy, experimentation should be easy.
-
-
-
-
-
--------------------------
-Context and Connecting People
-
-* Computers facilitate conversations between people
-
-* People want to share their context with their peers.
-
-* Computers should help share the context of a conversation between
- people as well.
-
-
-
-
-
-
-
-
-
-
-
-
-
--------------------------
-So?
-
-* Bring together 'context providers'
-
- - DeviceKit, GeoClue, Meta tracker, Telepathy, BlueZ, ConnMan, oFono,
- Sensors, ...
-
-* Standardize high-level interfaces across desktops
-
- - GNOME, KDE, Maemo, Moblin, Sugar, ...
-
-* With bindings for all languages
-
- - C, Glib, Qt, Python, Perl, JavaScript, C#, ...
-
-* No silver bullet, regular programming, no magic enabler needed.
-
-* Restrict, simplify, do the minimal useful thing
-
-
-
--------------------------
-ContextKit
-
-* "Global variables for the Desktop"
-
-* Disciplined way of 'setting' those variables
-
-* Concrete list of variables
-
-* Rich type system
-
-* Well integrated into many languages
-
-
-
-
-
-
-
-
-
-
--------------------------
-Status
-
-* First generation framework done
-
-* Some properties defined
-
-* Some buy in from other Nokia research projects.
-
-* Only for Qt / C++ (sorry)
-
-* A bit too static still
-
-
-
-
-
-
-
-
-
-
--------------------------
-Architecture
-
-* Decoupled
-
-* Publish/subscribe for property values
-
-* Run-time introspection
-
-* XML property declarations with cache
-
-* No central daemon
-
-
-
-
-
-
-
-
-
-
--------------------------
-Demo and Docs
-
-* Context Commander
-
-* Subscriber
-
-* Provider
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--------------------------
-Desktop Types
-
-* Little hobby of mine
-
-* Intersect a number of dynamic type systems to find the core
-
- - Null, numbers, strings, lists, maps
-
- Missing: association lists, turn out to be more useful
- than maps for interchange.
-
-* Define language neutral static types
-
- - Enums, time, coordinates, ...
-
-* Write bindings of static types for static languages, documentation
- systems, introspection APIs.
-
-
-
-
--------------------------
-Nano-DOM
-
-* Mapping of subset of XML into Desktop Types.
-
-* Used to define context properties
-
- <key name="Battery.ChargeLevel"
- type="percentage">
- <doc>...</doc>
- </key>
-
- <key>
- <name>Battery.ChargeLevel</name>
- <type>percentage</type>
- <doc>...</doc>
- </key>
-
- "key", { "name": "Battery.ChargeLevel", "type": "percentage",
- "doc": "..." }
-
-
--------------------------
-Static Desktop Type
-
-* Dynamic desktop types: simple, fixed.
-
-* Static desktop types: expressive, extensible
-
-* Hierarchy, parameters.
-
- <type name="uniform-list" base="list">
- <params>
- <type doc="Type of the elements"/>
- </params>
- <doc>...</doc>
- </type>
-
- <key name="Use.RecentDocuments">
- <type>
- <uniform-list type="nepomuk-uri"/>
- </type>
- <doc>...</doc>
- </key>
-
--------------------------
-Future
-
-* Finding a home on freedesktop.org
-
-* Lobbying for mind share
-
-* Adding GVariant and Python into the picture
-
-* Getting the D-Bus protocol right
-
-* Simple aggregation in client, maybe
-
- (Sum, append, average, max, ...)
-
-* 'Context Cron'
-
diff --git a/doc/context-types.html b/doc/context-types.html
new file mode 100644
index 00000000..7cfe3727
--- /dev/null
+++ b/doc/context-types.html
@@ -0,0 +1,1384 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.7" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist > ol {
+ list-style-type: decimal;
+}
+div.olist2 > ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 15px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+
+/* Because IE6 child selector is broken. */
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+div.olist2 div.olist ol {
+ list-style-type: decimal;
+}
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+}
+
+function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName)
+ if (mo)
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+ var toc = document.getElementById("toc");
+ var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "toc" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+<title>A high-level type system for the Free Desktops</title>
+</head>
+<body>
+<div id="header">
+<h1>A high-level type system for the Free Desktops</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="para"><p>Desktop environments are not just for starting applications anymore.
+Data is flowing freely between well-integrated components, and the
+easier the data flows, the better the integration of the components.</p></div>
+<div class="para"><p>Not all components are written in the same programming language, of
+course, and when letting data flow between them, it needs to be
+represented in many different ways. For example, GConf stores values
+differently than they travel over D-Bus, which is different again from
+how they are passed as GValues to signal handlers, which is different
+from how Perl wants to store it.</p></div>
+<div class="para"><p>The desktop environment is heading towards a cooperative, dynamic
+environment, and it needs a rich and strong type system to tie its
+components together. Sending lines of text over pipes and matching
+them against ad-hoc regular expressions just doesn't cut it.</p></div>
+<div class="para"><p>In an attempt to define such a common type system, this document
+collects many different systems for representing values, and unifies
+them by mapping the common dynamic type system into them.</p></div>
+<div class="para"><p>The common type system defined here is rich enough to represent any
+reasonable value; it's roughly equivalent to what dynamic languages
+like Perl and Python have.</p></div>
+<div class="para"><p>But it goes one crucial step further: it allows the definition of new
+abstract, intentional types. Intentional types give additional
+information about a value that is not available from the
+representation alone.</p></div>
+<div class="para"><p>For example, a integer can be used to denote a point in time by saying
+that it is the number of seconds since a certain epoch. All places
+that interact with such a value need to agree on this intention.</p></div>
+<div class="para"><p>This agreement can happen informally, via documentation or just plain
+common sense. Nothing wrong with that. It is, however, also helpful
+to formalize this so that documentation can be precise without much
+extra effort, up to a level where the machine itself is able to check
+whether everybody agrees on the intentional types.</p></div>
+<div class="para"><p>The age old battle between static and dynamic types also matters here:
+how much type information should be associated with the values
+themselves? The boundary is exactly between intentional and
+representational types. Intentional types are those that only the
+programmer or compiler know about, representational types are those
+that are only known at run-time.</p></div>
+<div class="para"><p>In a completely statically typed language, we only have raw bytes at
+run-time without any representational type information. All parts of
+the program need to agree that the intention is for those four bytes
+over there to be used as a 32-bit integer. Statically typed programs
+are littered with declarations of intentional types, and language
+processors use them to (more or less) check program consistency and to
+select the right division instruction based on whether the four bytes
+over there are intended to be a signed number or an unsigned one.</p></div>
+<div class="para"><p>In a dynamically typed language, values carry a lot of
+representational type information. Code can easily be polymorphic and
+do different things depending on whether a value is an integer or a
+string. It can also perform consistency checks at run-time, which is
+more robust than doing it at compile time, but doesn't go as far since
+intentional types are not available.</p></div>
+<div class="para"><p>Dynamic languages often don't have any means to declare intentional
+types for the benefit of the compiler; they only exist in the head of
+the programmer who expresses them by selecting the right operation
+manually. For example, if a string is intended to be a URL, you need
+to use <em>utils.net.web.url.get_scheme (url)</em> explicitly. If the
+intentional type could have been declared in the language, it could
+have selected the right function automatically from just <em>url.scheme()</em>.</p></div>
+<div class="para"><p>Thus, and coming back to the ground now, we define a concrete type
+system here with a rich representational part and a lightweight and
+flexible intentional part.</p></div>
+<div class="para"><p>For the representational part, we define how it is implemented for a
+number of existing value systems. For the intentional part, we define
+how it can be translated into a number of languages, both those with
+static type declaration and those where intent is mainly expressed by
+manually selecting the right operations.</p></div>
+<div class="para"><p>Intentional types are not optional; they are generally needed to make
+sense of values. A programmer learns about them by reading
+documentation; if a debugging tool needs to find out a intentional
+type at run-time, there must be some way to find it.</p></div>
+<div class="para"><p>This means that declaration languages like D-Bus introspection
+facilities and GConf schemas need to be extended to support our
+intentional types. Thus, purely declarative languages like these are
+also included in our list of supported languages.</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 2.11.1
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><span style="font-style: italic"><span style="color: #9A1900">/* Witty example here. */</span></span>
+</tt></pre></div></div>
+<div class="para"><p>We also give a list of common intentional types, of course.</p></div>
+<div class="para"><p>This document then has three dimensions of extensibility:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+A new value system can be added by defining how the representational
+ part of the common type system maps to it.
+</p>
+</li>
+<li>
+<p>
+A new language can be added by defining how intentional types are
+ implemented in it, and by implementing all common intentional types.
+</p>
+</li>
+<li>
+<p>
+A new common intentional type can be added by defining it and
+ implementing it in all languages.
+</p>
+</li>
+</ul></div>
+<div class="para"><p>The representational part of the common type system is not supposed to
+change frequently, but adding a new intentional type should be
+considered routine.</p></div>
+<div class="para"><p>The representation part of the common type system is restricted by the
+lowest common denominator of all the value system implementations that
+we want to include. We don't want to distort the existing value
+systems too much, and force people to write code that feels unnatural
+for them.</p></div>
+<div class="para"><p>For example, not all value systems can directly represent complex
+numbers or multiple precision integers, but any grown up type system
+should include them. We solve this conflict by relying on the
+intentional types: Instead of grafting complex numbers onto every
+value system, we only define a intentional type for them.</p></div>
+<div class="para"><p>Currently supported value systems: QVariant, D-Bus messages, GValue,
+GConfValue, GVariant, Python values, Perl values, JavaScript values,
+GKeyFile, JSON, YAML, Nepomuk ontologies, SQL, SparQL, Common Lisp
+values.</p></div>
+<div class="para"><p>Currently supported languages: Python, Perl, JavaScript, Java, C#, C<tt>
+with QVariant, plain C</tt>, C with D-Bus/GValue/GConfValue/GVariant,
+plain C, Vala, D-Bus introspection, D-Bus IDL (didl), GConf schema,
+our own XML schema.</p></div>
+</div>
+</div>
+<h2 id="_representational_types">Representational types</h2>
+<div class="sectionbody">
+<div class="para"><p>Converting a value from one representation to another is not
+guaranteed to be loss-less: if you convert the value back, it might be
+different and even have a different type. Intentional types are used
+to make sense of the value anyway. [ XXX - so maybe we shouldn't
+bother with representational types at all&#8230; ]</p></div>
+<div class="para"><p>Whenever there is a choice of representation in the following table,
+it should be taken to mean: Represent the value with the first
+alternative in the list that is possible, even if that loses
+precision.</p></div>
+<div class="para"><p>For example, a 64 bit signed integer is represented in GConf as a
+"int" if it fits, and as a "double" if not. It will always fit into a
+double, but it might mean chopping off some low bits.</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+null
+</p>
+<div class="para"><p>The null value.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::Null
+D-Bus: '()'
+GValue: G_TYPE_NONE
+GConf: empty GCONF_VALUE_LIST with type GCONF_VALUE_BOOL
+GVariant: '()'
+Perl: undef
+Python 2: None
+CL: nil</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+bool
+</p>
+<div class="para"><p>A boolean</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::Bool
+D-Bus: 'b'
+GValue: G_TYPE_BOOLEAN
+GConf: GCONF_VALUE_BOOL
+GVariant: 'b'
+Perl: number, 0 or 1.
+Python 2: number, 0 or 1.
+CL: nil or t</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+int32
+</p>
+<div class="para"><p>Signed 32 bit integer</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::Int
+D-Bus: 'i'
+GValue: G_TYPE_INT
+GConf: GCONF_VALUE_INT
+GVariant: 'i'
+Perl: number
+Python 2: int
+CL: number</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+int64
+</p>
+<div class="para"><p>Signed 64 bit integer</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::LongLong
+D-Bus: 'x'
+GValue: G_TYPE_INT64
+GConf: GCONF_VALUE_INT or GCONF_VALUE_DOUBLE
+GVariant: 'x'
+Perl: number
+Python 2: int or long
+CL: number</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+uint32
+</p>
+<div class="para"><p>Unsigned 32 bit integer</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::UInt
+D-Bus: 'u'
+GValue: G_TYPE_UINT
+GConf: GCONF_VALUE_INT or GCONF_VALUE_DOUBLE
+GVariant: 'u'
+Perl: number
+Python 2: int or long
+CL: number</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+uint64
+</p>
+<div class="para"><p>Unsigned 64 bit integer</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::ULongLong
+D-Bus: 't'
+GValue: G_TYPE_UINT64
+GConf: GCONF_VALUE_INT or GCONF_VALUE_DOUBLE
+GVariant: 't'
+Perl: number
+Python 2: int or long
+CL: number</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+double
+</p>
+<div class="para"><p>Double precision floating point number</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::Double
+D-Bus: 'd'
+GValue: G_TYPE_DOUBLE
+GConf: GCONF_VALUE_DOUBLE
+GVariant: 'd'
+Perl: number
+Python 2: double
+CL: number</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+string
+</p>
+<div class="para"><p>String of Unicode code points</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::QString
+D-Bus: 's'
+GValue: G_TYPE_STRING
+GConf: GCONF_VALUE_STRING, UTF-8.
+GVariant: 's'
+Perl: string
+Python 2: unicode
+CL: string</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+list
+</p>
+<div class="para"><p>List of values</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::List
+D-Bus: 'av'
+GValue: G_TYPE_POINTER pointing to a GSList of GValues.
+ (XXX - find something better, must be somewhere.)
+GConf: GCONF_VALUE_LIST or chained GCONF_VALUE_PAIRs
+GVariant: 'av'
+Perl: array
+Python 2: list
+CL: list</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+map
+</p>
+<div class="para"><p>Mapping from strings to values, with no duplicated keys.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>QVariant: QVariant::Map
+D-Bus: 'a{sv}'
+GValue: G_TYPE_HASH_TABLE (?)
+GConf: Chain of GCONF_VALUE_PAIRs,
+ with the cars being a pair of GCONF_VALUE_STRING and an
+ arbitrary value.
+GVariant: 'a{sv}'
+Perl: hash
+Python: dict
+CL: alist</tt></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+<h2 id="_a_nano_dom">A Nano-DOM</h2>
+<div class="sectionbody">
+<div class="para"><p>The representational types can be used as a Nano-DOM for a subset of
+XML. This is useful when the small subset suffices but you still want
+to be enterprise ready. Intentional type definitions use this subset,
+for example, and are thus easily handled at run-time.</p></div>
+<div class="para"><p>Converting a piece of XML into its Nano-DOM representation proceeds
+according to simple rules:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+First, all attributes of elements are converted to child elements,
+ in order and at the beginning. Thus, the following XML fragments
+ are quivalent:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;bar size="12"&gt;...&lt;/bar&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;bar&gt;&lt;size&gt;12&lt;/size&gt;...&lt;/bar&gt;</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+Then, text is turned into strings, and elements are turned into
+ lists with the first element being a string with the name of the
+ element. For example, this XML
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;foo&gt;hello&lt;/foo&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>would be turned into this Python value</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>['foo', 'hello']</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>When creating the strings for text, surrounding whitespace is
+removed.</tt></pre>
+</div></div>
+</li>
+</ul></div>
+<div class="para"><p>More examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;key name="Example.Random"
+ type="string"&gt;
+ &lt;doc&gt;
+ A random property.
+ &lt;/doc&gt;
+&lt;/key&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>=&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>['key',
+ ['name', 'Example.Random' ],
+ ['type', 'string' ],
+ ['doc', 'A random property.']
+]</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;key name="Example.Random"&gt;
+ &lt;type&gt;
+ &lt;uniform-list type="number"/&gt;
+ &lt;/type&gt;
+&lt;/key&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>=&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>['key',
+ ['name', 'Example.Random' ],
+ ['type',
+ ['uniform-list', ['type', 'number' ] ]
+ ]
+]</tt></pre>
+</div></div>
+<div class="para"><p>You can think of the Nano-DOM representation as a simple abstract
+syntax tree for XML.</p></div>
+</div>
+<h2 id="_intentional_types">Intentional types</h2>
+<div class="sectionbody">
+<div class="para"><p>The most important part by far of a intentional type definition is its
+documentation. The documentation is the thing that explains the
+intent to programmers, so that they can <em>reify</em> the abstract
+intentional type into concrete code. For example, by reading the
+documentation, they know how to write a C++ class for the intentional
+type and add useful methods to it, or how to write a UI widget that
+allows displaying and maybe high-level editing of values of that type.</p></div>
+<div class="para"><p>Intentional types are <em>not</em> a static type system. They are only a
+tool for cross-referencing documentation. Sometimes, intentional
+types are mapped into a static type system and the compiler will then
+perform some additonal checks at compile time, and the code using the
+types might look more natural, but that is not the main goal of the
+intentional types.</p></div>
+<div class="para"><p>In essence, intentional types use English as the <em>formal</em> language to
+express their definitions. Their documentation should basically be a
+description of the set of values that are permissible for this type
+(by referring to other already defined intentional types or the
+representational types from above), and what they mean. For example,
+the "calendar-time" type could say that only "uint64" values are
+allowed, and that they are the number of nano-seconds since midnight
+January 1, UTC.</p></div>
+<div class="para"><p>Another example are enumerations: the documentation of
+"compass-direction" can say that the value is one of the four "int32"
+values 0, 90, 180, 270 where 0 means North, 90 means East, etc.</p></div>
+<div class="para"><p>As shown in the examples, intentional types have names, so that you
+can refer to them in the documentation of other types and in other
+places that refer to intentional types, such as in D-Bus introspection
+declarations.</p></div>
+<div class="para"><p>When other people refer to your type, they can provide a set of
+parameters to specialize it. You should document which parameters are
+meaningful and what they do, of course. You should also formally
+declare which paramaters are valid. (See below for concrete
+examples).</p></div>
+<div class="para"><p>Type parameters allow us to define a small set of fundamental and
+general types, which can be instantiated to create a wide range of
+useful types. For example, there is a generic "int-enum" type that
+can be turned into a specific enumeration via its parameters. A
+single UI widget could be written for "int-enum" that is then
+(automatically) parameterized at run-time with the concrete set of
+choices. The "int-enum" type is defined so that its parameters
+include the text to use for each enumeration choice, and the UI widget
+will get access to these parameters at run-time (as a map,
+incidentally).</p></div>
+<div class="para"><p>A intentional type definition can specify a "base" type for itself, by
+referring to another intentional type. This base can be used to make
+the documentation a bit more formal, and of course to provide
+parameters for the base type. For example, the documentation for the
+"compass-direction" type would not need to explicitly say that the
+numbers are "int32"s; it would just declare its base to be "int32".
+Even better, it sould say that it's actually a "int-enum" and specify
+the concrete values.</p></div>
+<div class="para"><p>In a context where a type is expected:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>NAME - refers to type named NAME
+&lt;NAME&gt;PARM...&lt;/NAME&gt; - refers to type named NAME, specialized
+ with PARM...</tt></pre>
+</div></div>
+<div class="para"><p>Attributes for type definitions:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>name - the name (string)
+parms - valid paramaters (map from parm name to map of ...)
+doc - documentation (either string, or a map language code -&gt; string)
+base - the base type (type)</tt></pre>
+</div></div>
+<div class="para"><p>As an example, consider a hypothetical XML schema for describing
+key-value pairs. Let's also assume that this schema follows our
+Nano-DOM rules. It has a "key" element which needs name, doc and type
+attributes. The "type" attribute should refer to an intentional type
+of course. We can describe a key for the current temperature,
+expressed as one of "low", "medium", "high", in the following ways.</p></div>
+<div class="para"><p>First, we can refer to the predefined "three-level-enum" type, if
+there would be such a type. Documentation of the possible values is
+left to the definition of "three-level-enum", which presumably would
+tell us that they are the strings "low", "medium", and "high".</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;key&gt;
+ &lt;name&gt;Temperature&lt;/name&gt;
+ &lt;doc&gt;The current temperature.&lt;/doc&gt;
+ &lt;type&gt;three-level-enum&lt;/type&gt;
+&lt;key&gt;</tt></pre>
+</div></div>
+<div class="para"><p>Using the Nano-DOM rules, this can be shortened to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;key name="Temperature"
+ doc="The current temperature"
+ type="three-level-enum"/&gt;</tt></pre>
+</div></div>
+<div class="para"><p>Instead of referring to the pre-defined "three-level-enum" type, we
+can instantiate a "string-enum" explicitly, which is one of the
+pre-defined generic types.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;key name="Temperature"
+ doc="The current temperature"&gt;
+ &lt;type&gt;
+ &lt;string-enum&gt;
+ &lt;low doc="Brrrr"/&gt;
+ &lt;medium doc="Comfy."/&gt;
+ &lt;high doc="Siesta!"/&gt;
+ &lt;/string-enum&gt;
+ &lt;/type&gt;
+&lt;/key&gt;</tt></pre>
+</div></div>
+<div class="para"><p>The common intentional types are defined in XML, as a list of "type"
+elements that have "name", "parms", "doc", and "base" child elements,
+as expected.</p></div>
+<div class="para"><p>In the following, we give the type definitions verbatim, as XML, as an
+extended example (and because the real XML definition of the types
+does not exist yet). In the future, this part of the document will be
+generated from the type definitions and will look nicer.</p></div>
+<h3 id="_fundamental_types">Fundamental types</h3><div style="clear:left"></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;typedef name="int32"&gt;
+ &lt;doc&gt;
+ A int32 value.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="int64"&gt;
+ &lt;doc&gt;
+ A int64 value.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="uint32"&gt;
+ &lt;doc&gt;
+ A uint32 value within the given limits.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="uint64"&gt;
+ &lt;params&gt;
+ &lt;min doc="Minimum value"/&gt;
+ &lt;max doc="Maximum value"/&gt;
+ &lt;params&gt;
+ &lt;doc&gt;
+ A uint64 value within the given limits.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="double"&gt;
+ &lt;params&gt;
+ &lt;min doc="Minimum value"/&gt;
+ &lt;max doc="Maximum value"/&gt;
+ &lt;params&gt;
+ &lt;doc&gt;
+ A double value within the given limits.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="string"&gt;
+ &lt;parms&gt;
+ &lt;must-match doc="Regular expression that must match"/&gt;
+ &lt;/parms&gt;
+ &lt;doc&gt;
+ A string value that matches the given regular expression.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="list"&gt;
+ &lt;params&gt;
+ &lt;min doc="Minimum length"/&gt;
+ &lt;max doc="Maximum length"/&gt;
+ &lt;params&gt;
+ &lt;doc&gt;
+ A list of arbitrary values, with the minimum and maximum
+ length given by the "min" and "max" parameters, respectively.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="map"&gt;
+ &lt;params&gt;
+ &lt;keys doc="Allowed keys"/&gt;
+ &lt;/params&gt;
+ &lt;doc&gt;
+ A map. If given, the "keys" parameter determines which keys are
+ allowed. The "keys" parameter should be a map itself, from key
+ names to a map with the attributes of the key. Attributes of a
+ key are "doc" and "type".
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<h3 id="_generic_types">Generic types</h3><div style="clear:left"></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="value"&gt;
+ &lt;doc&gt;
+ Any representable value.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="number" base="value"&gt;
+ &lt;doc&gt;
+ A number, represented as either a "int32", "uint32", "int64", "uint64", or "double".
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="integer" base="number"&gt;
+ &lt;params&gt;
+ &lt;min doc="Lower bound"/&gt;
+ &lt;max doc="Upper bound"/&gt;
+ &lt;/params&gt;
+ &lt;doc&gt;
+ A integer, represented as any of the numeric types. If the value
+ is a "double", it is rounded to an integer, but not necessarily to
+ the nearest. The "min" and "max" parameters, when given, constrain
+ the range of the integer.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="uniform-list" base="list"&gt;
+ &lt;params&gt;
+ &lt;min doc="Minimum length"/&gt;
+ &lt;max doc="Maximum length"/&gt;
+ &lt;type doc="Type of the elements"/&gt;
+ &lt;/params&gt;
+ &lt;doc&gt;
+ A list of values of the given type, with the
+ minimum and maximum length given by the "min" and "max" parameters.
+ The type of all elements is given by the "type" parameter.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="string-enum" base="string"&gt;
+ &lt;parms&gt;
+ &lt;rest doc="The possible values"&gt;
+ &lt;/parms&gt;
+ &lt;doc&gt;
+ This is the base type for enumerations of fixed strings. The
+ parameters describe the possible values. Each parameter is one
+ of the choices: the name of the parameter is the string for the choice
+ itself and the value of the parameter is a map with further
+ information of that choice, such as a "doc" entry.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="int-enum" base="int32"&gt;
+ &lt;parms&gt;
+ &lt;rest doc="The possible values"&gt;
+ &lt;/parms&gt;
+ &lt;doc&gt;
+ This is the base type for enumerations of fixed integers. The
+ parameters describe the possible values. Each parameter is one
+ of the choices: the name of the parameter is the symbolic name
+ for the choice itself and the value of the parameter is a map
+ with further information of that choice, such as a "val" entry
+ for the numerical value for that choice, and a "doc" entry.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<h3 id="_specific_types">Specific types</h3><div style="clear:left"></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="type"&gt;
+ &lt;doc&gt;
+ A type, represented as a map. The map is the one you get as the Nano-DOM
+ for the type definiton. E.g., it will have "doc" mapped to a string,
+ and "base" mapped to either a string or another map, etc.
+ &lt;/doc&gt;
+ &lt;base&gt;
+ &lt;map&gt;
+ &lt;allowed-keys&gt;
+ &lt;name/&gt;
+ &lt;parms/&gt;
+ &lt;doc/&gt;
+ &lt;base/&gt;
+ &lt;/allowed-keys&gt;
+ &lt;/map&gt;
+ &lt;/base&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="geoloc"&gt;
+ &lt;doc&gt;
+ A list of two or three doubles giving a geographical location.
+ The first number is latitude, the second longitude, both in degrees.
+ If a third number is present, it is the altitude in meters.
+ &lt;/doc&gt;
+ &lt;base&gt;
+ &lt;uniform-list min="2" max="3" type="double"/&gt;
+ &lt;/base&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="temperature"
+ base="double"
+ doc="A temperature in Kelvin."/&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="screen-edge"&gt;
+ &lt;doc&gt;
+ Indicates an edge of a rectangular screen, relative to
+ the natural orientation of the video hardware driving it.
+ It can be one of the four strings "top", "left", "right",
+ and "bottom".
+ &lt;/doc&gt;
+ &lt;base&gt;
+ &lt;string-enum&gt;
+ &lt;top/&gt; &lt;left/&gt; &lt;right/&gt; &lt;bottom/&gt;
+ &lt;/string-enum&gt;
+ &lt;/base&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="screen-edge-ints"&gt;
+ &lt;doc&gt;
+ Indicates an edge of a rectangular screen, relative to
+ the natural orientation of the video hardware driving it.
+ It can be one of the four values "top", "left", "right",
+ and "bottom", encoded as an integer.
+ &lt;/doc&gt;
+ &lt;base&gt;
+ &lt;int-enum&gt;
+ &lt;top val="0"/&gt; &lt;left val="1"/&gt; &lt;right val="2"/&gt; &lt;bottom val="3"/&gt;
+ &lt;/string-enum&gt;
+ &lt;/base&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="energy" base="double"&gt;
+ &lt;doc&gt;
+ An amount of energy, in Joule.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="power" base="double"&gt;
+ &lt;doc&gt;
+ A power, in Watt.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="time" base="int64"&gt;
+ &lt;doc&gt;
+ A point in time, represented as the number of nano-seconds since
+ 00:00 January 1, 1970, UTC.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="duration" base="uint64"&gt;
+ &lt;doc&gt;
+ A time duration, in nano-seconds.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>&lt;type name="percentage" base="int32"&gt;
+ &lt;doc&gt;
+ A percentage.
+ &lt;/doc&gt;
+&lt;/type&gt;</tt></pre>
+</div></div>
+</div>
+<h2 id="_intentional_types_and_static_languages">Intentional types and static languages</h2>
+<div class="sectionbody">
+<div class="para"><p>The normal use of intentional types is as follows: while programming
+in some language, you read some API documentation and find out that
+some argument to a function is of type "geoloc"; you then go to the
+documentation of "geoloc" and read how a "geoloc" works in your
+language.</p></div>
+<div class="para"><p>For C++ with QVariants, say, a geoloc could simply remain a list of
+two or three doubles, or it could be a QVariant::RectF with the height
+being abused as the altitude, a new QMetaType could be invented, or a
+completely new class could be defined that can be converted to and
+from a QVariant (together with an appropriate QMetaType). In any
+case, there will be a QVariant involved in there somewhere.</p></div>
+<div class="para"><p>In other words, we need C++ language bindings for the intentional
+types. These language bindings are maintained together with the
+intentional types.</p></div>
+<div class="para"><p>At the language boundaries, such as when marshalling and unmarshalling
+values for a D-Bus message, a geoloc value needs to be converted to
+and from a list of doubles. This conversion code is also maintained
+together with the language bindings. In any case, the types are well
+enough documented that the necessary code can be written manually if
+needed.</p></div>
+<h3 id="_c_with_gvariant">C with GVariant</h3><div style="clear:left"></div>
+<div class="ilist"><ul>
+<li>
+<p>
+geoloc
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>typedef struct {
+ double latitude;
+ double longitude;
+ double altitude; // NaN if unknown.
+} DGeoLoc;</tt></pre>
+</div></div>
+</li>
+</ul></div>
+<div class="para"><p>Rest is done with inheritance:</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+duration
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>typedef int64_t DDuration;</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+screen-edge
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>typedef char *DScreenEdge;</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+screen-edge-ints
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>typedef int DScreenEdgeInts;
+#define D_SCREEN_EDGE_TOP 0
+#define D_SCREEN_EDGE_LEFT 1
+#define D_SCREEN_EDGE_RIGHT 2
+#define D_SCREEN_EDGE_BOTTOM 3</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+percentage
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>typedef int DPercentage;</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+type
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>typedef GVariant DGType;</tt></pre>
+</div></div>
+</li>
+</ul></div>
+<div class="para"><p>These definitions are in libdesktoptypes, built from the desktop-types
+source package, which includes everything else as well, such as this
+document, bindings for C++ with QVariant, etc.</p></div>
+<div class="para"><p>There is also g_variant_from_geoloc, etc.</p></div>
+<div class="para"><p>Then, libcontextprovider has context_provider_set_geoloc,
+context_provider_set_duration, etc, probably as macros using
+g_variant_from_geoloc. Maybe we can have support for doing this
+automatically.</p></div>
+<h3 id="_c_with_qvariant">C++ with QVariant</h3><div style="clear:left"></div>
+<div class="para"><p>Types should be compatible with C and have the same names.</p></div>
+<div class="ilist"><ul>
+<li>
+<p>
+geoloc
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>struct DGeoLoc {
+ double latitude;
+ double longitude;
+ double altitude; // NaN if unknown.</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>DGeoLoc();
+DGeoLoc(double, double);
+DGeoLoc(double, double, double);</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt> DGeoLoc (QVariant);
+ operator QVariant ();
+};</tt></pre>
+</div></div>
+<div class="para"><p>Registered as "DGeoLoc" with QMetaType.</p></div>
+</li>
+<li>
+<p>
+rest identical with C, except "type", hmm&#8230;
+</p>
+</li>
+</ul></div>
+<div class="para"><p>This is in libdesktoptypes-qt, built from the same desktop-types as
+the C bindings.</p></div>
+</div>
+<h2 id="_run_time_introspection_for_intentional_types">Run-time introspection for intentional types</h2>
+<div class="sectionbody">
+<div class="para"><p>libdesktoptypes contains an API for reading a type definition
+repository, in /usr/share/desktop-types/. It can lookup DType values
+given a name.</p></div>
+<div class="para"><p>A DType contains name, doc, parms, and base, of course.</p></div>
+<div class="para"><p>Existing introspection APIs need to be extended to return DTypes, as
+well.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-10-20 09:32:35 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/demos.txt b/doc/demos.txt
deleted file mode 100644
index 0add33bc..00000000
--- a/doc/demos.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-Demo / manual test descrption
-
-Feature to be demonstrated:
-- Dropping the context prefix both on provider side and on client side, when doing the dbus traffic.
-
-
-0.
-
-Versions used in this tests:
-
-Latest versions (27.5.2009) of DuiValueSpace and libcontextprovider:
-libcontextprovider0_0.1.8~unreleased_armel.deb
-libduivaluespace0_0.9~unreleased_armel.deb
-
-1a. Build the packages from ContextKit repository (branch removecontextprefix) inside scratchbox.
-Outside scratchbox:
-./autogen.sh --enable-gtk-doc
-./configure
-make
-make clean
-
-Inside scratchbox:
-./configure
-make
-dpkg-buildpackage -b -us -uc -rfakeroot
-
-1b. Build the packages from DuiValueSpace repository (branch dropping-context) inside scratchbox.
-
-Inside scratchbox:
-./configure
-make
-dpkg-buildpackage -b -us -uc -rfakeroot
-
-Note: When these versions are released, they can be obtained directly from Harmattan repository.
-
-
-3. Copy the .deb packages to the device and install them.
-
-On the device:
-4. Install context-subscriber-example.
-
-5. Start monitoring DBus traffic on system bus.
-dbus-monitor --system
-
-6. Run context-subscriber-example.
-
-7. Outcome: Even though the context-provider-example and context-subscriber-example use the keys with "Context." prefix, they still work together, and dbus-monitor shows that the keys are transmitted without the "Context." prefix.
-
-signal sender=:1.15 -> dest=(null destination) serial=38 path=/org/freedesktop/ContextKit/Subscribers/6; interface=org.freedesktop.ContextKit.Subscriber; member=Changed
- array [
- dict entry(
- string "Example.EdgeUp"
- variant int32 3
- )
- ]
- array [
- ]
diff --git a/doc/fig3.png b/doc/fig3.png
new file mode 100644
index 00000000..9ba20839
--- /dev/null
+++ b/doc/fig3.png
Binary files differ
diff --git a/doc/fig4.png b/doc/fig4.png
new file mode 100644
index 00000000..f6685da3
--- /dev/null
+++ b/doc/fig4.png
Binary files differ
diff --git a/doc/protocol-suggestion.txt b/doc/protocol-suggestion.txt
deleted file mode 100644
index 531d6cd5..00000000
--- a/doc/protocol-suggestion.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-Subscription
-------------
-
-The subscription mechanism would involve sending a Subscribe()
-(preferably without reply) message to the subscriber, and one AddMatch()
-message to the D-Bus daemon for each property subscribed. Unsubscribing
-is similarly straightforward.
-
-This is based on the fact that the provider mainly is interested in the
-fact whether there exists someone at all interested in their exposed
-properties.
-
-However, to handle ungraceful subscribers who don't send Unsubscribe()
-messages when they go away, the provider needs to know its peers. It
-can do so by maintaining an association of property => subscribers
-(using the unique D-Bus name of the sender as subscriber). On receipt
-of an Unsubscribe() message, or a NameOwnerChanged() signal, it needs to
-check if the sender was subscribed to some properties and remove it from
-the mapping. If noone is interested in a property, it should cease
-updating the property to save resources.
-
-Signaling changes
------------------
-
-Properties would be represented as object paths. A subscriber emits a
-ValueChanged() signal whenever a value changes.
-
-One concern is the number of match rules in the D-Bus daemon. This
-approach effectively means one rule per each (subscriber, property)
-pair, contrary to the current way of one rule per subscriber.
-
-Suspending notifications
-
-
-Commanding
-----------
-
-Performance speculations
-------------------------
-
-However the number of messages
-
-With the current implementation, for N subscribers, there are N messages
-emitted (with different object paths). Including the hops between the
-D-Bus daemon that totals in 2*N messages, with the D-Bus daemon having
-to dispatch N incoming messages. Using the new scheme it's only N+1
-messages, and the daemon only has to dispatch 1 message.
-
-The D-Bus interface
--------------------
-
-METHOD VOID Subscribe(ARRAY OF STRING properties)
-
-[ If a subscriber needs to immediately get the value of a property, it
- should call the Get() method. ]
-
-SIGNAL ValueChanged(BOOL unknownp, VARIANT value)
-
-[ The old signature obviously has to change, as now we don't try to
- bundle several properties into one message. If the first boolean
- argument determines whether the value is known or unknown. In the
- latter case, the second argument is to be ignored. Alternatively, the
- unknown value could be represented specially, like an emtpy STRUCT on
- D-Bus, then the BOOL is omitted. ]
-
-METHOD VOID Unsubscribe(ARRAY OF STRING properties)
-
-METHOD VARIANT Get(STRING property)
-
-[ The provider shall _immediately_ return whatever value it has for the
- named property. If it's unknown, then that, but it must not block. ]
diff --git a/doc/use-cases.html b/doc/use-cases.html
new file mode 100644
index 00000000..89d285c1
--- /dev/null
+++ b/doc/use-cases.html
@@ -0,0 +1,1142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.7" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist > ol {
+ list-style-type: decimal;
+}
+div.olist2 > ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 15px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+
+/* Because IE6 child selector is broken. */
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+div.olist2 div.olist ol {
+ list-style-type: decimal;
+}
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+}
+
+function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName)
+ if (mo)
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+ var toc = document.getElementById("toc");
+ var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "toc" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+<title>ContextKit Use Cases</title>
+</head>
+<body>
+<div id="header">
+<h1>ContextKit Use Cases</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<h2 id="_must_have">Must Have</h2>
+<div class="sectionbody">
+<div class="hlist"><table>
+<tr>
+<td class="hlist1">
+3
+</td>
+<td class="hlist2">
+Visualizing the situation - Connected/Disconnected. The menu items
+will have different visuals when offline if they require a connection
+to function optimally e.g. Email and online browsing. This should be
+integrated with the appearance of the home screen and within
+applications. (Homecreen, Menu, Connectivity)
+<div class="literalblock">
+<div class="content">
+<pre><tt>Connectivity.HasInternet</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+5
+</td>
+<td class="hlist2">
+Automatic theme change e.g. time / location based themes
+(fun/entertainment). During working hours the theme indicates the user
+is at work, the time and location. The theme can change when work
+hours are typically finished or according to a calendar. When a
+workday is over or it is the weekend the theme could have a different
+feel.
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+10
+</td>
+<td class="hlist2">
+Create reminder to show the note (e.g. shopping list) next time
+visiting local store, create reminder to buy or do X when entering
+store / shopping mall / specific location and time.
+<div class="literalblock">
+<div class="content">
+<pre><tt>Location.PointOfInterest</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+11
+</td>
+<td class="hlist2">
+Device informs me of timezone differences that may affect my
+communications: e.g. calling a contact in LA when in Finland a query
+is shown "it's 3am in LA - are you sure you wish to make the call?"
+<div class="literalblock">
+<div class="content">
+<pre><tt>Location.TimezoneOffset</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+14
+</td>
+<td class="hlist2">
+If user is running and playlist ends then player will repeat the
+playlist rather than stop and require user action to reselect. There
+could be a visual to show the user the playlist is on repeat so they
+know what has happened when they stop.
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == Running</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+15
+</td>
+<td class="hlist2">
+View meeting location from Calendar meeting invitation, possibility
+to navigate to location from current position
+<div class="literalblock">
+<div class="content">
+<pre><tt>(maps people)</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+16
+</td>
+<td class="hlist2">
+Device offers a city guide or map if in a new location (after
+checking that the local guide/map does not exist). User can choose to
+purchase and use.
+<div class="literalblock">
+<div class="content">
+<pre><tt>Location.City etc</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+18
+</td>
+<td class="hlist2">
+Text-to-speech preview of messages (make "listen" option visible),
+learn if user always wants to hear messages in the car or not
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == InCar (no learning)</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+19
+</td>
+<td class="hlist2">
+The device becomes aware of the fact, that it is in an office
+environment and assumes a special “profile”, with e.g. discreet
+alarms, homescreen, theme
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == InOffice</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+20
+</td>
+<td class="hlist2">
+Get location and orientation data when using the device camera. For
+example, this data can be used to created automatic metadata and tags
+to photos and videos when combined with reverse geocoding online
+service or utilized to show nearby POIs and tappable links to them to
+see more info from web/Maps application when watching through the
+camera viewfinder (GPS+accelerometer+magnetometer)
+<div class="literalblock">
+<div class="content">
+<pre><tt>Map context into content ontology.</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+21
+</td>
+<td class="hlist2">
+Automatically disable media online services and RSS feed updates
+when user is roaming or no free Wi-Fi connection available based on
+user preferences/settings
+<div class="literalblock">
+<div class="content">
+<pre><tt>Connectivity.HasInternet
+Connectivity.InternetIsFlatRate</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+22
+</td>
+<td class="hlist2">
+When user is moving enlarge some of the buttons, so that it is
+easier to press those in all media applications
+(GPS+accelerometer). Adjusting the maps interface and/or available
+tools based on user's current activity or mode of traveling (walking,
+driving, etc.)
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+29
+</td>
+<td class="hlist2">
+Highlighted in the soup content and in contacts. Also related
+content can be highlighted in different applications (e.g. browsing
+photos, Jack comes near, all Jack’s pictures are highlighted)
+<div class="literalblock">
+<div class="content">
+<pre><tt>Environment.NearbyContacts
+Environment.ConnectedContacts</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+30
+</td>
+<td class="hlist2">
+Displays relevant content useful for the user - traffic report
+widget in car and during commute time - transit (bus/train schedule,
+stops) information before and during commute time.
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == Commuting</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+32
+</td>
+<td class="hlist2">
+Connecting to best available connection. If Wlan is available and
+reliable the the device will connect through this. When it is not
+available the device will connect through the next best connect
+possibility. There may be settings for the device to behave
+differently on different connection types.
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation, but mostly connectivity people</tt></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+41
+</td>
+<td class="hlist2">
+Screen brightness increases/decreases depending on the
+environment. For example; driving car at night time, screen is not
+100% bright to save your eyes and not blind you.
+<div class="literalblock">
+<div class="content">
+<pre><tt>Hmmm.</tt></pre>
+</div></div>
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_should_have">Should Have</h2>
+<div class="sectionbody">
+<div class="hlist"><table>
+<tr>
+<td class="hlist1">
+4
+</td>
+<td class="hlist2">
+Most used applications, links, data (device learns usage
+frequency) appear on the home screen. Or the user can be prompted when
+accessing most used apps whether apps should be added to home screen
+for easy access. Unused apps on the home screen can fade away if not
+used e.g. in a few months? (Except when S&amp;S service priority?)
+<div class="para"><p>Dynamic widgets on the Home screen based on context e.g. if user
+checks weather.com everyday via browser offer to add permanent weather
+widget to home screen.</p></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+9
+</td>
+<td class="hlist2">
+Create reminder about telling a friend something e.g. when meeting
+him/her the next time (bluetooth/wlan proximity) or when calling next
+time. E.g. see a picture of daughter in Gallery &#8658; place reminder to
+book a dentist to her in the next "booking slot". This could also work
+with specific and related files being presented when in a meeting.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+12
+</td>
+<td class="hlist2">
+The device suggests volume increases in noisy environments. This
+may relate to ringing tone, music playback, movies etc. The volume
+increases in noisy environments and back to the original setting when
+the surrounding alters. The device learns the user patterns e.g. if
+the user regularly overrules suggested adjustments then after a while
+it is switched off.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+17
+</td>
+<td class="hlist2">
+Reduce WLAN energy consumption by optimizing
+activity. Automatically turn on / increase frequency of WLAN search
+when there is likely to be a hotspot nearby - turn scanning
+off/decrease frequency when it is unlikely (learning user's
+environments and schedule) - user does not have to manually
+activate/disable WLAN search.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+23
+</td>
+<td class="hlist2">
+Settings: The device learns what the most often used setting items
+are by the user, and always shows those most often used Setting items
+out of the category /or show them on the top of the list.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+26
+</td>
+<td class="hlist2">
+User is navigating from A to B, in search items "along the route"
+are emphasized (if not navigating, items "close to current location"
+are more important)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+27
+</td>
+<td class="hlist2">
+User has indicated that he has to be in certain location at certain
+time (e.g. calendar event, setting a "target location" in maps), alarm
+when it's time to leave (based on distance and optionally also traffic
+conditions, mode of traveling, etc.)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+28
+</td>
+<td class="hlist2">
+Some context-based recommendations, suggestions, etc. showed
+occasionally on the map (needs to be tested with the user if they like
+this..)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+34
+</td>
+<td class="hlist2">
+When device is on a desk or other hard surface the vibra is not
+used for alerting, just the nice ring tone I've selected
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+35
+</td>
+<td class="hlist2">
+When the device is pulled from pocket/bag turn the background light
+on and show the now playing song/FM radio channel/Internet radio
+channel information on the screen automatically instead of tapping the
+screen or opening the screen lock (ambient light sensor)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+38
+</td>
+<td class="hlist2">
+When the device is in pocket, the sensitive level of touch screen
+could be lifted to allow small set of gestures even if the device is
+in the pocket (gestures through fabric)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+40
+</td>
+<td class="hlist2">
+When device is steadily on table and music is playing, the now
+playing view could start showing the song &amp; artist names in large font
+sizes (easy to read even from long distance)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+42
+</td>
+<td class="hlist2">
+Unplugging headset pauses the music
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_nice_to_have">Nice to Have</h2>
+<div class="sectionbody">
+<div class="hlist"><table>
+<tr>
+<td class="hlist1">
+7
+</td>
+<td class="hlist2">
+Phone learns from the users behavior, e.g. a user calls home when
+leaving the office every weekday. The device adapts to this and
+provides easy and quick way to perform the task, the user may not be
+aware as the application will be launched in the background. This may
+be in the ‘soup’…the user can look into the future. They can see
+calendar events, and possibilities relating to their usage
+patterns…user can flick the item away if it is not right.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+8
+</td>
+<td class="hlist2">
+Meeting application: When in the meeting, business cards (with
+photos) are automatically exchanged and visualized in the UI so that
+they help the user to connect names with faces with sitting
+order. This also means contact details can be exchanged.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+24
+</td>
+<td class="hlist2">
+Application manager: Building In-device recommendation system: The
+devices learns the user’s preferences of applications (by
+analyzing/counting the usage of applications), the recommend the new
+applications to the user to download and install.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+25
+</td>
+<td class="hlist2">
+Personalization: The device learns the user’s personalization
+preferences (the device could learn this if the user transferring some
+personalization data from the old phone on the first time using the
+new device), and set automatically some personalization settings for
+the user (e.g. Ringing tone, background color, etc.)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+31
+</td>
+<td class="hlist2">
+The device is set to behave differently in certain modes. For
+example when you are driving you do not want to access your email and
+text messages so automatic messages are broadcasted to any contacts
+letting them know you are driving and will get back them when you are
+done&#8230;and possible provide more information.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+33
+</td>
+<td class="hlist2">
+Shouting “where are you” to the handbag, device turns the lights on
+(easier to find)
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+36
+</td>
+<td class="hlist2">
+Shake device to play/show random media item
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+37
+</td>
+<td class="hlist2">
+When jogging/walking detect the pace and UI could propose songs
+that would fit to the pace
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+39
+</td>
+<td class="hlist2">
+Turn device to jump to next media item + turn to another direction
+to jump to previous media item (same with left/right swipes on touch
+screen)
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_to_be_prioritized">To be prioritized</h2>
+<div class="sectionbody">
+<div class="hlist"><table>
+<tr>
+<td class="hlist1">
+6
+</td>
+<td class="hlist2">
+Automatic connections and downloading content. The device
+automatically pulls relevant content, alerts, feed updates, people etc
+when it is connected (this may be set to a specific type of
+connection). The user can review this updated content when they have
+time. There could be a visual feature to show the user what content is
+new/updated. The user may need the ability to teach the device what
+they want to see and when. The device can also learn what the user
+looks at and their usage patterns. This may inform content management
+and filtering information.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+13
+</td>
+<td class="hlist2">
+If there are new albums available from my favorite artists my
+device has already gone and got if for me. I can do preview when
+convenient and then purchase the album if I want. The device suggests
+what I will like based on my usage patterns and links with relevant
+networks and friends. Content could be a playlist entitled "new music
+to try" or somehow be highlighted when appropriate e.g. when listening
+to music which connects in some way to what you're listening to at the
+time e.g. same artist. But as said before it bubbles to the surface,
+or catches you eye in some way, NOT with a pop-up looking for a yes/no
+response. Over time if you don’t play it, it would auto delete. Once
+it catches your eye it would then preview it, then if you want to keep
+it you do one click buy, no further download required, no waiting?
+(just download), just spontaneous enjoyment. Trick we learnt through a
+study is not to start 2nd guessing too soon as it takes time to learn
+and gain trust, on both sides of the relationship.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+43
+</td>
+<td class="hlist2">
+Weather and Location: Kate is now in Paris. She plans a bit about
+what she wants to do in Paris but she would like more suggestions. She
+checks her mobileand gets some suggestion about where she can go
+today. The mobile suggests that she’d better go to the Louvre museum
+rather than Eiffel tower today because it will be windy and cloudy.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+44
+</td>
+<td class="hlist2">
+Weather, location and speed: Michi is in Espoo and needs to go to
+Stockmann to meet his wife. He wants to buy some presents for his
+friends. He drives his car to the city center and worries about the
+heavy traffic jam. He put his mobile on the car dock to check a
+possible route. The mobile recommends to park his car at the nearest
+parking lot and take the subway directly to Stockmann.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+45
+</td>
+<td class="hlist2">
+Weather, location and time: Kate and friends are enjoying the open
+concert near Olympia stadium. The concert started at 7:00 PM and will
+end around 9:00 PM. The mobile suggests some places to get food after
+the concert. The recommended places are mostly in open areas as the
+weather is beautiful. There are free beer coupons on the screen with
+the recommendations. It is sunny outside so they pick on of the
+recommendations.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+46
+</td>
+<td class="hlist2">
+Weather, location and light: Roope is listening the music he owns
+on his mobile. It seems to be snowy outside and gets dark. His has his
+mobile set to offer him suggestions based on the weather and his
+listening patterns so his playlist suugests a playlist related to the
+snowing season and also has Christmas carols. This selection seems to
+be based on his listening pattern including favorite genre and
+artist. He’s satisfied with some of music on the list and starts play
+one of them.
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+47
+</td>
+<td class="hlist2">
+When tagging there will be keyword suggestions from the context
+engine. E.g. Name of location, weather, office/home and so on. The
+user can browse contents by "cloudy" and photos shows cloudy pictures,
+as previously tagged by the user.
+</td>
+</tr>
+</table></div>
+<div class="para"><p>48</p></div>
+<div class="hlist"><table>
+<tr>
+<td class="hlist1">
+49
+</td>
+<td class="hlist2">
+User is enjoying media e.g. music player, (internet) radio, images,
+video or television and relevant adverts appear. Example: while
+viewing photos an advert for the local print shop is displayed
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+50
+</td>
+<td class="hlist2">
+User creates or accepts an entry to calendar, maps or to-do-list,
+etc. and related adverts are shown. Example: user ads mom’s birthday
+into calendar and an advert for flowers appears or user plans a route
+in maps and special “Ibis” hotel offers appear along the route
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+51
+</td>
+<td class="hlist2">
+User does a search for adverts based on a specific location or
+context (ad pull).
+<div class="para"><p>Example: a vegetarian tourist arrives at a railway station in an
+unknown city at Sunday 5pm, an ad-search shows English ads for
+vegetarian restaurants in the area which are open now</p></div>
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+52
+</td>
+<td class="hlist2">
+Users installs an application or widget on her phone which merges
+adverts with other content like weather, news or timetables. Example:
+user installs the “Helsinki weather” widget to her home screen which
+also shows the most appropriate local activities for the current
+weather
+</td>
+</tr>
+<tr>
+<td class="hlist1">
+53
+</td>
+<td class="hlist2">
+If the user visits selected services with Direct UI then adverts
+are more relevant. Example: if the user uses Hotmail from Direct UI
+then advertisers are allowed to know that she belongs to a specific
+target group and that she is currently in Helsinki
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_notes">Notes</h2>
+<div class="sectionbody">
+<div class="para"><p>Widget recommendation in widget library based on users
+interestes, needs and most used applications</p></div>
+<div class="para"><p>Updates management: the canvas probably will be very long,
+there is no sense to update the widget all the time if they
+are invisible in the canvas. So we need some smart management
+system.</p></div>
+<div class="para"><p>Widget functionality: as we all know, the widget is very
+compact and only be able to provide limited functions, so it
+would be great if the widget can provide the functionality
+based on the context.</p></div>
+<div class="para"><p>Widget configuration: if the configuration in the
+corresponding applications has been changed, the widget itself
+might need to be updated too.This can happen automatically.</p></div>
+<div class="para"><p>Prioritize the sharing options based on the context. For
+example, if I am chatting with you, and then I go to share
+with friend, maybe your name should show up on the top. Or if
+the contact bluetooth device is nearby, it would be good if we
+can show it as options for the user.</p></div>
+<div class="para"><p>Send email to nearby contacts. E.g. People in the same meeting
+room to hare some documents</p></div>
+<div class="para"><p>Recipient status. It can give some indication when you can
+expect a reply</p></div>
+<div class="para"><p>Email must react somehow to changes in
+connectivity. E.g. Offering chance for offline browsing, if
+there is no connectivity</p></div>
+<div class="para"><p>Reacting to events. E.g. Silencing notifications of new
+messages when user is in a meeting.</p></div>
+<div class="para"><p>Kath and Hanna have activated WayFinder application, which
+dynamically shows the direction and distance to the other
+person. During the day, Hanna has found an interesting
+Portuguese restaurant and defined a WayFinder anchor point
+there. She now activates the anchor point and her phone shows
+the distance and direction to the restaurant. Kath and Hanna
+start walking towards the restaurant and are ready for a great
+night in Portugal.</p></div>
+<div class="para"><p>Kath has found a nice youth hostel. She takes a photo and
+phone adds compass and GPS information to it. Kath sends the
+MMS to Hanna so that they can find the place
+easily. Additionally location data can also be used in picture
+browser at home.</p></div>
+<div class="para"><p>These areas still need to provide use cases. I am chasing up
+asap.</p></div>
+<div class="para"><p>Assobrowsing
+Tagging
+Sharing
+Advertising - ideas in the vision document. The server is currenly down so this will be done tomorrow.
+Search - suggestions in general should utilize heavily the context information
+Clock &amp; Calendar
+People - contacts
+Places &amp; browser</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-10-20 09:32:38 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/gtk-doc.make b/gtk-doc.make
deleted file mode 100644
index fa7fd6c4..00000000
--- a/gtk-doc.make
+++ /dev/null
@@ -1,201 +0,0 @@
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-
-if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN = $(LIBTOOL) --mode=execute
-else
-GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN = sh -c
-endif
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-
-EXTRA_DIST = \
- $(content_files) \
- $(HTML_IMAGES) \
- $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt \
- $(DOC_MODULE)-overrides.txt
-
-DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
- $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
-
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
- $(DOC_MODULE).hierarchy \
- $(DOC_MODULE).interfaces \
- $(DOC_MODULE).prerequisites \
- $(DOC_MODULE).signals
-
-REPORT_FILES = \
- $(DOC_MODULE)-undocumented.txt \
- $(DOC_MODULE)-undeclared.txt \
- $(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
-
-if ENABLE_GTK_DOC
-all-local: html-build.stamp
-else
-all-local:
-endif
-
-docs: html-build.stamp
-
-$(REPORT_FILES): sgml-build.stamp
-
-#### scan ####
-
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
- @echo 'gtk-doc: Scanning header files'
- @-chmod -R u+w $(srcdir)
- cd $(srcdir) && \
- gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
- if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
- else \
- cd $(srcdir) ; \
- for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
- done \
- fi
- touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
- @true
-
-#### templates ####
-
-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
- @echo 'gtk-doc: Rebuilding template files'
- @-chmod -R u+w $(srcdir)
- cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
- touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
- @true
-
-tmpl/*.sgml:
- @true
-
-
-#### xml ####
-
-sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
- @echo 'gtk-doc: Building XML'
- @-chmod -R u+w $(srcdir)
- cd $(srcdir) && \
- gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
- touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
- @true
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @echo 'gtk-doc: Building HTML'
- @-chmod -R u+w $(srcdir)
- rm -rf $(srcdir)/html
- mkdir $(srcdir)/html
- mkhtml_options=""; \
- gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
- if test "$(?)" = "0"; then \
- mkhtml_options=--path="$(srcdir)"; \
- fi
- cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
- @echo 'gtk-doc: Fixing cross-references'
- cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
- touch html-build.stamp
-
-##############
-
-clean-local:
- rm -f *~ *.bak
- rm -rf .libs
-
-distclean-local:
- cd $(srcdir) && \
- rm -rf xml $(REPORT_FILES) \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
-
-maintainer-clean-local: clean
- cd $(srcdir) && rm -rf xml html
-
-install-data-local:
- installfiles=`echo $(srcdir)/html/*`; \
- if test "$$installfiles" = '$(srcdir)/html/*'; \
- then echo '-- Nothing to install' ; \
- else \
- if test -n "$(DOC_MODULE_VERSION)"; then \
- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
- else \
- installdir="$(DESTDIR)$(TARGET_DIR)"; \
- fi; \
- $(mkinstalldirs) $${installdir} ; \
- for i in $$installfiles; do \
- echo '-- Installing '$$i ; \
- $(INSTALL_DATA) $$i $${installdir}; \
- done; \
- if test -n "$(DOC_MODULE_VERSION)"; then \
- mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
- mv -f $${installdir}/$(DOC_MODULE).devhelp \
- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
- fi; \
- ! which gtkdoc-rebase >/dev/null 2>&1 || \
- gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
- fi
-
-uninstall-local:
- if test -n "$(DOC_MODULE_VERSION)"; then \
- installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
- else \
- installdir="$(DESTDIR)$(TARGET_DIR)"; \
- fi; \
- rm -rf $${installdir}
-
-#
-# Require gtk-doc when making dist
-#
-#if ENABLE_GTK_DOC
-#dist-check-gtkdoc:
-#else
-#dist-check-gtkdoc:
-# @echo "*** gtk-doc must be installed and enabled in order to make dist"
-# @false
-#endif
-
-# contextkit note: instead of checking the availability of gtk-doc,
-# just make the procedure, without hesitation. gtk-doc + distcheck is
-# so hacky and messed up that we haven't found out a better way yet
-dist-check-gtkdoc: html-build.stamp
-
-dist-hook: dist-check-gtkdoc dist-hook-local
- mkdir $(distdir)/tmpl
- mkdir $(distdir)/xml
- mkdir $(distdir)/html
- -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
- -cp $(srcdir)/xml/*.xml $(distdir)/xml
- cp $(srcdir)/html/* $(distdir)/html
- -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
- -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
- cd $(distdir) && rm -f $(DISTCLEANFILES)
- ! which gtkdoc-rebase >/dev/null 2>&1 || \
- gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
-
-.PHONY : dist-hook-local docs
diff --git a/install-sh b/install-sh
new file mode 100755
index 00000000..a5897de6
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,519 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2006-12-25.00
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/libcontextprovider/.gitignore b/libcontextprovider/.gitignore
deleted file mode 100644
index 5accd1a3..00000000
--- a/libcontextprovider/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-mocs.cpp
-contextprovider-1.0.pc
-/customer-tests/coverage-build/Makefile.coverage
-coverage/
diff --git a/libcontextprovider/Makefile.in b/libcontextprovider/Makefile.in
new file mode 100644
index 00000000..062e2f14
--- /dev/null
+++ b/libcontextprovider/Makefile.in
@@ -0,0 +1,583 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/contextprovider-1.0.pc.in \
+ $(top_srcdir)/am/covoptioncheck.am
+subdir = libcontextprovider
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = contextprovider-1.0.pc
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src unit-tests doc customer-tests context-provide man
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = contextprovider-1.0.pc
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+contextprovider-1.0.pc: $(top_builddir)/config.status $(srcdir)/contextprovider-1.0.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-pkgconfigDATA
+
+
+check-sum:
+ $(MAKE) -C unit-tests check-sum
+
+coverage: covoptioncheck
+ $(MAKE) -C unit-tests coverage
+ $(MAKE) -C customer-tests coverage
+
+check-customer:
+ $(MAKE) -C customer-tests check-customer
+
+.PHONY: coverage check-sum
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/context-provide/.gitignore b/libcontextprovider/context-provide/.gitignore
deleted file mode 100644
index 646c5813..00000000
--- a/libcontextprovider/context-provide/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-context-provide-internal
diff --git a/libcontextprovider/context-provide/Makefile.in b/libcontextprovider/context-provide/Makefile.in
new file mode 100644
index 00000000..42dae908
--- /dev/null
+++ b/libcontextprovider/context-provide/Makefile.in
@@ -0,0 +1,567 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = context-provide-internal$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/context-provide
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_context_provide_internal_OBJECTS = context-provide.$(OBJEXT) \
+ commandwatcher.$(OBJEXT)
+nodist_context_provide_internal_OBJECTS = mocs.$(OBJEXT)
+context_provide_internal_OBJECTS = \
+ $(am_context_provide_internal_OBJECTS) \
+ $(nodist_context_provide_internal_OBJECTS)
+context_provide_internal_DEPENDENCIES = ../src/libcontextprovider.la \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(context_provide_internal_SOURCES) \
+ $(nodist_context_provide_internal_SOURCES)
+DIST_SOURCES = $(context_provide_internal_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+context_provide_internal_SOURCES = context-provide.cpp commandwatcher.cpp commandwatcher.h
+
+# library dependency hack for seamless make
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) \
+ '-DCONTEXT_LOG_MODULE_NAME="context-provide"' \
+ -I$(srcdir)/../src -I$(top_srcdir)/common
+context_provide_internal_LDADD = ../src/libcontextprovider.la $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_context_provide_internal_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(context_provide_internal_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/context-provide/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/context-provide/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+context-provide-internal$(EXEEXT): $(context_provide_internal_OBJECTS) $(context_provide_internal_DEPENDENCIES)
+ @rm -f context-provide-internal$(EXEEXT)
+ $(CXXLINK) $(context_provide_internal_OBJECTS) $(context_provide_internal_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandwatcher.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context-provide.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool clean-local ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS
+
+
+../src/libcontextprovider.la:
+ $(MAKE) -C ../src libcontextprovider.la
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: ../src/libcontextprovider.la $(top_builddir)/common/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/customer-tests/Makefile.in b/libcontextprovider/customer-tests/Makefile.in
new file mode 100644
index 00000000..8ea4bec4
--- /dev/null
+++ b/libcontextprovider/customer-tests/Makefile.in
@@ -0,0 +1,580 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am
+subdir = libcontextprovider/customer-tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libcontextprovidertestsdir)"
+libcontextprovidertestsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(libcontextprovidertests_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = client subscription value-changes types c-api
+libcontextprovidertestsdir = $(datadir)/libcontextprovider-tests
+libcontextprovidertests_DATA = tests.xml
+EXTRA_DIST = tests.xml coverage-build runTests.sh
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/customer-tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-libcontextprovidertestsDATA: $(libcontextprovidertests_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(libcontextprovidertestsdir)" || $(MKDIR_P) "$(DESTDIR)$(libcontextprovidertestsdir)"
+ @list='$(libcontextprovidertests_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(libcontextprovidertestsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libcontextprovidertestsdir)/$$f'"; \
+ $(libcontextprovidertestsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libcontextprovidertestsdir)/$$f"; \
+ done
+
+uninstall-libcontextprovidertestsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libcontextprovidertests_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(libcontextprovidertestsdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(libcontextprovidertestsdir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libcontextprovidertestsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-libcontextprovidertestsDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libcontextprovidertestsDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ clean-local ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libcontextprovidertestsDATA \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am uninstall-libcontextprovidertestsDATA
+
+
+coverage: covoptioncheck
+ COVERAGE=1 ./runTests.sh
+.PHONY: coverage
+
+clean-local:
+ -$(MAKE) -C coverage-build clean
+ rm -rf coverage
+
+check-customer:
+ ./runTests.sh
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/customer-tests/c-api/.gitignore b/libcontextprovider/customer-tests/c-api/.gitignore
deleted file mode 100644
index 0e25a076..00000000
--- a/libcontextprovider/customer-tests/c-api/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-cprovidertests \ No newline at end of file
diff --git a/libcontextprovider/customer-tests/c-api/Makefile.in b/libcontextprovider/customer-tests/c-api/Makefile.in
new file mode 100644
index 00000000..28e64383
--- /dev/null
+++ b/libcontextprovider/customer-tests/c-api/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+test_PROGRAMS = cprovidertests$(EXEEXT)
+subdir = libcontextprovider/customer-tests/c-api
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+testPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(test_PROGRAMS)
+am_cprovidertests_OBJECTS = cprovidertests-cprovidertests.$(OBJEXT)
+cprovidertests_OBJECTS = $(am_cprovidertests_OBJECTS)
+cprovidertests_LDADD = $(LDADD)
+cprovidertests_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(cprovidertests_CFLAGS) \
+ $(CFLAGS) $(cprovidertests_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(cprovidertests_SOURCES)
+DIST_SOURCES = $(cprovidertests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+testdir = $(libdir)/libcontextprovider-tests
+cprovidertests_SOURCES = cprovidertests.c
+cprovidertests_CFLAGS = -I$(top_srcdir)/libcontextprovider/src $(GLIB_CFLAGS) $(DBUS_CFLAGS)
+cprovidertests_LDFLAGS = $(GLIB_LIBS) $(DBUS_LIBS) -L$(top_builddir)/libcontextprovider/src/.libs -lcontextprovider
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/customer-tests/c-api/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-tests/c-api/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(testdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(testdir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(testdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(testdir)/$$f"; \
+ done
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+cprovidertests$(EXEEXT): $(cprovidertests_OBJECTS) $(cprovidertests_DEPENDENCIES)
+ @rm -f cprovidertests$(EXEEXT)
+ $(cprovidertests_LINK) $(cprovidertests_OBJECTS) $(cprovidertests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cprovidertests-cprovidertests.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+cprovidertests-cprovidertests.o: cprovidertests.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cprovidertests_CFLAGS) $(CFLAGS) -MT cprovidertests-cprovidertests.o -MD -MP -MF $(DEPDIR)/cprovidertests-cprovidertests.Tpo -c -o cprovidertests-cprovidertests.o `test -f 'cprovidertests.c' || echo '$(srcdir)/'`cprovidertests.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cprovidertests-cprovidertests.Tpo $(DEPDIR)/cprovidertests-cprovidertests.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cprovidertests.c' object='cprovidertests-cprovidertests.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cprovidertests_CFLAGS) $(CFLAGS) -c -o cprovidertests-cprovidertests.o `test -f 'cprovidertests.c' || echo '$(srcdir)/'`cprovidertests.c
+
+cprovidertests-cprovidertests.obj: cprovidertests.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cprovidertests_CFLAGS) $(CFLAGS) -MT cprovidertests-cprovidertests.obj -MD -MP -MF $(DEPDIR)/cprovidertests-cprovidertests.Tpo -c -o cprovidertests-cprovidertests.obj `if test -f 'cprovidertests.c'; then $(CYGPATH_W) 'cprovidertests.c'; else $(CYGPATH_W) '$(srcdir)/cprovidertests.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cprovidertests-cprovidertests.Tpo $(DEPDIR)/cprovidertests-cprovidertests.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cprovidertests.c' object='cprovidertests-cprovidertests.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cprovidertests_CFLAGS) $(CFLAGS) -c -o cprovidertests-cprovidertests.obj `if test -f 'cprovidertests.c'; then $(CYGPATH_W) 'cprovidertests.c'; else $(CYGPATH_W) '$(srcdir)/cprovidertests.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(testdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-testPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-testPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-testPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-testPROGRAMS installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-testPROGRAMS
+
+
+check-customer: $(test_PROGRAMS)
+ PATH=../client:$$PATH CONTEXT_LOG_VERBOSITY=WARNING ./.libs/cprovidertests
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/customer-tests/client/.gitignore b/libcontextprovider/customer-tests/client/.gitignore
deleted file mode 100644
index 2a11f8b9..00000000
--- a/libcontextprovider/customer-tests/client/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-client \ No newline at end of file
diff --git a/libcontextprovider/customer-tests/client/Makefile.in b/libcontextprovider/customer-tests/client/Makefile.in
new file mode 100644
index 00000000..f6d161c0
--- /dev/null
+++ b/libcontextprovider/customer-tests/client/Makefile.in
@@ -0,0 +1,550 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+test_PROGRAMS = client$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/customer-tests/client
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+testPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(test_PROGRAMS)
+am_client_OBJECTS = client.$(OBJEXT) commandwatcher.$(OBJEXT)
+nodist_client_OBJECTS = mocs.$(OBJEXT)
+client_OBJECTS = $(am_client_OBJECTS) $(nodist_client_OBJECTS)
+client_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(client_SOURCES) $(nodist_client_SOURCES)
+DIST_SOURCES = $(client_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS) $(QtDBus_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+testdir = $(libdir)/libcontextprovider-tests
+client_SOURCES = client.cpp commandwatcher.h commandwatcher.cpp
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) -I$(top_srcdir)/common
+
+# moccing
+nodist_client_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(client_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/customer-tests/client/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-tests/client/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(testdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(testdir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(testdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(testdir)/$$f"; \
+ done
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+client$(EXEEXT): $(client_OBJECTS) $(client_DEPENDENCIES)
+ @rm -f client$(EXEEXT)
+ $(CXXLINK) $(client_OBJECTS) $(client_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandwatcher.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(testdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-testPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-testPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-testPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-testPROGRAMS installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-testPROGRAMS
+
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/customer-tests/subscription/.gitignore b/libcontextprovider/customer-tests/subscription/.gitignore
deleted file mode 100644
index a520fecb..00000000
--- a/libcontextprovider/customer-tests/subscription/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-subscriptiontests
diff --git a/libcontextprovider/customer-tests/subscription/Makefile.in b/libcontextprovider/customer-tests/subscription/Makefile.in
new file mode 100644
index 00000000..2d378ece
--- /dev/null
+++ b/libcontextprovider/customer-tests/subscription/Makefile.in
@@ -0,0 +1,568 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+test_PROGRAMS = subscriptiontests$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/customer-tests/subscription
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+testPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(test_PROGRAMS)
+am_subscriptiontests_OBJECTS = subscriptiontests.$(OBJEXT)
+nodist_subscriptiontests_OBJECTS = mocs.$(OBJEXT)
+subscriptiontests_OBJECTS = $(am_subscriptiontests_OBJECTS) \
+ $(nodist_subscriptiontests_OBJECTS)
+subscriptiontests_DEPENDENCIES = ../../src/libcontextprovider.la \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(subscriptiontests_SOURCES) \
+ $(nodist_subscriptiontests_SOURCES)
+DIST_SOURCES = $(subscriptiontests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+testdir = $(libdir)/libcontextprovider-tests
+subscriptiontests_SOURCES = subscriptiontests.cpp \
+ subscriptiontests.h
+
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) -I$(srcdir)/../../src \
+ -I$(top_srcdir)/common
+
+subscriptiontests_LDADD = ../../src/libcontextprovider.la $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_subscriptiontests_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(subscriptiontests_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/customer-tests/subscription/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-tests/subscription/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(testdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(testdir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(testdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(testdir)/$$f"; \
+ done
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+subscriptiontests$(EXEEXT): $(subscriptiontests_OBJECTS) $(subscriptiontests_DEPENDENCIES)
+ @rm -f subscriptiontests$(EXEEXT)
+ $(CXXLINK) $(subscriptiontests_OBJECTS) $(subscriptiontests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriptiontests.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(testdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-testPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-testPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-testPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-testPROGRAMS installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-testPROGRAMS
+
+
+check-customer: $(test_PROGRAMS)
+ PATH=../client:$$PATH CONTEXT_LOG_VERBOSITY=WARNING ./.libs/subscriptiontests
+
+../../src/libcontextprovider.la:
+ $(MAKE) -C ../../src libcontextprovider.la
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: ../../libcontextprovider.la $(top_builddir)/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/customer-tests/types/.gitignore b/libcontextprovider/customer-tests/types/.gitignore
deleted file mode 100644
index 82ac9a25..00000000
--- a/libcontextprovider/customer-tests/types/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-typestests \ No newline at end of file
diff --git a/libcontextprovider/customer-tests/types/Makefile.in b/libcontextprovider/customer-tests/types/Makefile.in
new file mode 100644
index 00000000..475e6fdf
--- /dev/null
+++ b/libcontextprovider/customer-tests/types/Makefile.in
@@ -0,0 +1,557 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+test_PROGRAMS = typestests$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/customer-tests/types
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+testPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(test_PROGRAMS)
+am_typestests_OBJECTS = typestests.$(OBJEXT)
+nodist_typestests_OBJECTS = mocs.$(OBJEXT)
+typestests_OBJECTS = $(am_typestests_OBJECTS) \
+ $(nodist_typestests_OBJECTS)
+typestests_DEPENDENCIES = ../../src/libcontextprovider.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(typestests_SOURCES) $(nodist_typestests_SOURCES)
+DIST_SOURCES = $(typestests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+testdir = $(libdir)/libcontextprovider-tests
+typestests_SOURCES = typestests.cpp typestests.h
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) -I$(srcdir)/../../src -I$(top_srcdir)/common
+typestests_LDADD = ../../src/libcontextprovider.la
+
+# moccing
+nodist_typestests_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(typestests_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/customer-tests/types/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-tests/types/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(testdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(testdir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(testdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(testdir)/$$f"; \
+ done
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+typestests$(EXEEXT): $(typestests_OBJECTS) $(typestests_DEPENDENCIES)
+ @rm -f typestests$(EXEEXT)
+ $(CXXLINK) $(typestests_OBJECTS) $(typestests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/typestests.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(testdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-testPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-testPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-testPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-testPROGRAMS installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-testPROGRAMS
+
+
+check-customer: $(test_PROGRAMS)
+ PATH=../client:$$PATH CONTEXT_LOG_VERBOSITY=WARNING ./.libs/typestests
+../../src/libcontextprovider.la:
+ $(MAKE) -C ../../src libcontextprovider.la
+.PHONY: ../../libcontextprovider.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/customer-tests/value-changes/.gitignore b/libcontextprovider/customer-tests/value-changes/.gitignore
deleted file mode 100644
index 42203e75..00000000
--- a/libcontextprovider/customer-tests/value-changes/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-valuechangestests \ No newline at end of file
diff --git a/libcontextprovider/customer-tests/value-changes/Makefile.in b/libcontextprovider/customer-tests/value-changes/Makefile.in
new file mode 100644
index 00000000..9878d9b3
--- /dev/null
+++ b/libcontextprovider/customer-tests/value-changes/Makefile.in
@@ -0,0 +1,558 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+test_PROGRAMS = valuechangestests$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/customer-tests/value-changes
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+testPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(test_PROGRAMS)
+am_valuechangestests_OBJECTS = valuechangestests.$(OBJEXT)
+nodist_valuechangestests_OBJECTS = mocs.$(OBJEXT)
+valuechangestests_OBJECTS = $(am_valuechangestests_OBJECTS) \
+ $(nodist_valuechangestests_OBJECTS)
+valuechangestests_DEPENDENCIES = ../../src/libcontextprovider.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(valuechangestests_SOURCES) \
+ $(nodist_valuechangestests_SOURCES)
+DIST_SOURCES = $(valuechangestests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+testdir = $(libdir)/libcontextprovider-tests
+valuechangestests_SOURCES = valuechangestests.cpp valuechangestests.h
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) -I$(srcdir)/../../src -I$(top_srcdir)/common
+valuechangestests_LDADD = ../../src/libcontextprovider.la
+
+# moccing
+nodist_valuechangestests_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(valuechangestests_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/customer-tests/value-changes/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-tests/value-changes/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(testdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(testPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(testdir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(testdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(testdir)/$$f"; \
+ done
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+valuechangestests$(EXEEXT): $(valuechangestests_OBJECTS) $(valuechangestests_DEPENDENCIES)
+ @rm -f valuechangestests$(EXEEXT)
+ $(CXXLINK) $(valuechangestests_OBJECTS) $(valuechangestests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valuechangestests.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(testdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-testPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-testPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-testPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-testPROGRAMS installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-testPROGRAMS
+
+
+check-customer: $(test_PROGRAMS)
+ PATH=../client:$$PATH CONTEXT_LOG_VERBOSITY=WARNING ./.libs/valuechangestests
+../../src/libcontextprovider.la:
+ $(MAKE) -C ../../src libcontextprovider.la
+.PHONY: ../../libcontextprovider.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/doc/.gitignore b/libcontextprovider/doc/.gitignore
deleted file mode 100644
index 66a72567..00000000
--- a/libcontextprovider/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-doxygen.log
-html
diff --git a/libcontextprovider/doc/Makefile.in b/libcontextprovider/doc/Makefile.in
new file mode 100644
index 00000000..d7cb7f2b
--- /dev/null
+++ b/libcontextprovider/doc/Makefile.in
@@ -0,0 +1,390 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextprovider/doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOXYCFG = $(srcdir)/doxy.cfg
+EXTRA_DIST = $(DOXYCFG) html
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+@CONTEXTKIT_BUILD_DOCS_FALSE@all-local:
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool distclean distclean-generic distclean-libtool \
+ distclean-local distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+@CONTEXTKIT_BUILD_DOCS_TRUE@all-local: doxygen
+
+doxygen:
+ @if test x$(srcdir) = x. ; then \
+ echo srcdir=$(srcdir) $(DOXYGEN) $(DOXYCFG); \
+ srcdir=$(srcdir) $(DOXYGEN) $(DOXYCFG); \
+ else \
+ echo This is a VPATH build, so not building doxygen; \
+ fi
+
+distclean-local:
+ rm -f doxygen.log
+
+maintainer-clean-local:
+ rm -rf html
+
+.PHONY: doxygen
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/doc/doc.pri b/libcontextprovider/doc/doc.pri
deleted file mode 100644
index ffb8ae3f..00000000
--- a/libcontextprovider/doc/doc.pri
+++ /dev/null
@@ -1,10 +0,0 @@
-DOXYGEN_BIN=doxygen
-
-QMAKE_EXTRA_UNIX_TARGETS += doc
-doc.target = doc
-isEmpty(DOXYGEN_BIN) {
- doc.commands = @echo "Unable to detect doxygen in PATH"
-} else {
- doc.commands = @$${DOXYGEN_BIN} doc/doxy.cfg ;
-}
-doc.depends = FORCE
diff --git a/libcontextprovider/doc/html/_context_provider.html b/libcontextprovider/doc/html/_context_provider.html
new file mode 100644
index 00000000..6e5db918
--- /dev/null
+++ b/libcontextprovider/doc/html/_context_provider.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider File Reference</h1><code>#include &quot;context/service.h&quot;</code><br>
+<code>#include &quot;context/property.h&quot;</code><br>
+<code>#include &quot;context/group.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/annotated.html b/libcontextprovider/doc/html/annotated.html
new file mode 100644
index 00000000..65e03e89
--- /dev/null
+++ b/libcontextprovider/doc/html/annotated.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="class_context_feature.html">ContextFeature</a></td><td class="indexvalue">This class represents a "feature" in the logging framework/system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td class="indexvalue">A real logging class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td><td class="indexvalue">A fake logging class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td class="indexvalue">Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects together </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_group_listener.html">ContextProvider::GroupListener</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td class="indexvalue"><a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> implements the org.freedesktop.ContextKit.Manager DBus interface. (With the help of <a class="el" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a>.) It creates and manages the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects. There is one <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> object per each service </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a></td><td class="indexvalue">A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface. The primary operation to perform through this adaptor is to get the subscriber </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td class="indexvalue">A <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object represents a context property, i.e., a key-value pair </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td class="indexvalue">A class that can invoke its own methods in a delayed way </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td class="indexvalue">A <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is a proxy representing a service on D-Bus that implements the ContextKit interface. The lifespan of the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is not tied to the real service lifespan. This way a service can be accessed and controlled from different parts of the code </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td class="indexvalue">A <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> is the real worker behind <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td class="indexvalue"><a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> implements the org.freedesktop.ContextKit.Subscriber DBus interface with help of the SubsciberAdaptor </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a></td><td class="indexvalue">A DBus adaptor for implementing the org.freedesktop.ContextKit.Subscriber interface. Using the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> the remote client can subscribe and unsubscribe from keys </td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/capi.html b/libcontextprovider/doc/html/capi.html
new file mode 100644
index 00000000..53b43b0e
--- /dev/null
+++ b/libcontextprovider/doc/html/capi.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: C Api</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1><a class="anchor" name="CApi">C Api </a></h1>The libcontextprovider library offers a simple plain-C API to be used from any C program.<h2><a class="anchor" name="Usage">
+Usage</a></h2>
+<div class="fragment"><pre class="fragment"> <a class="code" href="contextc_8cpp.html#33b9763ab39ce494e115bffcab36360f" title="Initializes and starts the service with a given bus_type and a bus_name.">context_provider_init</a>(DBUS_BUS_SESSION, <span class="stringliteral">"org.test.provider"</span>);
+
+ <a class="code" href="contextc_8cpp.html#a6873ed47e24aaa57d4a327afaf24899" title="Installs (adds) a key to be provided by the service.">context_provider_install_key</a>(<span class="stringliteral">"Battery.OnBattery"</span>, 0, NULL, NULL);
+ <a class="code" href="contextc_8cpp.html#a6873ed47e24aaa57d4a327afaf24899" title="Installs (adds) a key to be provided by the service.">context_provider_install_key</a>(<span class="stringliteral">"Battery.ChargePercentage"</span>, 0, NULL, NULL);
+
+ <a class="code" href="contextc_8cpp.html#0671fc551fe7ef0a5b51d0f9e3ffad96" title="Sets the key to a specified boolean value.">context_provider_set_boolean</a>(<span class="stringliteral">"Battery.OnBattery"</span>, 1);
+ <a class="code" href="contextc_8cpp.html#ac6f0ad56b4d250a2acb9b1af64eaa84" title="Sets the key to a specified integer value.">context_provider_set_integer</a>(<span class="stringliteral">"Battery.ChargePercentage"</span>, 55);
+</pre></div><p>
+The above code snippet starts a service at "org.test.provider" with two keys ("Battery.OnBattery", "Battery.ChargePercentage") and sets their respective values.<p>
+Note: If the provider used other D-Bus bindings than QDBus, the service name ("org.test.provider") needs to be unique, i.e., the provider process should not register it itself.<h2><a class="anchor" name="Callbacks">
+Callbacks</a></h2>
+The context_provider_install_key function and context_provider_install_group function take arguments specyfying the callback function. The callback is executed when the subscription status changes for the key or the key group (first subscriber appears or last subscriber goes away). Basing on this info the provider can manage it's resources. It's okay also to use the callback function to actually set the value.<p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> callback_function_example(<span class="keywordtype">int</span> subscribed, <span class="keywordtype">void</span>* user_data)
+ {
+ <span class="keywordflow">if</span> (subscribed) {
+ <span class="comment">// First subscriber appeared.</span>
+ <span class="comment">// Start ie. pooling the data.</span>
+ } <span class="keywordflow">else</span> {
+ <span class="comment">// Last subscribed disappeared.</span>
+ <span class="comment">// Stop pooling data, release resources.</span>
+ }
+ }
+</pre></div> </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_feature-members.html b/libcontextprovider/doc/html/class_context_feature-members.html
new file mode 100644
index 00000000..b4661ebc
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_feature-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextFeature Member List</h1>This is the complete list of members for <a class="el" href="class_context_feature.html">ContextFeature</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>(QString name)</td><td><a class="el" href="class_context_feature.html">ContextFeature</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">getName</a>() const </td><td><a class="el" href="class_context_feature.html">ContextFeature</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_feature.html b/libcontextprovider/doc/html/class_context_feature.html
new file mode 100644
index 00000000..b42d47bf
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_feature.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextFeature Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextFeature Class Reference</h1><!-- doxytag: class="ContextFeature" -->This class represents a "feature" in the logging framework/system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="logging_8h-source.html">logging.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_feature-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a> (QString name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for a new feature.<em>name</em> is the feature name. <a href="#f1dc3766a0b0e21ba0a2f22a3102d09b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">getName</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the feature. <a href="#7c0d22d25f95a49373b195d8c55d1dc7"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class represents a "feature" in the logging framework/system.
+<p>
+A feature can be ie. "multithreading", "introspection", "dbus" or anything that makes sense in your setup. Using features you can later get more filtered debug output. You most likely want to use this class like this:<p>
+<div class="fragment"><pre class="fragment"> ...
+ <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b" title="Constructor for a new feature.name is the feature name.">ContextFeature</a>(<span class="stringliteral">"introspection"</span>) &lt;&lt; <span class="stringliteral">"Message"</span>;
+ ...
+</pre></div><p>
+One message can belong to many features or to none. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="f1dc3766a0b0e21ba0a2f22a3102d09b"></a><!-- doxytag: member="ContextFeature::ContextFeature" ref="f1dc3766a0b0e21ba0a2f22a3102d09b" args="(QString name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextFeature::ContextFeature </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>name</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor for a new feature.<em>name</em> is the feature name.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7c0d22d25f95a49373b195d8c55d1dc7"></a><!-- doxytag: member="ContextFeature::getName" ref="7c0d22d25f95a49373b195d8c55d1dc7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextFeature::getName </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the name of the feature.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="logging_8h-source.html">logging.h</a><li><a class="el" href="logging_8cpp.html">logging.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_group-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_group-members.html
new file mode 100644
index 00000000..39424237
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Group Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#a4996d5fbeb27344439a2485f0de87e4">add</a>(const Property &amp;prop)</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#b0c2fe89e51597d807597ef5b17b8d84">firstSubscriberAppeared</a>()</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#63bd74cceebb98ef6372b1040b971479">getProperties</a>()</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#dfdc508e85a6526c7e5201934b5ca9c5">Group</a>(QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#f6ebd9e89ea1f543d33867fad44ba15e">isSubscribedTo</a>() const </td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#494ce3334c4665e89ca651bd34fc7acb">lastSubscriberDisappeared</a>()</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#076cdbd5346aecee1b944451e5d6a5b8">operator&lt;&lt;</a>(const Property &amp;prop)</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#28743608278b85f0dc0170d2c5774e3e">operator&lt;&lt;</a>(const Property *prop)</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#66b1bd39a6d13e7623ea1213574a25f8">~Group</a>()</td><td><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_group.html b/libcontextprovider/doc/html/class_context_provider_1_1_group.html
new file mode 100644
index 00000000..973ed38a
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::Group Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_group.html">Group</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Group Class Reference</h1><!-- doxytag: class="ContextProvider::Group" -->Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects together.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="group_8h-source.html">ContextProvider</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_group-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#b0c2fe89e51597d807597ef5b17b8d84">firstSubscriberAppeared</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the group of Context objects is subscribed to. <a href="#b0c2fe89e51597d807597ef5b17b8d84"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#494ce3334c4665e89ca651bd34fc7acb">lastSubscriberDisappeared</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the group of Context objects is unsubscribed from. <a href="#494ce3334c4665e89ca651bd34fc7acb"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#dfdc508e85a6526c7e5201934b5ca9c5">Group</a> (QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contructs an empty <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> object with the given parent. <a href="#dfdc508e85a6526c7e5201934b5ca9c5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#66b1bd39a6d13e7623ea1213574a25f8">~Group</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#66b1bd39a6d13e7623ea1213574a25f8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#a4996d5fbeb27344439a2485f0de87e4">add</a> (const <a class="el" href="class_context_provider_1_1_property.html">Property</a> &amp;prop)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object to the <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a>. <a href="#a4996d5fbeb27344439a2485f0de87e4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#f6ebd9e89ea1f543d33867fad44ba15e">isSubscribedTo</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true iff any <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects in the group are subscribed to. <a href="#f6ebd9e89ea1f543d33867fad44ba15e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QSet&lt; const <a class="el" href="class_context_provider_1_1_property.html">Property</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#63bd74cceebb98ef6372b1040b971479">getProperties</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the set of properties currently belonging to the <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a>. <a href="#63bd74cceebb98ef6372b1040b971479"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_provider_1_1_group.html">Group</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#076cdbd5346aecee1b944451e5d6a5b8">operator&lt;&lt;</a> (const <a class="el" href="class_context_provider_1_1_property.html">Property</a> &amp;prop)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_provider_1_1_group.html">Group</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#28743608278b85f0dc0170d2c5774e3e">operator&lt;&lt;</a> (const <a class="el" href="class_context_provider_1_1_property.html">Property</a> *prop)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects together.
+<p>
+<a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> is useful in cases when multiple properties are provided by the same source, such as a hardware sensor. When any of these properties is subscribed to, the source needs to be turned on, and when none of these properties are subscribed to, the source needs to be turned off.<p>
+For example, <div class="fragment"><pre class="fragment"> Property location(<span class="stringliteral">"Location"</span>);
+ Property altitude(<span class="stringliteral">"Altitude"</span>);
+
+ <a class="code" href="class_context_provider_1_1_group.html#dfdc508e85a6526c7e5201934b5ca9c5" title="Contructs an empty Group object with the given parent.">Group</a> gps;
+ gps &lt;&lt; location &lt;&lt; altitude;
+
+ connect(gps, SIGNAL(<a class="code" href="class_context_provider_1_1_group.html#b0c2fe89e51597d807597ef5b17b8d84" title="Emitted when the group of Context objects is subscribed to.">firstSubscriberAppeared</a>()), <span class="keyword">this</span>, SLOT(turnGpsOn()));
+ connect(gps, SIGNAL(<a class="code" href="class_context_provider_1_1_group.html#494ce3334c4665e89ca651bd34fc7acb" title="Emitted when the group of Context objects is unsubscribed from.">lastSubscriberDisappeared</a>()), <span class="keyword">this</span>, SLOT(onGpsOff()));
+</pre></div><p>
+This way, the provider doesn't need to store the subscription statuses of the related keys.<p>
+Initially, none of the <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects related to a <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> are subscribed to. When some of them are subscribed to, <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> emits the firstSubscriberAppeared signal. When all of them are again unsubscribed, <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> emits the lastSubscriberDisappeared signal. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="dfdc508e85a6526c7e5201934b5ca9c5"></a><!-- doxytag: member="ContextProvider::Group::Group" ref="dfdc508e85a6526c7e5201934b5ca9c5" args="(QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Group::Group </td>
+ <td>(</td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Contructs an empty <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> object with the given parent.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="66b1bd39a6d13e7623ea1213574a25f8"></a><!-- doxytag: member="ContextProvider::Group::~Group" ref="66b1bd39a6d13e7623ea1213574a25f8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Group::~Group </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a4996d5fbeb27344439a2485f0de87e4"></a><!-- doxytag: member="ContextProvider::Group::add" ref="a4996d5fbeb27344439a2485f0de87e4" args="(const Property &amp;prop)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Group::add </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_provider_1_1_property.html">Property</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>property</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Adds a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object to the <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a>.
+<p>
+The <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object needs to exist as long as the <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> object is in use.
+</div>
+</div><p>
+<a class="anchor" name="b0c2fe89e51597d807597ef5b17b8d84"></a><!-- doxytag: member="ContextProvider::Group::firstSubscriberAppeared" ref="b0c2fe89e51597d807597ef5b17b8d84" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Group::firstSubscriberAppeared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the group of Context objects is subscribed to.
+<p>
+I.e., when none of them were subscribed to and now some of them were subscribed to.
+</div>
+</div><p>
+<a class="anchor" name="63bd74cceebb98ef6372b1040b971479"></a><!-- doxytag: member="ContextProvider::Group::getProperties" ref="63bd74cceebb98ef6372b1040b971479" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt; const <a class="el" href="class_context_provider_1_1_property.html">Property</a> * &gt; ContextProvider::Group::getProperties </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the set of properties currently belonging to the <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f6ebd9e89ea1f543d33867fad44ba15e"></a><!-- doxytag: member="ContextProvider::Group::isSubscribedTo" ref="f6ebd9e89ea1f543d33867fad44ba15e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::Group::isSubscribedTo </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true iff any <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects in the group are subscribed to.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="494ce3334c4665e89ca651bd34fc7acb"></a><!-- doxytag: member="ContextProvider::Group::lastSubscriberDisappeared" ref="494ce3334c4665e89ca651bd34fc7acb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Group::lastSubscriberDisappeared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the group of Context objects is unsubscribed from.
+<p>
+I.e., when some of them were subscribed to and now all of them were unsubscribed from.
+</div>
+</div><p>
+<a class="anchor" name="28743608278b85f0dc0170d2c5774e3e"></a><!-- doxytag: member="ContextProvider::Group::operator&lt;&lt;" ref="28743608278b85f0dc0170d2c5774e3e" args="(const Property *prop)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_group.html">Group</a>&amp; ContextProvider::Group::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_provider_1_1_property.html">Property</a> *&nbsp;</td>
+ <td class="paramname"> <em>prop</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="076cdbd5346aecee1b944451e5d6a5b8"></a><!-- doxytag: member="ContextProvider::Group::operator&lt;&lt;" ref="076cdbd5346aecee1b944451e5d6a5b8" args="(const Property &amp;prop)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_group.html">Group</a>&amp; ContextProvider::Group::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_provider_1_1_property.html">Property</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>prop</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="group_8h-source.html">group.h</a><li><a class="el" href="group_8cpp.html">group.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_group_listener-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_group_listener-members.html
new file mode 100644
index 00000000..373760be
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group_listener-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::GroupListener Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_group_listener.html">ContextProvider::GroupListener</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group_listener.html#7ca28f3f65eac2882bfe6eac4b2468b1">clear</a>()</td><td><a class="el" href="class_context_provider_1_1_group_listener.html">ContextProvider::GroupListener</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group_listener.html#00a56babe6eaec539b1df50861e00180">GroupListener</a>(Service &amp;service, const QStringList &amp;keys, bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)</td><td><a class="el" href="class_context_provider_1_1_group_listener.html">ContextProvider::GroupListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">Listener</a>(bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)</td><td><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_group_listener.html b/libcontextprovider/doc/html/class_context_provider_1_1_group_listener.html
new file mode 100644
index 00000000..3ea48e7c
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group_listener.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::GroupListener Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_group_listener.html">GroupListener</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::GroupListener Class Reference</h1><!-- doxytag: class="ContextProvider::GroupListener" --><!-- doxytag: inherits="ContextProvider::Listener" --><code>#include &lt;<a class="el" href="listeners_8h-source.html">listeners.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_group_listener-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group_listener.html#00a56babe6eaec539b1df50861e00180">GroupListener</a> (<a class="el" href="class_context_provider_1_1_service.html">Service</a> &amp;service, const QStringList &amp;keys, bool clears, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, void *dt)</td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group_listener.html#7ca28f3f65eac2882bfe6eac4b2468b1">clear</a> ()</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="00a56babe6eaec539b1df50861e00180"></a><!-- doxytag: member="ContextProvider::GroupListener::GroupListener" ref="00a56babe6eaec539b1df50861e00180" args="(Service &amp;service, const QStringList &amp;keys, bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::GroupListener::GroupListener </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_service.html">Service</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>service</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>keys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>clears</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>dt</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7ca28f3f65eac2882bfe6eac4b2468b1"></a><!-- doxytag: member="ContextProvider::GroupListener::clear" ref="7ca28f3f65eac2882bfe6eac4b2468b1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::GroupListener::clear </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Implements <a class="el" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="listeners_8h-source.html">listeners.h</a><li><a class="el" href="listeners_8cpp.html">listeners.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_listener-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_listener-members.html
new file mode 100644
index 00000000..08f8185f
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_listener-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Listener Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">clear</a>()=0</td><td><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a></td><td><code> [protected, pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">Listener</a>(bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)</td><td><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_listener.html b/libcontextprovider/doc/html/class_context_provider_1_1_listener.html
new file mode 100644
index 00000000..b1fbcf62
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_listener.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::Listener Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_listener.html">Listener</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Listener Class Reference</h1><!-- doxytag: class="ContextProvider::Listener" --><code>#include &lt;<a class="el" href="listeners_8h-source.html">listeners.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_listener-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">Listener</a> (bool clears, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, void *dt)</td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">clear</a> ()=0</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="368c85228815acdd0e6964f0da75e152"></a><!-- doxytag: member="ContextProvider::Listener::Listener" ref="368c85228815acdd0e6964f0da75e152" args="(bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Listener::Listener </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>clears</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>dt</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d60c66c519e5941a71b0becc0d3abf5c"></a><!-- doxytag: member="ContextProvider::Listener::clear" ref="d60c66c519e5941a71b0becc0d3abf5c" args="()=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void ContextProvider::Listener::clear </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected, pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Implemented in <a class="el" href="class_context_provider_1_1_property_listener.html#fd2fac0dfe47e45fb7a80b51f5565eef">ContextProvider::PropertyListener</a>, and <a class="el" href="class_context_provider_1_1_group_listener.html#7ca28f3f65eac2882bfe6eac4b2468b1">ContextProvider::GroupListener</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="listeners_8h-source.html">listeners.h</a><li><a class="el" href="listeners_8cpp.html">listeners.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_manager-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_manager-members.html
new file mode 100644
index 00000000..1a30ab13
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_manager-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Manager Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#c4b4c739c7429a94a3294af47ee0fbf7">addKey</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#c8535b2e47e2b67546dc3e2f28e6e665">busNameIsGone</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#f2d5d29f10a473bb71c5cf1a9dc53708">decreaseSubscriptionCount</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#f63b1764b3ca90140dddc0e041a2c0c5">firstSubscriberAppeared</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#36d1aa023f27e2d5852a5e48b1974806">getKeys</a>()</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#e28730fbd946143d5f257f8647200c96">getKeyValue</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3">getSubscriber</a>(const QString &amp;busName)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#6a2a5d39c7ba6a770645f91dfea7011a">getSubscriptionCount</a>(const QString &amp;key) const </td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#862864581c8c8fabb871211ec50735b4">hasSubscriberWithBusName</a>(const QString &amp;name) const </td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#87b54dba08c59479a11b3c7c223bda9b">increaseSubscriptionCount</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#1a06f69bb5e25b957b8d2163d1596678">keyIsValid</a>(const QString &amp;key) const </td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#34c580dc9b1a105d083fa44d06fff1ee">keyValueChanged</a>(const QString &amp;key, const QVariant &amp;newValue)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#53f6700553dfe9958cae15a2c7f12142">lastSubscriberDisappeared</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#690f98398be0562a475c7c3191dab82f">Manager</a>()</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#06c2c0a4b9f837377d19d891375a5fab">setKeyValue</a>(const QString &amp;key, const QVariant &amp;v)</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager.html#28223781c8fa135b05993ce31b2b26cb">~Manager</a>()</td><td><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_manager.html b/libcontextprovider/doc/html/class_context_provider_1_1_manager.html
new file mode 100644
index 00000000..bf4bcf80
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_manager.html
@@ -0,0 +1,467 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::Manager Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_manager.html">Manager</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Manager Class Reference</h1><!-- doxytag: class="ContextProvider::Manager" --><a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> implements the org.freedesktop.ContextKit.Manager DBus interface. (With the help of <a class="el" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a>.) It creates and manages the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects. There is one <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> object per each service.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="manager_8h-source.html">manager.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_manager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#f63b1764b3ca90140dddc0e041a2c0c5">firstSubscriberAppeared</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the first subscriber appears for the specified <em>key</em>. <a href="#f63b1764b3ca90140dddc0e041a2c0c5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#53f6700553dfe9958cae15a2c7f12142">lastSubscriberDisappeared</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the last subscriber disappears from the specified <em>key</em>. <a href="#53f6700553dfe9958cae15a2c7f12142"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#34c580dc9b1a105d083fa44d06fff1ee">keyValueChanged</a> (const QString &amp;key, const QVariant &amp;newValue)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when a <em>key</em> managed by the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> changes to value <em>newValue</em>. <a href="#34c580dc9b1a105d083fa44d06fff1ee"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#690f98398be0562a475c7c3191dab82f">Manager</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#28223781c8fa135b05993ce31b2b26cb">~Manager</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. <a href="#28223781c8fa135b05993ce31b2b26cb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3">getSubscriber</a> (const QString &amp;busName)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gives the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object to a client with a given <em>busName</em>. <a href="#2c020866b5871894a5f2149dea6252a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#1a06f69bb5e25b957b8d2163d1596678">keyIsValid</a> (const QString &amp;key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the given <em>key</em> is valid for this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. <a href="#1a06f69bb5e25b957b8d2163d1596678"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#87b54dba08c59479a11b3c7c223bda9b">increaseSubscriptionCount</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increases the subscription count for the given <em>key</em>. <a href="#87b54dba08c59479a11b3c7c223bda9b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#f2d5d29f10a473bb71c5cf1a9dc53708">decreaseSubscriptionCount</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decreases the subscription count for the given <em>key</em>. <a href="#f2d5d29f10a473bb71c5cf1a9dc53708"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#06c2c0a4b9f837377d19d891375a5fab">setKeyValue</a> (const QString &amp;key, const QVariant &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the given <em>key</em> to a new value <em>v</em>. <a href="#06c2c0a4b9f837377d19d891375a5fab"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#e28730fbd946143d5f257f8647200c96">getKeyValue</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current value of the <em>key</em>. <a href="#e28730fbd946143d5f257f8647200c96"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#6a2a5d39c7ba6a770645f91dfea7011a">getSubscriptionCount</a> (const QString &amp;key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current subscription count for the given <em>key</em>. <a href="#6a2a5d39c7ba6a770645f91dfea7011a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#c8535b2e47e2b67546dc3e2f28e6e665">busNameIsGone</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Informs the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> that the specified bus name is now gone. <a href="#c8535b2e47e2b67546dc3e2f28e6e665"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#862864581c8c8fabb871211ec50735b4">hasSubscriberWithBusName</a> (const QString &amp;name) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> has a <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object with the given <em>name</em>. <a href="#862864581c8c8fabb871211ec50735b4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#c4b4c739c7429a94a3294af47ee0fbf7">addKey</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a key to this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. <a href="#c4b4c739c7429a94a3294af47ee0fbf7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html#36d1aa023f27e2d5852a5e48b1974806">getKeys</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of keys handled by this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. <a href="#36d1aa023f27e2d5852a5e48b1974806"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> implements the org.freedesktop.ContextKit.Manager DBus interface. (With the help of <a class="el" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a>.) It creates and manages the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects. There is one <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> object per each service.
+<p>
+<a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> is responsible of allocating <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects to clients. It ensures that each client gets a unique <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object (even if it executes GetSubscriber multiple times). When a client terminates its DBus connection, the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> (through the help of the adapter) deletes the corresponding <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object.<p>
+Each service started gets it's own <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> object that manages the keys belonging to the service. The <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> is registered as the org.freedesktop.ContextKit.Manager on the bus belonging to the service. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="690f98398be0562a475c7c3191dab82f"></a><!-- doxytag: member="ContextProvider::Manager::Manager" ref="690f98398be0562a475c7c3191dab82f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Manager::Manager </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="28223781c8fa135b05993ce31b2b26cb"></a><!-- doxytag: member="ContextProvider::Manager::~Manager" ref="28223781c8fa135b05993ce31b2b26cb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Manager::~Manager </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>.
+<p>
+Also destroys all the belonging subscriber objects created through <a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3" title="Gives the Subscriber object to a client with a given busName.">getSubscriber()</a>.
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="c4b4c739c7429a94a3294af47ee0fbf7"></a><!-- doxytag: member="ContextProvider::Manager::addKey" ref="c4b4c739c7429a94a3294af47ee0fbf7" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::addKey </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a key to this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>.
+<p>
+Duplicate keys will be ignored with a warning.
+</div>
+</div><p>
+<a class="anchor" name="c8535b2e47e2b67546dc3e2f28e6e665"></a><!-- doxytag: member="ContextProvider::Manager::busNameIsGone" ref="c8535b2e47e2b67546dc3e2f28e6e665" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::busNameIsGone </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Informs the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> that the specified bus name is now gone.
+<p>
+The manager should remove all the subscribers created with this busname.
+</div>
+</div><p>
+<a class="anchor" name="f2d5d29f10a473bb71c5cf1a9dc53708"></a><!-- doxytag: member="ContextProvider::Manager::decreaseSubscriptionCount" ref="f2d5d29f10a473bb71c5cf1a9dc53708" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::decreaseSubscriptionCount </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Decreases the subscription count for the given <em>key</em>.
+<p>
+The <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> will emit a lastSubscriberDisappeared signal if this is the last subscription. This is called by the child <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects.
+</div>
+</div><p>
+<a class="anchor" name="f63b1764b3ca90140dddc0e041a2c0c5"></a><!-- doxytag: member="ContextProvider::Manager::firstSubscriberAppeared" ref="f63b1764b3ca90140dddc0e041a2c0c5" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::firstSubscriberAppeared </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the first subscriber appears for the specified <em>key</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="36d1aa023f27e2d5852a5e48b1974806"></a><!-- doxytag: member="ContextProvider::Manager::getKeys" ref="36d1aa023f27e2d5852a5e48b1974806" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextProvider::Manager::getKeys </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of keys handled by this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e28730fbd946143d5f257f8647200c96"></a><!-- doxytag: member="ContextProvider::Manager::getKeyValue" ref="e28730fbd946143d5f257f8647200c96" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextProvider::Manager::getKeyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the current value of the <em>key</em>.
+<p>
+The returned QVariant is invalid if the value is undetermined or they key is not valid for this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>.
+</div>
+</div><p>
+<a class="anchor" name="2c020866b5871894a5f2149dea6252a3"></a><!-- doxytag: member="ContextProvider::Manager::getSubscriber" ref="2c020866b5871894a5f2149dea6252a3" args="(const QString &amp;busName)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a> * ContextProvider::Manager::getSubscriber </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gives the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object to a client with a given <em>busName</em>.
+<p>
+If the client is new, creates a new <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object and gives it to the client. If the client has requested a <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> previously, returns the same object.
+</div>
+</div><p>
+<a class="anchor" name="6a2a5d39c7ba6a770645f91dfea7011a"></a><!-- doxytag: member="ContextProvider::Manager::getSubscriptionCount" ref="6a2a5d39c7ba6a770645f91dfea7011a" args="(const QString &amp;key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int ContextProvider::Manager::getSubscriptionCount </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the current subscription count for the given <em>key</em>.
+<p>
+Returns -1 if the key could not be found.
+</div>
+</div><p>
+<a class="anchor" name="862864581c8c8fabb871211ec50735b4"></a><!-- doxytag: member="ContextProvider::Manager::hasSubscriberWithBusName" ref="862864581c8c8fabb871211ec50735b4" args="(const QString &amp;name) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::Manager::hasSubscriberWithBusName </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> has a <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object with the given <em>name</em>.
+<p>
+The <em>name</em> is the bus name.
+</div>
+</div><p>
+<a class="anchor" name="87b54dba08c59479a11b3c7c223bda9b"></a><!-- doxytag: member="ContextProvider::Manager::increaseSubscriptionCount" ref="87b54dba08c59479a11b3c7c223bda9b" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::increaseSubscriptionCount </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Increases the subscription count for the given <em>key</em>.
+<p>
+The <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> will emit a firstSubscriberAppeared signal if this is the first subscription. This is called by the child <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects.
+</div>
+</div><p>
+<a class="anchor" name="1a06f69bb5e25b957b8d2163d1596678"></a><!-- doxytag: member="ContextProvider::Manager::keyIsValid" ref="1a06f69bb5e25b957b8d2163d1596678" args="(const QString &amp;key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::Manager::keyIsValid </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the given <em>key</em> is valid for this <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>.
+<p>
+In other words, returns true if the <em>key</em> is managed by this manager.
+</div>
+</div><p>
+<a class="anchor" name="34c580dc9b1a105d083fa44d06fff1ee"></a><!-- doxytag: member="ContextProvider::Manager::keyValueChanged" ref="34c580dc9b1a105d083fa44d06fff1ee" args="(const QString &amp;key, const QVariant &amp;newValue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::keyValueChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>newValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when a <em>key</em> managed by the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> changes to value <em>newValue</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="53f6700553dfe9958cae15a2c7f12142"></a><!-- doxytag: member="ContextProvider::Manager::lastSubscriberDisappeared" ref="53f6700553dfe9958cae15a2c7f12142" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::lastSubscriberDisappeared </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the last subscriber disappears from the specified <em>key</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="06c2c0a4b9f837377d19d891375a5fab"></a><!-- doxytag: member="ContextProvider::Manager::setKeyValue" ref="06c2c0a4b9f837377d19d891375a5fab" args="(const QString &amp;key, const QVariant &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Manager::setKeyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the given <em>key</em> to a new value <em>v</em>.
+<p>
+This triggers the emission of the <a class="el" href="class_context_provider_1_1_manager.html#34c580dc9b1a105d083fa44d06fff1ee" title="Emitted when a key managed by the Manager changes to value newValue.">Manager::keyValueChanged</a> signal.
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="manager_8h-source.html">manager.h</a><li><a class="el" href="manager_8cpp.html">manager.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor-members.html
new file mode 100644
index 00000000..932b7e47
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::ManagerAdaptor Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html#455687bceb79bf8ff24070f7c3ff730e">GetSubscriber</a>(const QDBusMessage &amp;msg)</td><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a></td><td><code> [slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html#26c9041f8312d71870c893ffaa090f70">ManagerAdaptor</a>(Manager *manager, QDBusConnection *connection)</td><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html#60676ba9f728f447093b5580346fede9">OnServiceOwnerChanged</a>(const QString &amp;, const QString &amp;, const QString &amp;)</td><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a></td><td><code> [slot]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor.html b/libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor.html
new file mode 100644
index 00000000..61ea6176
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_manager_adaptor.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::ManagerAdaptor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_manager_adaptor.html">ManagerAdaptor</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::ManagerAdaptor Class Reference</h1><!-- doxytag: class="ContextProvider::ManagerAdaptor" -->A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface. The primary operation to perform through this adaptor is to get the subscriber.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="manageradaptor_8h-source.html">manageradaptor.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_manager_adaptor-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusObjectPath&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager_adaptor.html#455687bceb79bf8ff24070f7c3ff730e">GetSubscriber</a> (const QDBusMessage &amp;msg)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Executes <a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3" title="Gives the Subscriber object to a client with a given busName.">Manager::getSubscriber</a> on the managed <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. <a href="#455687bceb79bf8ff24070f7c3ff730e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager_adaptor.html#60676ba9f728f447093b5580346fede9">OnServiceOwnerChanged</a> (const QString &amp;, const QString &amp;, const QString &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dbus interface slot. <a href="#60676ba9f728f447093b5580346fede9"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager_adaptor.html#26c9041f8312d71870c893ffaa090f70">ManagerAdaptor</a> (<a class="el" href="class_context_provider_1_1_manager.html">Manager</a> *manager, QDBusConnection *connection)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#26c9041f8312d71870c893ffaa090f70"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface. The primary operation to perform through this adaptor is to get the subscriber. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="26c9041f8312d71870c893ffaa090f70"></a><!-- doxytag: member="ContextProvider::ManagerAdaptor::ManagerAdaptor" ref="26c9041f8312d71870c893ffaa090f70" args="(Manager *manager, QDBusConnection *connection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::ManagerAdaptor::ManagerAdaptor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a> *&nbsp;</td>
+ <td class="paramname"> <em>manager</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QDBusConnection *&nbsp;</td>
+ <td class="paramname"> <em>conn</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor.
+<p>
+Creates new adaptor for the given manager with the given dbus connection. The connection <em>conn</em> is not retained.
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="455687bceb79bf8ff24070f7c3ff730e"></a><!-- doxytag: member="ContextProvider::ManagerAdaptor::GetSubscriber" ref="455687bceb79bf8ff24070f7c3ff730e" args="(const QDBusMessage &amp;msg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusObjectPath ContextProvider::ManagerAdaptor::GetSubscriber </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusMessage &amp;&nbsp;</td>
+ <td class="paramname"> <em>msg</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Executes <a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3" title="Gives the Subscriber object to a client with a given busName.">Manager::getSubscriber</a> on the managed <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="60676ba9f728f447093b5580346fede9"></a><!-- doxytag: member="ContextProvider::ManagerAdaptor::OnServiceOwnerChanged" ref="60676ba9f728f447093b5580346fede9" args="(const QString &amp;, const QString &amp;, const QString &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ManagerAdaptor::OnServiceOwnerChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>oldName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>newName</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Dbus interface slot.
+<p>
+The <a class="el" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a> listens for dbus bus names changing to notify the managed <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> that a bus name is gone. It does it through <a class="el" href="class_context_provider_1_1_manager.html#c8535b2e47e2b67546dc3e2f28e6e665" title="Informs the Manager that the specified bus name is now gone.">Manager::busNameIsGone</a> function.
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="manageradaptor_8h-source.html">manageradaptor.h</a><li><a class="el" href="manageradaptor_8cpp.html">manageradaptor.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_property-members.html
new file mode 100644
index 00000000..9034f8bb
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property-members.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Property Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#edb511bfc215c2933193d5685c574943">firstSubscriberAppeared</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#cd83fed5c066aa375148738744e5b3e3">isSet</a>() const </td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#b88d712808775617a9839523c537afcb">key</a>() const </td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#586f7dff49a3c4536acc289c314586ee">lastSubscriberDisappeared</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#8b66e2cb81aca7f0162a51bb0e9c93f5">Property</a>(Service &amp;service, const QString &amp;key, QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#62299c267b73e990a03faf3113445f9e">Property</a>(const QString &amp;key, QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#44c5ff15b11d53d2a44bc77cacb41314">setValue</a>(const QVariant &amp;v)</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#a65dc7374559b7a7d86034b8c9ef9807">unsetValue</a>()</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#f05d9adb2b2ee2a5d66e6a9875ccd167">value</a>()</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#3c5fbb4b6f0ce1f779c2bfa6190ed8d2">~Property</a>()</td><td><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property.html b/libcontextprovider/doc/html/class_context_provider_1_1_property.html
new file mode 100644
index 00000000..e50e0ff6
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::Property Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_property.html">Property</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Property Class Reference</h1><!-- doxytag: class="ContextProvider::Property" -->A <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object represents a context property, i.e., a key-value pair.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="property_8h-source.html">ContextProvider</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_property-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#edb511bfc215c2933193d5685c574943">firstSubscriberAppeared</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is emitted when the first subscriber appears for this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>. <a href="#edb511bfc215c2933193d5685c574943"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#586f7dff49a3c4536acc289c314586ee">lastSubscriberDisappeared</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is emitted when the last subscriber disappears for this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>. <a href="#586f7dff49a3c4536acc289c314586ee"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#8b66e2cb81aca7f0162a51bb0e9c93f5">Property</a> (<a class="el" href="class_context_provider_1_1_service.html">Service</a> &amp;service, const QString &amp;key, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object on <em>service</em> for the key <em>k</em>. <a href="#8b66e2cb81aca7f0162a51bb0e9c93f5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#62299c267b73e990a03faf3113445f9e">Property</a> (const QString &amp;key, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object on the default service for the key <em>k</em>. <a href="#62299c267b73e990a03faf3113445f9e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#3c5fbb4b6f0ce1f779c2bfa6190ed8d2">~Property</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#3c5fbb4b6f0ce1f779c2bfa6190ed8d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#b88d712808775617a9839523c537afcb">key</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the key this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> represents. <a href="#b88d712808775617a9839523c537afcb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#cd83fed5c066aa375148738744e5b3e3">isSet</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the key is set (it's value is determined). <a href="#cd83fed5c066aa375148738744e5b3e3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#44c5ff15b11d53d2a44bc77cacb41314">setValue</a> (const QVariant &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the property value to QVariant <em>v</em>. <a href="#44c5ff15b11d53d2a44bc77cacb41314"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#f05d9adb2b2ee2a5d66e6a9875ccd167">value</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current value of the property. <a href="#f05d9adb2b2ee2a5d66e6a9875ccd167"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#a65dc7374559b7a7d86034b8c9ef9807">unsetValue</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsets the value. <a href="#a65dc7374559b7a7d86034b8c9ef9807"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object represents a context property, i.e., a key-value pair.
+<p>
+Each <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object is associated with a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object at construction time. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="8b66e2cb81aca7f0162a51bb0e9c93f5"></a><!-- doxytag: member="ContextProvider::Property::Property" ref="8b66e2cb81aca7f0162a51bb0e9c93f5" args="(Service &amp;service, const QString &amp;key, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Property::Property </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_service.html">Service</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>service</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object on <em>service</em> for the key <em>k</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="62299c267b73e990a03faf3113445f9e"></a><!-- doxytag: member="ContextProvider::Property::Property" ref="62299c267b73e990a03faf3113445f9e" args="(const QString &amp;key, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Property::Property </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>k</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object on the default service for the key <em>k</em>.
+<p>
+The default service can be set with <a class="el" href="class_context_provider_1_1_service.html#385b58aef7878b6e33a3989d139f9a4a" title="Sets the Service object as the default one to use when constructing Property objects...">Service::setAsDefault()</a>.
+</div>
+</div><p>
+<a class="anchor" name="3c5fbb4b6f0ce1f779c2bfa6190ed8d2"></a><!-- doxytag: member="ContextProvider::Property::~Property" ref="3c5fbb4b6f0ce1f779c2bfa6190ed8d2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Property::~Property </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="edb511bfc215c2933193d5685c574943"></a><!-- doxytag: member="ContextProvider::Property::firstSubscriberAppeared" ref="edb511bfc215c2933193d5685c574943" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Property::firstSubscriberAppeared </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is emitted when the first subscriber appears for this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>.
+<p>
+It can be used e.g. to start the actual process of harvesting the data needed for this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>.
+</div>
+</div><p>
+<a class="anchor" name="cd83fed5c066aa375148738744e5b3e3"></a><!-- doxytag: member="ContextProvider::Property::isSet" ref="cd83fed5c066aa375148738744e5b3e3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::Property::isSet </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the key is set (it's value is determined).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b88d712808775617a9839523c537afcb"></a><!-- doxytag: member="ContextProvider::Property::key" ref="b88d712808775617a9839523c537afcb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextProvider::Property::key </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the name of the key this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> represents.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="586f7dff49a3c4536acc289c314586ee"></a><!-- doxytag: member="ContextProvider::Property::lastSubscriberDisappeared" ref="586f7dff49a3c4536acc289c314586ee" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Property::lastSubscriberDisappeared </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is emitted when the last subscriber disappears for this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>.
+<p>
+It can be used e.g. to stop the process of harvesting the data needed for this <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> (and save resources).
+</div>
+</div><p>
+<a class="anchor" name="44c5ff15b11d53d2a44bc77cacb41314"></a><!-- doxytag: member="ContextProvider::Property::setValue" ref="44c5ff15b11d53d2a44bc77cacb41314" args="(const QVariant &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Property::setValue </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the property value to QVariant <em>v</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a65dc7374559b7a7d86034b8c9ef9807"></a><!-- doxytag: member="ContextProvider::Property::unsetValue" ref="a65dc7374559b7a7d86034b8c9ef9807" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Property::unsetValue </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Unsets the value.
+<p>
+This is equivalent to setting it to a null QVariant.
+</div>
+</div><p>
+<a class="anchor" name="f05d9adb2b2ee2a5d66e6a9875ccd167"></a><!-- doxytag: member="ContextProvider::Property::value" ref="f05d9adb2b2ee2a5d66e6a9875ccd167" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextProvider::Property::value </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the current value of the property.
+<p>
+The returned QVariant is invalid if the key value is undetermined or the <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> is invalid.
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="property_8h-source.html">property.h</a><li><a class="el" href="property_8cpp.html">property.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property_listener-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_property_listener-members.html
new file mode 100644
index 00000000..9871a382
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_listener-members.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::PropertyListener Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_listener.html#fd2fac0dfe47e45fb7a80b51f5565eef">clear</a>()</td><td><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">Listener</a>(bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)</td><td><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">prop</a></td><td><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_listener.html#aca36ab1765f01f5ed6678a7b0ca3605">PropertyListener</a>(Service &amp;service, const QString &amp;key, bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)</td><td><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property_listener.html b/libcontextprovider/doc/html/class_context_provider_1_1_property_listener.html
new file mode 100644
index 00000000..3bed8817
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_listener.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::PropertyListener Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_property_listener.html">PropertyListener</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::PropertyListener Class Reference</h1><!-- doxytag: class="ContextProvider::PropertyListener" --><!-- doxytag: inherits="ContextProvider::Listener" --><code>#include &lt;<a class="el" href="listeners_8h-source.html">listeners.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_property_listener-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_listener.html#aca36ab1765f01f5ed6678a7b0ca3605">PropertyListener</a> (<a class="el" href="class_context_provider_1_1_service.html">Service</a> &amp;service, const QString &amp;key, bool clears, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, void *dt)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_provider_1_1_property.html">Property</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">prop</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_listener.html#fd2fac0dfe47e45fb7a80b51f5565eef">clear</a> ()</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="aca36ab1765f01f5ed6678a7b0ca3605"></a><!-- doxytag: member="ContextProvider::PropertyListener::PropertyListener" ref="aca36ab1765f01f5ed6678a7b0ca3605" args="(Service &amp;service, const QString &amp;key, bool clears, ContextProviderSubscriptionChangedCallback cb, void *dt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::PropertyListener::PropertyListener </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_service.html">Service</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>service</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>clears</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>dt</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="fd2fac0dfe47e45fb7a80b51f5565eef"></a><!-- doxytag: member="ContextProvider::PropertyListener::clear" ref="fd2fac0dfe47e45fb7a80b51f5565eef" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyListener::clear </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Implements <a class="el" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="7deeeaa5a67e484dab059ed834315499"></a><!-- doxytag: member="ContextProvider::PropertyListener::prop" ref="7deeeaa5a67e484dab059ed834315499" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_property.html">Property</a> <a class="el" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">ContextProvider::PropertyListener::prop</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="listeners_8h-source.html">listeners.h</a><li><a class="el" href="listeners_8cpp.html">listeners.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker-members.html
new file mode 100644
index 00000000..0a871ef7
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::QueuedInvoker Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_queued_invoker.html#bf3792e97a37ae6b620cc03cad3fd6c3">queuedCall</a>(const char *method)</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_queued_invoker.html#ff9aa4633138af31f3009ebf7b99f5b8">QueuedInvoker</a>(QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881">queueOnce</a>(const char *method)</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td><code> [protected]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker.html b/libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker.html
new file mode 100644
index 00000000..0ce1f642
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_queued_invoker.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::QueuedInvoker Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_queued_invoker.html">QueuedInvoker</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::QueuedInvoker Class Reference</h1><!-- doxytag: class="ContextProvider::QueuedInvoker" -->A class that can invoke its own methods in a delayed way.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_queued_invoker-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_queued_invoker.html#bf3792e97a37ae6b620cc03cad3fd6c3">queuedCall</a> (const char *method)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_queued_invoker.html#ff9aa4633138af31f3009ebf7b99f5b8">QueuedInvoker</a> (QObject *parent=0)</td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881">queueOnce</a> (const char *method)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the method <em>method</em> to be invoked when the event loop of this object runs next time. <a href="#6b26e01ea4e92ca556e9d7ddedbe8881"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class that can invoke its own methods in a delayed way.
+<p>
+Via the method <a class="el" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881" title="Sets the method method to be invoked when the event loop of this object runs next...">QueuedInvoker::queueOnce</a>, the given method is set to be invoked when the event loop of the object is entered. Each method is queued at most once. <a class="el" href="class_context_provider_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a> sends a signal to itself, and when the signal is processed, the method is invoked.<p>
+<a class="el" href="class_context_provider_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a> is normally used by subclassing it. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="ff9aa4633138af31f3009ebf7b99f5b8"></a><!-- doxytag: member="ContextProvider::QueuedInvoker::QueuedInvoker" ref="ff9aa4633138af31f3009ebf7b99f5b8" args="(QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::QueuedInvoker::QueuedInvoker </td>
+ <td>(</td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="bf3792e97a37ae6b620cc03cad3fd6c3"></a><!-- doxytag: member="ContextProvider::QueuedInvoker::queuedCall" ref="bf3792e97a37ae6b620cc03cad3fd6c3" args="(const char *method)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::QueuedInvoker::queuedCall </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>method</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6b26e01ea4e92ca556e9d7ddedbe8881"></a><!-- doxytag: member="ContextProvider::QueuedInvoker::queueOnce" ref="6b26e01ea4e92ca556e9d7ddedbe8881" args="(const char *method)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::QueuedInvoker::queueOnce </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>method</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the method <em>method</em> to be invoked when the event loop of this object runs next time.
+<p>
+If the method was already in the queue, it won't be inserted again.
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a><li><a class="el" href="queuedinvoker_8cpp.html">queuedinvoker.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_service-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_service-members.html
new file mode 100644
index 00000000..fc0b5f74
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Service Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#c3553c08a0c7b57a4c15794caebf1936">::ServiceUnitTest</a> class</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">Property</a> class</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#471dbe35bbd9583f9404b15158f367dd">restart</a>()</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d">Service</a>(QDBusConnection connection, QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#2a7310e48f9592828aea6b3f5fda181e">Service</a>(QDBusConnection::BusType busType, const QString &amp;busName, QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#8013904e0bb41e4b8ff0b68d4214b853">Service</a>(QDBusConnection::BusType busType, const QString &amp;busName, bool autoStart, QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#385b58aef7878b6e33a3989d139f9a4a">setAsDefault</a>()</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#d6bf1d2d8f8c580d4d77e9c4e72fd226">setConnection</a>(const QDBusConnection &amp;connection)</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#ee524632842792e9ad80b122eb8600a1">setValue</a>(const QString &amp;key, const QVariant &amp;val)</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#6434d467cd84a6295bd24572671b5479">start</a>()</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#25cc85c61a07afe679266fc287da0677">stop</a>()</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#365b50365fd98d8ee7a1b7dd10dd84d2">~Service</a>()</td><td><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_service.html b/libcontextprovider/doc/html/class_context_provider_1_1_service.html
new file mode 100644
index 00000000..7bb899b1
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service.html
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::Service Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_service.html">Service</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Service Class Reference</h1><!-- doxytag: class="ContextProvider::Service" -->A <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is a proxy representing a service on D-Bus that implements the ContextKit interface. The lifespan of the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is not tied to the real service lifespan. This way a service can be accessed and controlled from different parts of the code.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="service_8h-source.html">service.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_service-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d">Service</a> (QDBusConnection connection, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> proxy object which shares the <em>connection</em> with the provider program. <a href="#d9cac0378bb6bc25b65526576a609c6d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#2a7310e48f9592828aea6b3f5fda181e">Service</a> (QDBusConnection::BusType busType, const QString &amp;busName, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenient constructor, where autoStart is always true. <a href="#2a7310e48f9592828aea6b3f5fda181e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#8013904e0bb41e4b8ff0b68d4214b853">Service</a> (QDBusConnection::BusType busType, const QString &amp;busName, bool autoStart, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> proxy object for <em>busName</em> on the bus indicated by <em>busType</em>. <a href="#8013904e0bb41e4b8ff0b68d4214b853"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#365b50365fd98d8ee7a1b7dd10dd84d2">~Service</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys this <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> instance. <a href="#365b50365fd98d8ee7a1b7dd10dd84d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#6434d467cd84a6295bd24572671b5479">start</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> again after it has been stopped. <a href="#6434d467cd84a6295bd24572671b5479"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#25cc85c61a07afe679266fc287da0677">stop</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop the service. <a href="#25cc85c61a07afe679266fc287da0677"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#471dbe35bbd9583f9404b15158f367dd">restart</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop and start the service. <a href="#471dbe35bbd9583f9404b15158f367dd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#385b58aef7878b6e33a3989d139f9a4a">setAsDefault</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object as the default one to use when constructing <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects. <a href="#385b58aef7878b6e33a3989d139f9a4a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#ee524632842792e9ad80b122eb8600a1">setValue</a> (const QString &amp;key, const QVariant &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of <em>key</em> to <em>val</em>. <a href="#ee524632842792e9ad80b122eb8600a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#d6bf1d2d8f8c580d4d77e9c4e72fd226">setConnection</a> (const QDBusConnection &amp;connection)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set (override) the QDBusConnection used by the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>. <a href="#d6bf1d2d8f8c580d4d77e9c4e72fd226"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">Property</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#c3553c08a0c7b57a4c15794caebf1936">::ServiceUnitTest</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is a proxy representing a service on D-Bus that implements the ContextKit interface. The lifespan of the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is not tied to the real service lifespan. This way a service can be accessed and controlled from different parts of the code.
+<p>
+When you first create a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object with given bus type / bus name parameters the real D-Bus service instance is actually created and started. Future references to this bus type / bus name will give you a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> instance that points to the very same service as the first <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> initialization that started it. In other words, we can say that the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> class represents a proxy interface to the real D-Bus service.<p>
+When the last instance of <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> is destroyed, the real service is automatically terminated and destroyed (there is a simple ref counting mechanism involved to guarantee that).<p>
+Consider the following examples:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a> *s1 = <span class="keyword">new</span> <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection::SessionBus, <span class="stringliteral">"com.example.simple"</span>);
+ <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a> *s2 = <span class="keyword">new</span> <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection::SessionBus, <span class="stringliteral">"com.example.simple"</span>);
+ <span class="comment">// s1 and s2 represent the same service</span>
+
+ s2-&gt;stop();
+ <span class="comment">// Both s1 and s2 are now stopped</span>
+
+ s1-&gt;start();
+ <span class="comment">// Both s1 and s2 are now started</span>
+
+ <span class="keyword">delete</span> s1; <span class="comment">// s2 is still valid, service is present</span>
+ <span class="keyword">delete</span> s2; <span class="comment">// the "com.example.simple" just disappeared from D-Bus</span>
+</pre></div><p>
+Every <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object must be associated with a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object.<p>
+A <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> can be running or stopped. When it is running, it is visible via D-Bus and clients can subscribe to its properties.<p>
+It is undefined what happens when you add a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object to a running service. Likewise, it is undefined what happens when you add a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> to a <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> while the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> of that <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object is running.<p>
+Thus, it is best to create a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object, add all <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects to it immediately, create the <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> objects for them, and then enter the main loop.<p>
+Libcontextprovider can share the same QDBusConnection that is used in the provider program. In that case, the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> must be created by passing the QDBusConnection. The <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> will not register any service name on the connection. It is advisable to register the service name as late as possible, after initializing all Services and Properties and after registering other objects the provider declares on D-Bus.<p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> <a class="code" href="contextc_8cpp.html#d1447518f4372828b8435ae82e48499e">argc</a>, <span class="keywordtype">char</span>** <a class="code" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">argv</a>) {
+ QCoreApplication <a class="code" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">app</a>(argc, argv);
+ QDBusConnection systemBus = QDBusConnection::SystemBus();
+
+ <span class="comment">// D-Bus registrations can happen before or after initializing</span>
+ <span class="comment">// the Services and Properties</span>
+ connection.registerObject(...);
+
+ <span class="comment">// Now myService will share the connection and won't register</span>
+ <span class="comment">// any service name</span>
+ <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a> *myService = <span class="keyword">new</span> <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(systemBus);
+ <a class="code" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">Property</a>* <span class="keyword">property</span> = <span class="keyword">new</span> <a class="code" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">Property</a>(myService, <span class="stringliteral">"My.Property"</span>);
+
+ <span class="comment">// Important: registering the service name should be done as</span>
+ <span class="comment">// late as possible, to prevent clients from connecting to us</span>
+ <span class="comment">// before all objects have been registered.</span>
+ connection.registerService(<span class="stringliteral">"my.service.name"</span>);
+
+ <span class="keywordflow">return</span> <a class="code" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">app</a>.exec();
+ }
+</pre></div> <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="d9cac0378bb6bc25b65526576a609c6d"></a><!-- doxytag: member="ContextProvider::Service::Service" ref="d9cac0378bb6bc25b65526576a609c6d" args="(QDBusConnection connection, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Service::Service </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>connection</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> proxy object which shares the <em>connection</em> with the provider program.
+<p>
+The <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> will not register any service name on the conneciton. If the service is accessed for the first time it'll be created and set up. If the service with the given parameters already exists the created object represents a controller to a previously-created service. A new <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> will be started when it is constructed.
+</div>
+</div><p>
+<a class="anchor" name="2a7310e48f9592828aea6b3f5fda181e"></a><!-- doxytag: member="ContextProvider::Service::Service" ref="2a7310e48f9592828aea6b3f5fda181e" args="(QDBusConnection::BusType busType, const QString &amp;busName, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Service::Service </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection::BusType&nbsp;</td>
+ <td class="paramname"> <em>busType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A convenient constructor, where autoStart is always true.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="8013904e0bb41e4b8ff0b68d4214b853"></a><!-- doxytag: member="ContextProvider::Service::Service" ref="8013904e0bb41e4b8ff0b68d4214b853" args="(QDBusConnection::BusType busType, const QString &amp;busName, bool autoStart, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Service::Service </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection::BusType&nbsp;</td>
+ <td class="paramname"> <em>busType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>autoStart</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> proxy object for <em>busName</em> on the bus indicated by <em>busType</em>.
+<p>
+The <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> will register the given <em>busName</em> on D-Bus. If the service is accessed for the first time it'll be created and set up. If the service with the given parameters already exists the created object represents a controller to a previously-created service. A new <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> will be started when it is constructed if <em>autoStart</em> is true (which is the default).
+</div>
+</div><p>
+<a class="anchor" name="365b50365fd98d8ee7a1b7dd10dd84d2"></a><!-- doxytag: member="ContextProvider::Service::~Service" ref="365b50365fd98d8ee7a1b7dd10dd84d2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Service::~Service </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys this <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> instance.
+<p>
+The actual service on D-Bus is destroyed and stopped if this object is a last instance pointing at the actual service with the given constructor parameters (QDBusConnection or bus type and bus name).
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="471dbe35bbd9583f9404b15158f367dd"></a><!-- doxytag: member="ContextProvider::Service::restart" ref="471dbe35bbd9583f9404b15158f367dd" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Service::restart </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stop and start the service.
+<p>
+This function cannot be used when the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> shares a QDBusConnection with the provider program. When that is the case, you must stop the service, unregister the D-Bus bus name, register it again (to force clients of context properties to resubscribe), and finally start the service again.
+</div>
+</div><p>
+<a class="anchor" name="385b58aef7878b6e33a3989d139f9a4a"></a><!-- doxytag: member="ContextProvider::Service::setAsDefault" ref="385b58aef7878b6e33a3989d139f9a4a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Service::setAsDefault </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object as the default one to use when constructing <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d6bf1d2d8f8c580d4d77e9c4e72fd226"></a><!-- doxytag: member="ContextProvider::Service::setConnection" ref="d6bf1d2d8f8c580d4d77e9c4e72fd226" args="(const QDBusConnection &amp;connection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Service::setConnection </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusConnection &amp;&nbsp;</td>
+ <td class="paramname"> <em>connection</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set (override) the QDBusConnection used by the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>.
+<p>
+Deprecated; use constructor with QDBusConnection parameter instead.
+</div>
+</div><p>
+<a class="anchor" name="ee524632842792e9ad80b122eb8600a1"></a><!-- doxytag: member="ContextProvider::Service::setValue" ref="ee524632842792e9ad80b122eb8600a1" args="(const QString &amp;key, const QVariant &amp;val)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Service::setValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the value of <em>key</em> to <em>val</em>.
+<p>
+A property named <em>key</em> must have been registered already, by creating a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object for it.
+</div>
+</div><p>
+<a class="anchor" name="6434d467cd84a6295bd24572671b5479"></a><!-- doxytag: member="ContextProvider::Service::start" ref="6434d467cd84a6295bd24572671b5479" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::Service::start </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Start the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> again after it has been stopped.
+<p>
+In the case of shared connection, the objects will be registered to D-Bus. In the case of non-shared connection, also the service name will be registered on D-Bus. Returns true on success, false otherwise.
+</div>
+</div><p>
+<a class="anchor" name="25cc85c61a07afe679266fc287da0677"></a><!-- doxytag: member="ContextProvider::Service::stop" ref="25cc85c61a07afe679266fc287da0677" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Service::stop </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stop the service.
+<p>
+In the case of shared connection, this will cause the related objects to be unregistered, but the bus name will still be on D-Bus. In the case of non-shared connection, this will cause the service to disappear from D-Bus completely.
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="c3553c08a0c7b57a4c15794caebf1936"></a><!-- doxytag: member="ContextProvider::Service::::ServiceUnitTest" ref="c3553c08a0c7b57a4c15794caebf1936" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class ::ServiceUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="386f5a9cf65610cb62143865e5637272"></a><!-- doxytag: member="ContextProvider::Service::Property" ref="386f5a9cf65610cb62143865e5637272" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class <a class="el" href="class_context_provider_1_1_property.html">Property</a><code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="service_8h-source.html">service.h</a><li><a class="el" href="service_8cpp.html">service.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_service_backend-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_service_backend-members.html
new file mode 100644
index 00000000..cfcb3633
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service_backend-members.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::ServiceBackend Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#ed41fb3009b4b10268a07c9e2fb37ece">::ServiceBackendUnitTest</a> class</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">defaultServiceBackend</a></td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#03beadb30b9d1f837d372ccc77004595">instance</a>(QDBusConnection connection)</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#bbf135b68aa7d0e5e9ff294ccfa6e1eb">instance</a>(QDBusConnection::BusType busType, const QString &amp;busName, bool autoStart)</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#c2341db978f732d4a68027568db73fd0">manager</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#2b33587710d46129c3554fc405e93858">ref</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#6474ceb8669761e879329b39c3afb899">Service</a> class</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#2f72a8d1752eb4f930410deed93bd14e">ServiceBackend</a>(QDBusConnection connection)</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#645ad8454046cc430aa1f6b6935e3e39">ServiceBackend</a>(QDBusConnection connection, const QString &amp;busName)</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#1f25b50b4abc8e8a5fbdf0b9b38f6691">setAsDefault</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#3380d860b28632814283af9cb48115ad">setValue</a>(const QString &amp;key, const QVariant &amp;val)</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#7b9d7a6b42fde2e7841edd7dbd5589af">sharedConnection</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#f0ffcd20b78a6c070b46f2a808974bf5">start</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#f580af0059e69905ee6aefa55056bdd5">stop</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#44c270d04037efde600e3f2ba7e4188f">unref</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#7c22a78525e271a443d0b328c09a8ebb">~ServiceBackend</a>()</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_service_backend.html b/libcontextprovider/doc/html/class_context_provider_1_1_service_backend.html
new file mode 100644
index 00000000..df138ba9
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service_backend.html
@@ -0,0 +1,460 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::ServiceBackend Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::ServiceBackend Class Reference</h1><!-- doxytag: class="ContextProvider::ServiceBackend" -->A <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> is the real worker behind <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="servicebackend_8h-source.html">servicebackend.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_service_backend-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#2f72a8d1752eb4f930410deed93bd14e">ServiceBackend</a> (QDBusConnection connection)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates new <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> with the given QDBusConnection. <a href="#2f72a8d1752eb4f930410deed93bd14e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#645ad8454046cc430aa1f6b6935e3e39">ServiceBackend</a> (QDBusConnection connection, const QString &amp;busName)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates new <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> with the given QDBusConnection and a service name to register. <a href="#645ad8454046cc430aa1f6b6935e3e39"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#7c22a78525e271a443d0b328c09a8ebb">~ServiceBackend</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>. <a href="#7c22a78525e271a443d0b328c09a8ebb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#7b9d7a6b42fde2e7841edd7dbd5589af">sharedConnection</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true iff the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> shares its QDBusConnection with the provider program. <a href="#7b9d7a6b42fde2e7841edd7dbd5589af"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#f0ffcd20b78a6c070b46f2a808974bf5">start</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> again after it has been stopped. <a href="#f0ffcd20b78a6c070b46f2a808974bf5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#f580af0059e69905ee6aefa55056bdd5">stop</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop the service. <a href="#f580af0059e69905ee6aefa55056bdd5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#1f25b50b4abc8e8a5fbdf0b9b38f6691">setAsDefault</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> object as the default one to use when constructing <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects. <a href="#1f25b50b4abc8e8a5fbdf0b9b38f6691"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#3380d860b28632814283af9cb48115ad">setValue</a> (const QString &amp;key, const QVariant &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of <em>key</em> to <em>val</em>. <a href="#3380d860b28632814283af9cb48115ad"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#c2341db978f732d4a68027568db73fd0">manager</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> associated with this backend. <a href="#c2341db978f732d4a68027568db73fd0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#2b33587710d46129c3554fc405e93858">ref</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increase the reference count by one. <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> calls this. <a href="#2b33587710d46129c3554fc405e93858"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#44c270d04037efde600e3f2ba7e4188f">unref</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease the reference count by one. <a href="#44c270d04037efde600e3f2ba7e4188f"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#03beadb30b9d1f837d372ccc77004595">instance</a> (QDBusConnection connection)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> instance for a given <em>connection</em>. <a href="#03beadb30b9d1f837d372ccc77004595"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#bbf135b68aa7d0e5e9ff294ccfa6e1eb">instance</a> (QDBusConnection::BusType busType, const QString &amp;busName, bool autoStart)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> instance for a given <em>busType</em> and <em>busName</em>. <a href="#bbf135b68aa7d0e5e9ff294ccfa6e1eb"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">defaultServiceBackend</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#ed41fb3009b4b10268a07c9e2fb37ece">::ServiceBackendUnitTest</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#6474ceb8669761e879329b39c3afb899">Service</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> is the real worker behind <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>.
+<p>
+Multiple <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> instances can share same <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>. The backend is the actual worker that operates on D-Bus, has a <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> and registers properties.<p>
+The <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> class actually proxies all methods to the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="2f72a8d1752eb4f930410deed93bd14e"></a><!-- doxytag: member="ContextProvider::ServiceBackend::ServiceBackend" ref="2f72a8d1752eb4f930410deed93bd14e" args="(QDBusConnection connection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::ServiceBackend::ServiceBackend </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>connection</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates new <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> with the given QDBusConnection.
+<p>
+The backend automatically creates it's <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. The connection will be shared between <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> and the provider program, and the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> will not register any service names.
+</div>
+</div><p>
+<a class="anchor" name="645ad8454046cc430aa1f6b6935e3e39"></a><!-- doxytag: member="ContextProvider::ServiceBackend::ServiceBackend" ref="645ad8454046cc430aa1f6b6935e3e39" args="(QDBusConnection connection, const QString &amp;busName)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::ServiceBackend::ServiceBackend </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>connection</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates new <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> with the given QDBusConnection and a service name to register.
+<p>
+The backend automatically creates it's <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>. The connection will not be shared between the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> and the provider program.
+</div>
+</div><p>
+<a class="anchor" name="7c22a78525e271a443d0b328c09a8ebb"></a><!-- doxytag: member="ContextProvider::ServiceBackend::~ServiceBackend" ref="7c22a78525e271a443d0b328c09a8ebb" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::ServiceBackend::~ServiceBackend </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>.
+<p>
+The backend is stopped. If this backend is the defaultServiceBackend, the defaultServiceBackend is set back to NULL.
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="bbf135b68aa7d0e5e9ff294ccfa6e1eb"></a><!-- doxytag: member="ContextProvider::ServiceBackend::instance" ref="bbf135b68aa7d0e5e9ff294ccfa6e1eb" args="(QDBusConnection::BusType busType, const QString &amp;busName, bool autoStart)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> * ContextProvider::ServiceBackend::instance </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection::BusType&nbsp;</td>
+ <td class="paramname"> <em>busType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>autoStart</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> instance for a given <em>busType</em> and <em>busName</em>.
+<p>
+Creates the instance if it does not exist yet.
+</div>
+</div><p>
+<a class="anchor" name="03beadb30b9d1f837d372ccc77004595"></a><!-- doxytag: member="ContextProvider::ServiceBackend::instance" ref="03beadb30b9d1f837d372ccc77004595" args="(QDBusConnection connection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> * ContextProvider::ServiceBackend::instance </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>connection</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> instance for a given <em>connection</em>.
+<p>
+Creates the instance if it does not exist yet.
+</div>
+</div><p>
+<a class="anchor" name="c2341db978f732d4a68027568db73fd0"></a><!-- doxytag: member="ContextProvider::ServiceBackend::manager" ref="c2341db978f732d4a68027568db73fd0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a> * ContextProvider::ServiceBackend::manager </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> associated with this backend.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2b33587710d46129c3554fc405e93858"></a><!-- doxytag: member="ContextProvider::ServiceBackend::ref" ref="2b33587710d46129c3554fc405e93858" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ServiceBackend::ref </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Increase the reference count by one. <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> calls this.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1f25b50b4abc8e8a5fbdf0b9b38f6691"></a><!-- doxytag: member="ContextProvider::ServiceBackend::setAsDefault" ref="1f25b50b4abc8e8a5fbdf0b9b38f6691" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ServiceBackend::setAsDefault </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> object as the default one to use when constructing <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3380d860b28632814283af9cb48115ad"></a><!-- doxytag: member="ContextProvider::ServiceBackend::setValue" ref="3380d860b28632814283af9cb48115ad" args="(const QString &amp;key, const QVariant &amp;val)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ServiceBackend::setValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the value of <em>key</em> to <em>val</em>.
+<p>
+A property named <em>key</em> must have been registered already, by creating a <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object for it.
+</div>
+</div><p>
+<a class="anchor" name="7b9d7a6b42fde2e7841edd7dbd5589af"></a><!-- doxytag: member="ContextProvider::ServiceBackend::sharedConnection" ref="7b9d7a6b42fde2e7841edd7dbd5589af" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::ServiceBackend::sharedConnection </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true iff the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> shares its QDBusConnection with the provider program.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f0ffcd20b78a6c070b46f2a808974bf5"></a><!-- doxytag: member="ContextProvider::ServiceBackend::start" ref="f0ffcd20b78a6c070b46f2a808974bf5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::ServiceBackend::start </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Start the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> again after it has been stopped.
+<p>
+In the case of shared connection, the objects will be registered to D-Bus. In the case of non-shared connection, also the service name will be registered on D-Bus. Returns true on success, false otherwise.
+</div>
+</div><p>
+<a class="anchor" name="f580af0059e69905ee6aefa55056bdd5"></a><!-- doxytag: member="ContextProvider::ServiceBackend::stop" ref="f580af0059e69905ee6aefa55056bdd5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ServiceBackend::stop </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stop the service.
+<p>
+In the case of shared connection, this will cause the related objects to be unregistered, but the bus name will still be on D-Bus. In the case of non-shared connection, this will cause the service to disappear from D-Bus completely.
+</div>
+</div><p>
+<a class="anchor" name="44c270d04037efde600e3f2ba7e4188f"></a><!-- doxytag: member="ContextProvider::ServiceBackend::unref" ref="44c270d04037efde600e3f2ba7e4188f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ServiceBackend::unref </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Decrease the reference count by one.
+<p>
+<a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> calls this. If the reference count goes to zero, stop the <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> instance, remove it from the instance store and schedule it to be deleted.
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="ed41fb3009b4b10268a07c9e2fb37ece"></a><!-- doxytag: member="ContextProvider::ServiceBackend::::ServiceBackendUnitTest" ref="ed41fb3009b4b10268a07c9e2fb37ece" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class ::ServiceBackendUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6474ceb8669761e879329b39c3afb899"></a><!-- doxytag: member="ContextProvider::ServiceBackend::Service" ref="6474ceb8669761e879329b39c3afb899" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class <a class="el" href="class_context_provider_1_1_service.html">Service</a><code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="dba83a5a2a30247be68cd8485b3c6306"></a><!-- doxytag: member="ContextProvider::ServiceBackend::defaultServiceBackend" ref="dba83a5a2a30247be68cd8485b3c6306" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> * <a class="el" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">ContextProvider::ServiceBackend::defaultServiceBackend</a><code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="servicebackend_8h-source.html">servicebackend.h</a><li><a class="el" href="servicebackend_8cpp.html">servicebackend.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_subscriber-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber-members.html
new file mode 100644
index 00000000..9a710642
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber-members.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Subscriber Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#185b6a3ba9f09b4e45cb4cf011a4b3dc">changed</a>(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;undetermined)</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#cc24c10d7e14b445eff6b216ad01caf0">dbusPath</a>() const </td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#80406eb66a937045a8071c70ec0f1ba5">isSubscribedToKey</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_queued_invoker.html#bf3792e97a37ae6b620cc03cad3fd6c3">queuedCall</a>(const char *method)</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_queued_invoker.html#ff9aa4633138af31f3009ebf7b99f5b8">QueuedInvoker</a>(QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881">queueOnce</a>(const char *method)</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503">subscribe</a>(const QStringList &amp;keys, QStringList &amp;undetermined)</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#bacc217f5389cca9e37f44278752a4c6">Subscriber</a>(const QString &amp;dbusPath, Manager *manager)</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722">unsubscribe</a>(const QStringList &amp;keys)</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber.html#cbaa9a1a17dbd0337b025255df2b9b53">~Subscriber</a>()</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_subscriber.html b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber.html
new file mode 100644
index 00000000..6bca32b1
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::Subscriber Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::Subscriber Class Reference</h1><!-- doxytag: class="ContextProvider::Subscriber" --><!-- doxytag: inherits="ContextProvider::QueuedInvoker" --><a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> implements the org.freedesktop.ContextKit.Subscriber DBus interface with help of the SubsciberAdaptor.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="subscriber_8h-source.html">subscriber.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_subscriber-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#185b6a3ba9f09b4e45cb4cf011a4b3dc">changed</a> (const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;undetermined)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when any of the subscribed keys changes it's value. <a href="#185b6a3ba9f09b4e45cb4cf011a4b3dc"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#bacc217f5389cca9e37f44278752a4c6">Subscriber</a> (const QString &amp;dbusPath, <a class="el" href="class_context_provider_1_1_manager.html">Manager</a> *manager)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#bacc217f5389cca9e37f44278752a4c6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#cbaa9a1a17dbd0337b025255df2b9b53">~Subscriber</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the subscriber. <a href="#cbaa9a1a17dbd0337b025255df2b9b53"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMap&lt; QString, QVariant &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503">subscribe</a> (const QStringList &amp;keys, QStringList &amp;undetermined)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribes to te specified list of <em>keys</em>. <a href="#38b01c1486af496970ed00e8bb9dd503"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722">unsubscribe</a> (const QStringList &amp;keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsubscribes from the passed list of keys. <a href="#d006229fc6745798dbe55ceb81f88722"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#cc24c10d7e14b445eff6b216ad01caf0">dbusPath</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the dbus object path for this <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a>. <a href="#cc24c10d7e14b445eff6b216ad01caf0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html#80406eb66a937045a8071c70ec0f1ba5">isSubscribedToKey</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> is currently subscribed to the specified key. <a href="#80406eb66a937045a8071c70ec0f1ba5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> implements the org.freedesktop.ContextKit.Subscriber DBus interface with help of the SubsciberAdaptor.
+<p>
+<a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> lets the user to suscribe to or unsubscribe from properties and get informed when their values change. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="bacc217f5389cca9e37f44278752a4c6"></a><!-- doxytag: member="ContextProvider::Subscriber::Subscriber" ref="bacc217f5389cca9e37f44278752a4c6" args="(const QString &amp;dbusPath, Manager *manager)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Subscriber::Subscriber </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>dbusPath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a> *&nbsp;</td>
+ <td class="paramname"> <em>man</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor.
+<p>
+Creates a new <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> with the given <em>dbusPath</em> object path and a parent <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> <em>man</em>. The <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> will use the <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> to obtain values etc.
+</div>
+</div><p>
+<a class="anchor" name="cbaa9a1a17dbd0337b025255df2b9b53"></a><!-- doxytag: member="ContextProvider::Subscriber::~Subscriber" ref="cbaa9a1a17dbd0337b025255df2b9b53" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::Subscriber::~Subscriber </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys the subscriber.
+<p>
+Decreases the subscription count on the parent <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> before going down.
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="185b6a3ba9f09b4e45cb4cf011a4b3dc"></a><!-- doxytag: member="ContextProvider::Subscriber::changed" ref="185b6a3ba9f09b4e45cb4cf011a4b3dc" args="(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;undetermined)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Subscriber::changed </td>
+ <td>(</td>
+ <td class="paramtype">const QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>undetermined</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when any of the subscribed keys changes it's value.
+<p>
+The <em>values</em> map contains a mapping of keys -&gt; new values. The <em>undetermined</em> list contains the names of keys that could not be determined. The <em>values</em> and <em>undetermined</em> contains only the keys that actually changed value.
+</div>
+</div><p>
+<a class="anchor" name="cc24c10d7e14b445eff6b216ad01caf0"></a><!-- doxytag: member="ContextProvider::Subscriber::dbusPath" ref="cc24c10d7e14b445eff6b216ad01caf0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextProvider::Subscriber::dbusPath </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the dbus object path for this <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="80406eb66a937045a8071c70ec0f1ba5"></a><!-- doxytag: member="ContextProvider::Subscriber::isSubscribedToKey" ref="80406eb66a937045a8071c70ec0f1ba5" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProvider::Subscriber::isSubscribedToKey </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> is currently subscribed to the specified key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="38b01c1486af496970ed00e8bb9dd503"></a><!-- doxytag: member="ContextProvider::Subscriber::subscribe" ref="38b01c1486af496970ed00e8bb9dd503" args="(const QStringList &amp;keys, QStringList &amp;undetermined)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMap&lt; QString, QVariant &gt; ContextProvider::Subscriber::subscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>keys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>undetermined</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Subscribes to te specified list of <em>keys</em>.
+<p>
+The keys for which values could not be determined are placed in the <code>undetermined</code> list. Otherwise the current values are placed in the returned map in a key -&gt; value order.
+</div>
+</div><p>
+<a class="anchor" name="d006229fc6745798dbe55ceb81f88722"></a><!-- doxytag: member="ContextProvider::Subscriber::unsubscribe" ref="d006229fc6745798dbe55ceb81f88722" args="(const QStringList &amp;keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::Subscriber::unsubscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Unsubscribes from the passed list of keys.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="subscriber_8h-source.html">subscriber.h</a><li><a class="el" href="subscriber_8cpp.html">subscriber.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor-members.html
new file mode 100644
index 00000000..5d5a0333
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor-members.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::SubscriberAdaptor Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#d959ca1be2787271374a334a06c4ec4d">Changed</a>(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;undetermined)</td><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#5ee496e408e9406d752d80511d8c0596">Subscribe</a>(const QStringList &amp;keys, QStringList &amp;undetermined)</td><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a></td><td><code> [slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#e9275992f7fe4ddd7094d2a3f294da7b">SubscriberAdaptor</a>(Subscriber *subscriber)</td><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#b964442115740fa585f94e73a0a6e62d">Unsubscribe</a>(const QStringList &amp;keys)</td><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a></td><td><code> [slot]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor.html b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor.html
new file mode 100644
index 00000000..f3823df8
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_subscriber_adaptor.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::SubscriberAdaptor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">SubscriberAdaptor</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::SubscriberAdaptor Class Reference</h1><!-- doxytag: class="ContextProvider::SubscriberAdaptor" -->A DBus adaptor for implementing the org.freedesktop.ContextKit.Subscriber interface. Using the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> the remote client can subscribe and unsubscribe from keys.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="subscriberadaptor_8h-source.html">subscriberadaptor.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_provider_1_1_subscriber_adaptor-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMap&lt; QString, QVariant &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#5ee496e408e9406d752d80511d8c0596">Subscribe</a> (const QStringList &amp;keys, QStringList &amp;undetermined)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs the <a class="el" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503" title="Subscribes to te specified list of keys.">Subscriber::subscribe</a> method to subscribe to a given set of keys. <a href="#5ee496e408e9406d752d80511d8c0596"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#b964442115740fa585f94e73a0a6e62d">Unsubscribe</a> (const QStringList &amp;keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs the <a class="el" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722" title="Unsubscribes from the passed list of keys.">Subscriber::unsubscribe</a> method to unsubscribe from a given set of keys. <a href="#b964442115740fa585f94e73a0a6e62d"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#d959ca1be2787271374a334a06c4ec4d">Changed</a> (const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;undetermined)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#e9275992f7fe4ddd7094d2a3f294da7b">SubscriberAdaptor</a> (<a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a> *subscriber)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Creates new adaptor for the given <em>subscriber</em> <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object. <a href="#e9275992f7fe4ddd7094d2a3f294da7b"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A DBus adaptor for implementing the org.freedesktop.ContextKit.Subscriber interface. Using the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> the remote client can subscribe and unsubscribe from keys. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="e9275992f7fe4ddd7094d2a3f294da7b"></a><!-- doxytag: member="ContextProvider::SubscriberAdaptor::SubscriberAdaptor" ref="e9275992f7fe4ddd7094d2a3f294da7b" args="(Subscriber *subscriber)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::SubscriberAdaptor::SubscriberAdaptor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a> *&nbsp;</td>
+ <td class="paramname"> <em>subscriber</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor. Creates new adaptor for the given <em>subscriber</em> <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> object.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d959ca1be2787271374a334a06c4ec4d"></a><!-- doxytag: member="ContextProvider::SubscriberAdaptor::Changed" ref="d959ca1be2787271374a334a06c4ec4d" args="(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;undetermined)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::SubscriberAdaptor::Changed </td>
+ <td>(</td>
+ <td class="paramtype">const QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>undetermined</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5ee496e408e9406d752d80511d8c0596"></a><!-- doxytag: member="ContextProvider::SubscriberAdaptor::Subscribe" ref="5ee496e408e9406d752d80511d8c0596" args="(const QStringList &amp;keys, QStringList &amp;undetermined)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMap&lt; QString, QVariant &gt; ContextProvider::SubscriberAdaptor::Subscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>keys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>undetermined</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Performs the <a class="el" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503" title="Subscribes to te specified list of keys.">Subscriber::subscribe</a> method to subscribe to a given set of keys.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b964442115740fa585f94e73a0a6e62d"></a><!-- doxytag: member="ContextProvider::SubscriberAdaptor::Unsubscribe" ref="b964442115740fa585f94e73a0a6e62d" args="(const QStringList &amp;keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::SubscriberAdaptor::Unsubscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Performs the <a class="el" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722" title="Unsubscribes from the passed list of keys.">Subscriber::unsubscribe</a> method to unsubscribe from a given set of keys.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="subscriberadaptor_8h-source.html">subscriberadaptor.h</a><li><a class="el" href="subscriberadaptor_8cpp.html">subscriberadaptor.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_real_logger-members.html b/libcontextprovider/doc/html/class_context_real_logger-members.html
new file mode 100644
index 00000000..2d4523c6
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_real_logger-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextRealLogger Member List</h1>This is the complete list of members for <a class="el" href="class_context_real_logger.html">ContextRealLogger</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>(int msgType, const char *module, const char *func, const char *file, int line)</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">hideFeatures</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">hideModule</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">hideTimestamps</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">initialize</a>()</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">initialized</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b">operator&lt;&lt;</a>(const ContextFeature &amp;)</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">operator&lt;&lt;</a>(const T &amp;qSomething)</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">showCritical</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">showDebug</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">showFeatures</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">showModule</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">showTest</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">showWarning</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">useColor</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">vanilla</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">~ContextRealLogger</a>()</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_real_logger.html b/libcontextprovider/doc/html/class_context_real_logger.html
new file mode 100644
index 00000000..b5f719b7
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_real_logger.html
@@ -0,0 +1,444 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextRealLogger Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextRealLogger Class Reference</h1><!-- doxytag: class="ContextRealLogger" -->A real logging class.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="logging_8h-source.html">logging.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_real_logger-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a> (int msgType, const char *module, const char *func, const char *file, int line)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#ee3a7c4dac60f4ec39165edf96466637"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">~ContextRealLogger</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, prints <b>end-of-line</b> before going down. <a href="#d45b7a29bfd04c8678e2336964621b16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b">operator&lt;&lt;</a> (const <a class="el" href="class_context_feature.html">ContextFeature</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator for appending features. <a href="#4a3d4d64fb340a1f4adb698106ee6d4b"></a><br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">operator&lt;&lt;</a> (const T &amp;qSomething)</td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">initialize</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the class by checking the enviornment variables and setting the message output params. <a href="#e753079d62a886dd09c0576ad524c8f4"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">showTest</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test messages enabled at runtime. <a href="#dbf345abfa4979dad50fa64587d8b12b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">showDebug</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug messages enabled at runtime. <a href="#149b4fa211448303b24806071a010e07"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">showWarning</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Warning messages enabled at runtime. <a href="#cf5deaf1c001736730952794379c9fb2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">showCritical</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Critical messages enabled at runtime. <a href="#7ffcc463d565ee93eadef3d95b388ac0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">initialized</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class initialized/env vars parsed. <a href="#ca946deec46d8e37f40b20a978d92ee8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">hideTimestamps</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Don't print timestamps. <a href="#73b4d5021ffae90cbe7e9f914e307c45"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">useColor</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use simple colors for output (yellow for warnings, red for criticals). <a href="#681ec8a8c8151a6e76de1b1b3aebe902"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">showModule</a> = NULL</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show messages <b>only</b> from the specified module. <a href="#261f1adeed09c748431d960c009280e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">hideModule</a> = NULL</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages from the specified module. <a href="#29217f7733d4f5a8d73fa20dea9c2b8f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">showFeatures</a> = QStringList()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show messages with <b>only</b> the specified features. <a href="#d3e0dc8c801098e35a385d712369b486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">hideFeatures</a> = QStringList()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages with the specified features. <a href="#1ad94fcbdca55015db01b33566642d61"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">vanilla</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use vanilla (stripped-down) logging. <a href="#11114df34f0dc06d4261a98db0c1a413"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A real logging class.
+<p>
+This is used by the actual macros to print messages. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="ee3a7c4dac60f4ec39165edf96466637"></a><!-- doxytag: member="ContextRealLogger::ContextRealLogger" ref="ee3a7c4dac60f4ec39165edf96466637" args="(int msgType, const char *module, const char *func, const char *file, int line)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextRealLogger::ContextRealLogger </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>module</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>line</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor.
+<p>
+Called by the macros. <em>func</em> is the function name, <em>file</em> is is the current source file and <em>line</em> specifies the line number.
+</div>
+</div><p>
+<a class="anchor" name="d45b7a29bfd04c8678e2336964621b16"></a><!-- doxytag: member="ContextRealLogger::~ContextRealLogger" ref="d45b7a29bfd04c8678e2336964621b16" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextRealLogger::~ContextRealLogger </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor, prints <b>end-of-line</b> before going down.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="e753079d62a886dd09c0576ad524c8f4"></a><!-- doxytag: member="ContextRealLogger::initialize" ref="e753079d62a886dd09c0576ad524c8f4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRealLogger::initialize </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize the class by checking the enviornment variables and setting the message output params.
+<p>
+The log level is set from <code>CONTEXT_LOG_VERBOSITY</code> and from this env var the showTest, showDebug, showWarning... are set. By default everything is displayed at runtime. It's also possible to not show timestamps in messages and spice-up the output with some color.
+</div>
+</div><p>
+<a class="anchor" name="83a9a63cef3753053154b86da8da52bb"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="83a9a63cef3753053154b86da8da52bb" args="(const T &amp;qSomething)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a>&amp; ContextRealLogger::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>qSomething</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4a3d4d64fb340a1f4adb698106ee6d4b"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="4a3d4d64fb340a1f4adb698106ee6d4b" args="(const ContextFeature &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a> &amp; ContextRealLogger::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_feature.html">ContextFeature</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>f</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Operator for appending features.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="1ad94fcbdca55015db01b33566642d61"></a><!-- doxytag: member="ContextRealLogger::hideFeatures" ref="1ad94fcbdca55015db01b33566642d61" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">ContextRealLogger::hideFeatures</a> = QStringList()<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Hide messages with the specified features.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="29217f7733d4f5a8d73fa20dea9c2b8f"></a><!-- doxytag: member="ContextRealLogger::hideModule" ref="29217f7733d4f5a8d73fa20dea9c2b8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger::hideModule</a> = NULL<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Hide messages from the specified module.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="73b4d5021ffae90cbe7e9f914e307c45"></a><!-- doxytag: member="ContextRealLogger::hideTimestamps" ref="73b4d5021ffae90cbe7e9f914e307c45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger::hideTimestamps</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Don't print timestamps.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ca946deec46d8e37f40b20a978d92ee8"></a><!-- doxytag: member="ContextRealLogger::initialized" ref="ca946deec46d8e37f40b20a978d92ee8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">ContextRealLogger::initialized</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Class initialized/env vars parsed.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7ffcc463d565ee93eadef3d95b388ac0"></a><!-- doxytag: member="ContextRealLogger::showCritical" ref="7ffcc463d565ee93eadef3d95b388ac0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger::showCritical</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Critical messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="149b4fa211448303b24806071a010e07"></a><!-- doxytag: member="ContextRealLogger::showDebug" ref="149b4fa211448303b24806071a010e07" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">ContextRealLogger::showDebug</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Debug messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d3e0dc8c801098e35a385d712369b486"></a><!-- doxytag: member="ContextRealLogger::showFeatures" ref="d3e0dc8c801098e35a385d712369b486" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">ContextRealLogger::showFeatures</a> = QStringList()<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Show messages with <b>only</b> the specified features.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="261f1adeed09c748431d960c009280e2"></a><!-- doxytag: member="ContextRealLogger::showModule" ref="261f1adeed09c748431d960c009280e2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">ContextRealLogger::showModule</a> = NULL<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Show messages <b>only</b> from the specified module.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="dbf345abfa4979dad50fa64587d8b12b"></a><!-- doxytag: member="ContextRealLogger::showTest" ref="dbf345abfa4979dad50fa64587d8b12b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">ContextRealLogger::showTest</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Test messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cf5deaf1c001736730952794379c9fb2"></a><!-- doxytag: member="ContextRealLogger::showWarning" ref="cf5deaf1c001736730952794379c9fb2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">ContextRealLogger::showWarning</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Warning messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="681ec8a8c8151a6e76de1b1b3aebe902"></a><!-- doxytag: member="ContextRealLogger::useColor" ref="681ec8a8c8151a6e76de1b1b3aebe902" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger::useColor</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Use simple colors for output (yellow for warnings, red for criticals).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="11114df34f0dc06d4261a98db0c1a413"></a><!-- doxytag: member="ContextRealLogger::vanilla" ref="11114df34f0dc06d4261a98db0c1a413" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">ContextRealLogger::vanilla</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Use vanilla (stripped-down) logging.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="logging_8h-source.html">logging.h</a><li><a class="el" href="logging_8cpp.html">logging.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_zero_logger-members.html b/libcontextprovider/doc/html/class_context_zero_logger-members.html
new file mode 100644
index 00000000..017c5441
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_zero_logger-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextZeroLogger Member List</h1>This is the complete list of members for <a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>()</td><td><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">operator&lt;&lt;</a>(const T &amp;)</td><td><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_zero_logger.html b/libcontextprovider/doc/html/class_context_zero_logger.html
new file mode 100644
index 00000000..fff473b3
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_zero_logger.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextZeroLogger Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextZeroLogger Class Reference</h1><!-- doxytag: class="ContextZeroLogger" -->A fake logging class.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="logging_8h-source.html">logging.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_zero_logger-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Does nothing. <a href="#95e0d40b90ed9c3f360067a3dadaa0c7"></a><br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">operator&lt;&lt;</a> (const T &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does nothing. <a href="#ae39e44e016d29a07bd076470bc171bb"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A fake logging class.
+<p>
+When a certain debug message is disabled at a compile-time the debug macros expand to this class. It has all functions declared as <b>inline</b> and fundamentally kills all input targeted at it. The compiler optimizes the <b>inline</b> by not calling the functions at all and not storing the strings at all. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="95e0d40b90ed9c3f360067a3dadaa0c7"></a><!-- doxytag: member="ContextZeroLogger::ContextZeroLogger" ref="95e0d40b90ed9c3f360067a3dadaa0c7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextZeroLogger::ContextZeroLogger </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor. Does nothing.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ae39e44e016d29a07bd076470bc171bb"></a><!-- doxytag: member="ContextZeroLogger::operator&lt;&lt;" ref="ae39e44e016d29a07bd076470bc171bb" args="(const T &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>&amp; ContextZeroLogger::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Does nothing.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="logging_8h-source.html">logging.h</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/classes.html b/libcontextprovider/doc/html/classes.html
new file mode 100644
index 00000000..70a5055b
--- /dev/null
+++ b/libcontextprovider/doc/html/classes.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li class="current"><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div><p>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_context_provider_1_1_group.html">Group</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_context_provider_1_1_property_listener.html">PropertyListener</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_service.html">Service</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_context_feature.html">ContextFeature</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_group_listener.html">GroupListener</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_manager.html">Manager</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_context_provider_1_1_property_private.html">PropertyPrivate</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_context_provider_1_1_group_private.html">GroupPrivate</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ManagerAdaptor</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_context_provider_1_1_queued_invoker.html">QueuedInvoker</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">SubscriberAdaptor</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_context_provider_1_1_listener.html">Listener</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_provider_1_1_property.html">Property</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/context__provider_8h-source.html b/libcontextprovider/doc/html/context__provider_8h-source.html
new file mode 100644
index 00000000..9b3995ab
--- /dev/null
+++ b/libcontextprovider/doc/html/context__provider_8h-source.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: context_provider.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>context_provider.h</h1><a href="context__provider_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXT_PROVIDER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_PROVIDER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="contextc_8h.html">contextc.h</a>"</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/context__provider_8h.html b/libcontextprovider/doc/html/context__provider_8h.html
new file mode 100644
index 00000000..2af03ce5
--- /dev/null
+++ b/libcontextprovider/doc/html/context__provider_8h.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: context_provider.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>context_provider.h File Reference</h1><code>#include &quot;<a class="el" href="contextc_8h-source.html">contextc.h</a>&quot;</code><br>
+
+<p>
+<a href="context__provider_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/contextc_8cpp.html b/libcontextprovider/doc/html/contextc_8cpp.html
new file mode 100644
index 00000000..bdaf89ac
--- /dev/null
+++ b/libcontextprovider/doc/html/contextc_8cpp.html
@@ -0,0 +1,447 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: contextc.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextc.cpp File Reference</h1><code>#include &quot;<a class="el" href="contextc_8h-source.html">contextc.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="service_8h-source.html">service.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="property_8h-source.html">property.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="group_8h-source.html">group.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="listeners_8h-source.html">listeners.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &lt;QCoreApplication&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#33b9763ab39ce494e115bffcab36360f">context_provider_init</a> (DBusBusType bus_type, const char *bus_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes and starts the service with a given <em>bus_type</em> and a <em>bus_name</em>. <a href="#33b9763ab39ce494e115bffcab36360f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#35a12d14a227ea7905d9a9e00f1d9e25">context_provider_stop</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops the currently started service with context_provider_init. <a href="#35a12d14a227ea7905d9a9e00f1d9e25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a6873ed47e24aaa57d4a327afaf24899">context_provider_install_key</a> (const char *key, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> subscription_changed_cb, void *subscription_changed_cb_target)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs (adds) a <em>key</em> to be provided by the service. <a href="#a6873ed47e24aaa57d4a327afaf24899"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#7c64c17cdf36feb89de45737a37baf3b">context_provider_install_group</a> (char *const *key_group, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> subscription_changed_cb, void *subscription_changed_cb_target)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs (adds) a <em>key_group</em> to be provided by the service. <a href="#7c64c17cdf36feb89de45737a37baf3b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#ac6f0ad56b4d250a2acb9b1af64eaa84">context_provider_set_integer</a> (const char *key, int value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified integer <em>value</em>. <a href="#ac6f0ad56b4d250a2acb9b1af64eaa84"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#5668b35ebd428a798f8bbc8824edcd8c">context_provider_set_double</a> (const char *key, double value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified double <em>value</em>. <a href="#5668b35ebd428a798f8bbc8824edcd8c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#0671fc551fe7ef0a5b51d0f9e3ffad96">context_provider_set_boolean</a> (const char *key, int value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified boolean <em>value</em>. <a href="#0671fc551fe7ef0a5b51d0f9e3ffad96"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#f89f8107bb2b94aee6b356826d72d370">context_provider_set_string</a> (const char *key, const char *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified string <em>value</em>. <a href="#f89f8107bb2b94aee6b356826d72d370"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#b50bb9e3b54bf0e47f9cc15b38fb987c">context_provider_set_null</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to NULL. In other words - unsets the key. <a href="#b50bb9e3b54bf0e47f9cc15b38fb987c"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QList&lt; <a class="el" href="class_context_provider_1_1_listener.html">Listener</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#f8e91994e1c1955177da64fc01e70532">listeners</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">argv</a> [] = &quot;libcontextprovider&quot;</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#aa1ebe818ec1c763a776cc580551f3e6">p</a> = <a class="el" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">argv</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#d1447518f4372828b8435ae82e48499e">argc</a> = 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QCoreApplication *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">app</a> = 0</td></tr>
+
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="33b9763ab39ce494e115bffcab36360f"></a><!-- doxytag: member="contextc.cpp::context_provider_init" ref="33b9763ab39ce494e115bffcab36360f" args="(DBusBusType bus_type, const char *bus_name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int context_provider_init </td>
+ <td>(</td>
+ <td class="paramtype">DBusBusType&nbsp;</td>
+ <td class="paramname"> <em>bus_type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>bus_name</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes and starts the service with a given <em>bus_type</em> and a <em>bus_name</em>.
+<p>
+The <em>bus_type</em> can be DBUS_BUS_SESSION or DBUS_BUS_SYSTEM. This function can be called only once till a matching context_provider_stop is called.
+</div>
+</div><p>
+<a class="anchor" name="7c64c17cdf36feb89de45737a37baf3b"></a><!-- doxytag: member="contextc.cpp::context_provider_install_group" ref="7c64c17cdf36feb89de45737a37baf3b" args="(char *const *key_group, int clear_values_on_subscribe, ContextProviderSubscriptionChangedCallback subscription_changed_cb, void *subscription_changed_cb_target)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_install_group </td>
+ <td>(</td>
+ <td class="paramtype">char *const *&nbsp;</td>
+ <td class="paramname"> <em>key_group</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>clear_values_on_subscribe</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb_target</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Installs (adds) a <em>key_group</em> to be provided by the service.
+<p>
+The <em>key_group</em> is a NULL-terminated array containing the keys. The callback function <em>subscription_changed_cb</em> will be called with the passed user data <em>subscription_changed_cb_target</em> when the status of the subscription changes -- when the first subscriber appears or the last subscriber disappears. The <em>clear_values_on_subscribe</em> when enabled will automatically clear (set to null/undetermined) the group keys on first subscribe.
+</div>
+</div><p>
+<a class="anchor" name="a6873ed47e24aaa57d4a327afaf24899"></a><!-- doxytag: member="contextc.cpp::context_provider_install_key" ref="a6873ed47e24aaa57d4a327afaf24899" args="(const char *key, int clear_values_on_subscribe, ContextProviderSubscriptionChangedCallback subscription_changed_cb, void *subscription_changed_cb_target)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_install_key </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>clear_values_on_subscribe</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb_target</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Installs (adds) a <em>key</em> to be provided by the service.
+<p>
+The callback function <em>subscription_changed_cb</em> will be called with the passed user data <em>subscription_changed_cb_target</em> when the status of the subscription changes -- when the first subscriber appears or the last subscriber disappears. The <em>clear_values_on_subscribe</em> when enabled will automatically clear (set to null/undetermined) the group keys on first subscribe.
+</div>
+</div><p>
+<a class="anchor" name="0671fc551fe7ef0a5b51d0f9e3ffad96"></a><!-- doxytag: member="contextc.cpp::context_provider_set_boolean" ref="0671fc551fe7ef0a5b51d0f9e3ffad96" args="(const char *key, int value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_boolean </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified boolean <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5668b35ebd428a798f8bbc8824edcd8c"></a><!-- doxytag: member="contextc.cpp::context_provider_set_double" ref="5668b35ebd428a798f8bbc8824edcd8c" args="(const char *key, double value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_double </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified double <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ac6f0ad56b4d250a2acb9b1af64eaa84"></a><!-- doxytag: member="contextc.cpp::context_provider_set_integer" ref="ac6f0ad56b4d250a2acb9b1af64eaa84" args="(const char *key, int value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_integer </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified integer <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b50bb9e3b54bf0e47f9cc15b38fb987c"></a><!-- doxytag: member="contextc.cpp::context_provider_set_null" ref="b50bb9e3b54bf0e47f9cc15b38fb987c" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_null </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to NULL. In other words - unsets the key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f89f8107bb2b94aee6b356826d72d370"></a><!-- doxytag: member="contextc.cpp::context_provider_set_string" ref="f89f8107bb2b94aee6b356826d72d370" args="(const char *key, const char *value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_string </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified string <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="35a12d14a227ea7905d9a9e00f1d9e25"></a><!-- doxytag: member="contextc.cpp::context_provider_stop" ref="35a12d14a227ea7905d9a9e00f1d9e25" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_stop </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stops the currently started service with context_provider_init.
+<p>
+After calling this function a new service can be started by calling context_provider_init.
+</div>
+</div><p>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="b751c4ea835b01f1db167e4fbc8f042d"></a><!-- doxytag: member="contextc.cpp::app" ref="b751c4ea835b01f1db167e4fbc8f042d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QCoreApplication* <a class="el" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">app</a> = 0 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d1447518f4372828b8435ae82e48499e"></a><!-- doxytag: member="contextc.cpp::argc" ref="d1447518f4372828b8435ae82e48499e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="contextc_8cpp.html#d1447518f4372828b8435ae82e48499e">argc</a> = 1 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="34d7542664850bdf79197020d3e9532f"></a><!-- doxytag: member="contextc.cpp::argv" ref="34d7542664850bdf79197020d3e9532f" args="[]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char <a class="el" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">argv</a>[] = &quot;libcontextprovider&quot; </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f8e91994e1c1955177da64fc01e70532"></a><!-- doxytag: member="contextc.cpp::listeners" ref="f8e91994e1c1955177da64fc01e70532" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QList&lt;<a class="el" href="class_context_provider_1_1_listener.html">Listener</a>*&gt;* <a class="el" href="contextc_8cpp.html#f8e91994e1c1955177da64fc01e70532">listeners</a> = NULL </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="aa1ebe818ec1c763a776cc580551f3e6"></a><!-- doxytag: member="contextc.cpp::p" ref="aa1ebe818ec1c763a776cc580551f3e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="contextc_8cpp.html#aa1ebe818ec1c763a776cc580551f3e6">p</a> = <a class="el" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">argv</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/contextc_8h-source.html b/libcontextprovider/doc/html/contextc_8h-source.html
new file mode 100644
index 00000000..ade2ef7b
--- /dev/null
+++ b/libcontextprovider/doc/html/contextc_8h-source.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: contextc.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>contextc.h</h1><a href="contextc_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXT_C_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_C_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;dbus/dbus.h&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">00032</a> <span class="keyword">typedef</span> void (*<a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>) (<span class="keywordtype">int</span> subscribe, <span class="keywordtype">void</span>* user_data);
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keywordtype">int</span>
+<a name="l00035"></a>00035 <a class="code" href="contextc_8cpp.html#33b9763ab39ce494e115bffcab36360f" title="Initializes and starts the service with a given bus_type and a bus_name.">context_provider_init</a> (DBusBusType bus_type,
+<a name="l00036"></a>00036 <span class="keyword">const</span> <span class="keywordtype">char</span>* bus_name);
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keywordtype">void</span>
+<a name="l00039"></a>00039 <a class="code" href="contextc_8cpp.html#35a12d14a227ea7905d9a9e00f1d9e25" title="Stops the currently started service with context_provider_init.">context_provider_stop</a> (<span class="keywordtype">void</span>);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keywordtype">void</span>
+<a name="l00042"></a>00042 <a class="code" href="contextc_8cpp.html#a6873ed47e24aaa57d4a327afaf24899" title="Installs (adds) a key to be provided by the service.">context_provider_install_key</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* key,
+<a name="l00043"></a>00043 <span class="keywordtype">int</span> clear_values_on_subscribe,
+<a name="l00044"></a>00044 <a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> subscription_changed_cb,
+<a name="l00045"></a>00045 <span class="keywordtype">void</span>* subscription_changed_cb_target);
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keywordtype">void</span>
+<a name="l00048"></a>00048 <a class="code" href="contextc_8cpp.html#7c64c17cdf36feb89de45737a37baf3b" title="Installs (adds) a key_group to be provided by the service.">context_provider_install_group</a> (<span class="keywordtype">char</span>* <span class="keyword">const</span> * key_group,
+<a name="l00049"></a>00049 <span class="keywordtype">int</span> clear_values_on_subscribe,
+<a name="l00050"></a>00050 <a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> subscription_changed_cb,
+<a name="l00051"></a>00051 <span class="keywordtype">void</span>* subscription_changed_cb_target);
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keywordtype">void</span>
+<a name="l00054"></a>00054 <a class="code" href="contextc_8cpp.html#ac6f0ad56b4d250a2acb9b1af64eaa84" title="Sets the key to a specified integer value.">context_provider_set_integer</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keywordtype">int</span> value);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keywordtype">void</span>
+<a name="l00057"></a>00057 <a class="code" href="contextc_8cpp.html#5668b35ebd428a798f8bbc8824edcd8c" title="Sets the key to a specified double value.">context_provider_set_double</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keywordtype">double</span> value);
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordtype">void</span>
+<a name="l00060"></a>00060 <a class="code" href="contextc_8cpp.html#0671fc551fe7ef0a5b51d0f9e3ffad96" title="Sets the key to a specified boolean value.">context_provider_set_boolean</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keywordtype">int</span> value);
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keywordtype">void</span>
+<a name="l00063"></a>00063 <a class="code" href="contextc_8cpp.html#f89f8107bb2b94aee6b356826d72d370" title="Sets the key to a specified string value.">context_provider_set_string</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordtype">void</span>
+<a name="l00066"></a>00066 <a class="code" href="contextc_8cpp.html#b50bb9e3b54bf0e47f9cc15b38fb987c" title="Sets the key to NULL. In other words - unsets the key.">context_provider_set_null</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* key);
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span>}
+<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/contextc_8h.html b/libcontextprovider/doc/html/contextc_8h.html
new file mode 100644
index 00000000..0bee4d39
--- /dev/null
+++ b/libcontextprovider/doc/html/contextc_8h.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: contextc.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextc.h File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;dbus/dbus.h&gt;</code><br>
+
+<p>
+<a href="contextc_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> )(int subscribe, void *user_data)</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#33b9763ab39ce494e115bffcab36360f">context_provider_init</a> (DBusBusType bus_type, const char *bus_name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes and starts the service with a given <em>bus_type</em> and a <em>bus_name</em>. <a href="#33b9763ab39ce494e115bffcab36360f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#35a12d14a227ea7905d9a9e00f1d9e25">context_provider_stop</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops the currently started service with context_provider_init. <a href="#35a12d14a227ea7905d9a9e00f1d9e25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#a6873ed47e24aaa57d4a327afaf24899">context_provider_install_key</a> (const char *key, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> subscription_changed_cb, void *subscription_changed_cb_target)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs (adds) a <em>key</em> to be provided by the service. <a href="#a6873ed47e24aaa57d4a327afaf24899"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#7c64c17cdf36feb89de45737a37baf3b">context_provider_install_group</a> (char *const *key_group, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> subscription_changed_cb, void *subscription_changed_cb_target)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs (adds) a <em>key_group</em> to be provided by the service. <a href="#7c64c17cdf36feb89de45737a37baf3b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#ac6f0ad56b4d250a2acb9b1af64eaa84">context_provider_set_integer</a> (const char *key, int value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified integer <em>value</em>. <a href="#ac6f0ad56b4d250a2acb9b1af64eaa84"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#5668b35ebd428a798f8bbc8824edcd8c">context_provider_set_double</a> (const char *key, double value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified double <em>value</em>. <a href="#5668b35ebd428a798f8bbc8824edcd8c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#0671fc551fe7ef0a5b51d0f9e3ffad96">context_provider_set_boolean</a> (const char *key, int value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified boolean <em>value</em>. <a href="#0671fc551fe7ef0a5b51d0f9e3ffad96"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#f89f8107bb2b94aee6b356826d72d370">context_provider_set_string</a> (const char *key, const char *value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to a specified string <em>value</em>. <a href="#f89f8107bb2b94aee6b356826d72d370"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#b50bb9e3b54bf0e47f9cc15b38fb987c">context_provider_set_null</a> (const char *key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <em>key</em> to NULL. In other words - unsets the key. <a href="#b50bb9e3b54bf0e47f9cc15b38fb987c"></a><br></td></tr>
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="f72f0df7ce613305c3beabeab61e57dd"></a><!-- doxytag: member="contextc.h::ContextProviderSubscriptionChangedCallback" ref="f72f0df7ce613305c3beabeab61e57dd" args=")(int subscribe, void *user_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void(* <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>)(int subscribe, void *user_data) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="33b9763ab39ce494e115bffcab36360f"></a><!-- doxytag: member="contextc.h::context_provider_init" ref="33b9763ab39ce494e115bffcab36360f" args="(DBusBusType bus_type, const char *bus_name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int context_provider_init </td>
+ <td>(</td>
+ <td class="paramtype">DBusBusType&nbsp;</td>
+ <td class="paramname"> <em>bus_type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>bus_name</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initializes and starts the service with a given <em>bus_type</em> and a <em>bus_name</em>.
+<p>
+The <em>bus_type</em> can be DBUS_BUS_SESSION or DBUS_BUS_SYSTEM. This function can be called only once till a matching context_provider_stop is called.
+</div>
+</div><p>
+<a class="anchor" name="7c64c17cdf36feb89de45737a37baf3b"></a><!-- doxytag: member="contextc.h::context_provider_install_group" ref="7c64c17cdf36feb89de45737a37baf3b" args="(char *const *key_group, int clear_values_on_subscribe, ContextProviderSubscriptionChangedCallback subscription_changed_cb, void *subscription_changed_cb_target)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_install_group </td>
+ <td>(</td>
+ <td class="paramtype">char *const *&nbsp;</td>
+ <td class="paramname"> <em>key_group</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>clear_values_on_subscribe</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb_target</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Installs (adds) a <em>key_group</em> to be provided by the service.
+<p>
+The <em>key_group</em> is a NULL-terminated array containing the keys. The callback function <em>subscription_changed_cb</em> will be called with the passed user data <em>subscription_changed_cb_target</em> when the status of the subscription changes -- when the first subscriber appears or the last subscriber disappears. The <em>clear_values_on_subscribe</em> when enabled will automatically clear (set to null/undetermined) the group keys on first subscribe.
+</div>
+</div><p>
+<a class="anchor" name="a6873ed47e24aaa57d4a327afaf24899"></a><!-- doxytag: member="contextc.h::context_provider_install_key" ref="a6873ed47e24aaa57d4a327afaf24899" args="(const char *key, int clear_values_on_subscribe, ContextProviderSubscriptionChangedCallback subscription_changed_cb, void *subscription_changed_cb_target)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_install_key </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>clear_values_on_subscribe</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>subscription_changed_cb_target</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Installs (adds) a <em>key</em> to be provided by the service.
+<p>
+The callback function <em>subscription_changed_cb</em> will be called with the passed user data <em>subscription_changed_cb_target</em> when the status of the subscription changes -- when the first subscriber appears or the last subscriber disappears. The <em>clear_values_on_subscribe</em> when enabled will automatically clear (set to null/undetermined) the group keys on first subscribe.
+</div>
+</div><p>
+<a class="anchor" name="0671fc551fe7ef0a5b51d0f9e3ffad96"></a><!-- doxytag: member="contextc.h::context_provider_set_boolean" ref="0671fc551fe7ef0a5b51d0f9e3ffad96" args="(const char *key, int value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_boolean </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified boolean <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5668b35ebd428a798f8bbc8824edcd8c"></a><!-- doxytag: member="contextc.h::context_provider_set_double" ref="5668b35ebd428a798f8bbc8824edcd8c" args="(const char *key, double value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_double </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified double <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ac6f0ad56b4d250a2acb9b1af64eaa84"></a><!-- doxytag: member="contextc.h::context_provider_set_integer" ref="ac6f0ad56b4d250a2acb9b1af64eaa84" args="(const char *key, int value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_integer </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified integer <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b50bb9e3b54bf0e47f9cc15b38fb987c"></a><!-- doxytag: member="contextc.h::context_provider_set_null" ref="b50bb9e3b54bf0e47f9cc15b38fb987c" args="(const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_null </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to NULL. In other words - unsets the key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f89f8107bb2b94aee6b356826d72d370"></a><!-- doxytag: member="contextc.h::context_provider_set_string" ref="f89f8107bb2b94aee6b356826d72d370" args="(const char *key, const char *value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_set_string </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the <em>key</em> to a specified string <em>value</em>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="35a12d14a227ea7905d9a9e00f1d9e25"></a><!-- doxytag: member="contextc.h::context_provider_stop" ref="35a12d14a227ea7905d9a9e00f1d9e25" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void context_provider_stop </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stops the currently started service with context_provider_init.
+<p>
+After calling this function a new service can be started by calling context_provider_init.
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/doxygen.css b/libcontextprovider/doc/html/doxygen.css
new file mode 100644
index 00000000..3767dc95
--- /dev/null
+++ b/libcontextprovider/doc/html/doxygen.css
@@ -0,0 +1,441 @@
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+ text-align: center;
+ font-size: 150%;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+div.qindex, div.navtab{
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #153788;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #1b77c5;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+}
+
+a.codeRef {
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+
+td.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ border: 1px solid #CCCCCC;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #e8eef2;
+ border: 1px solid #CCCCCC;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #f0f0f0;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+
+th.dirtab {
+ background: #e8eef2;
+ font-weight: bold;
+}
+
+hr {
+ height: 0;
+ border: none;
+ border-top: 1px solid #666;
+}
+
+/* @group Member Descriptions */
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #FAFAFA;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #ccc;
+}
+
+.memTemplParams {
+ color: #606060;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #606060;
+ font-weight: normal;
+ margin-left: 3px;
+}
+
+.memnav {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.memitem {
+ padding: 0;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+}
+
+.memproto, .memdoc {
+ border: 1px solid #84b0c7;
+}
+
+.memproto {
+ padding: 0;
+ background-color: #d5e1e8;
+ font-weight: bold;
+ -webkit-border-top-left-radius: 8px;
+ -webkit-border-top-right-radius: 8px;
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0.5em;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+address {
+ font-style: normal;
+ color: #333;
+}
diff --git a/libcontextprovider/doc/html/doxygen.png b/libcontextprovider/doc/html/doxygen.png
new file mode 100644
index 00000000..f0a274bb
--- /dev/null
+++ b/libcontextprovider/doc/html/doxygen.png
Binary files differ
diff --git a/libcontextprovider/doc/html/files.html b/libcontextprovider/doc/html/files.html
new file mode 100644
index 00000000..5f4f9d10
--- /dev/null
+++ b/libcontextprovider/doc/html/files.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: File Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="context__provider_8h.html">context_provider.h</a> <a href="context__provider_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextc_8cpp.html">contextc.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextc_8h.html">contextc.h</a> <a href="contextc_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="_context_provider.html">ContextProvider</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="group_8cpp.html">group.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="group_8h.html">group.h</a> <a href="group_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="listeners_8cpp.html">listeners.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="listeners_8h.html">listeners.h</a> <a href="listeners_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="logging_8cpp.html">logging.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="logging_8h.html">logging.h</a> <a href="logging_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="loggingfeatures_8h.html">loggingfeatures.h</a> <a href="loggingfeatures_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="manager_8cpp.html">manager.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="manager_8h.html">manager.h</a> <a href="manager_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="manageradaptor_8cpp.html">manageradaptor.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="manageradaptor_8h.html">manageradaptor.h</a> <a href="manageradaptor_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="property_8cpp.html">property.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="property_8h.html">property.h</a> <a href="property_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="queuedinvoker_8cpp.html">queuedinvoker.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="queuedinvoker_8h.html">queuedinvoker.h</a> <a href="queuedinvoker_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="sconnect_8h.html">sconnect.h</a> <a href="sconnect_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="service_8cpp.html">service.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="service_8h.html">service.h</a> <a href="service_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="servicebackend_8cpp.html">servicebackend.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="servicebackend_8h.html">servicebackend.h</a> <a href="servicebackend_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="subscriber_8cpp.html">subscriber.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="subscriber_8h.html">subscriber.h</a> <a href="subscriber_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="subscriberadaptor_8cpp.html">subscriberadaptor.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="subscriberadaptor_8h.html">subscriberadaptor.h</a> <a href="subscriberadaptor_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/functions.html b/libcontextprovider/doc/html/functions.html
new file mode 100644
index 00000000..2d8b6af5
--- /dev/null
+++ b/libcontextprovider/doc/html/functions.html
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_:"><span>:</span></a></li>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_g"><span>g</span></a></li>
+ <li><a href="#index_h"><span>h</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_q"><span>q</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li><a href="#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_:">- : -</a></h3><ul>
+<li>::ServiceBackendUnitTest
+: <a class="el" href="class_context_provider_1_1_service_backend.html#ed41fb3009b4b10268a07c9e2fb37ece">ContextProvider::ServiceBackend</a>
+<li>::ServiceUnitTest
+: <a class="el" href="class_context_provider_1_1_service.html#c3553c08a0c7b57a4c15794caebf1936">ContextProvider::Service</a>
+</ul>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_context_provider_1_1_group.html#a4996d5fbeb27344439a2485f0de87e4">ContextProvider::Group</a>
+<li>addKey()
+: <a class="el" href="class_context_provider_1_1_manager.html#c4b4c739c7429a94a3294af47ee0fbf7">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>busNameIsGone()
+: <a class="el" href="class_context_provider_1_1_manager.html#c8535b2e47e2b67546dc3e2f28e6e665">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>changed()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#185b6a3ba9f09b4e45cb4cf011a4b3dc">ContextProvider::Subscriber</a>
+<li>Changed()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#d959ca1be2787271374a334a06c4ec4d">ContextProvider::SubscriberAdaptor</a>
+<li>clear()
+: <a class="el" href="class_context_provider_1_1_property_listener.html#fd2fac0dfe47e45fb7a80b51f5565eef">ContextProvider::PropertyListener</a>
+, <a class="el" href="class_context_provider_1_1_group_listener.html#7ca28f3f65eac2882bfe6eac4b2468b1">ContextProvider::GroupListener</a>
+, <a class="el" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>dbusPath()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#cc24c10d7e14b445eff6b216ad01caf0">ContextProvider::Subscriber</a>
+<li>decreaseSubscriptionCount()
+: <a class="el" href="class_context_provider_1_1_manager.html#f2d5d29f10a473bb71c5cf1a9dc53708">ContextProvider::Manager</a>
+<li>defaultServiceBackend
+: <a class="el" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">ContextProvider::ServiceBackend</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>firstSubscriberAppeared()
+: <a class="el" href="class_context_provider_1_1_group.html#b0c2fe89e51597d807597ef5b17b8d84">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_property.html#edb511bfc215c2933193d5685c574943">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_manager.html#f63b1764b3ca90140dddc0e041a2c0c5">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>getKeys()
+: <a class="el" href="class_context_provider_1_1_manager.html#36d1aa023f27e2d5852a5e48b1974806">ContextProvider::Manager</a>
+<li>getKeyValue()
+: <a class="el" href="class_context_provider_1_1_manager.html#e28730fbd946143d5f257f8647200c96">ContextProvider::Manager</a>
+<li>getName()
+: <a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+<li>getProperties()
+: <a class="el" href="class_context_provider_1_1_group.html#63bd74cceebb98ef6372b1040b971479">ContextProvider::Group</a>
+<li>getSubscriber()
+: <a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3">ContextProvider::Manager</a>
+<li>GetSubscriber()
+: <a class="el" href="class_context_provider_1_1_manager_adaptor.html#455687bceb79bf8ff24070f7c3ff730e">ContextProvider::ManagerAdaptor</a>
+<li>getSubscriptionCount()
+: <a class="el" href="class_context_provider_1_1_manager.html#6a2a5d39c7ba6a770645f91dfea7011a">ContextProvider::Manager</a>
+<li>Group()
+: <a class="el" href="class_context_provider_1_1_group.html#dfdc508e85a6526c7e5201934b5ca9c5">ContextProvider::Group</a>
+<li>GroupListener()
+: <a class="el" href="class_context_provider_1_1_group_listener.html#00a56babe6eaec539b1df50861e00180">ContextProvider::GroupListener</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>hasSubscriberWithBusName()
+: <a class="el" href="class_context_provider_1_1_manager.html#862864581c8c8fabb871211ec50735b4">ContextProvider::Manager</a>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>increaseSubscriptionCount()
+: <a class="el" href="class_context_provider_1_1_manager.html#87b54dba08c59479a11b3c7c223bda9b">ContextProvider::Manager</a>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+<li>instance()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#03beadb30b9d1f837d372ccc77004595">ContextProvider::ServiceBackend</a>
+<li>isSet()
+: <a class="el" href="class_context_provider_1_1_property.html#cd83fed5c066aa375148738744e5b3e3">ContextProvider::Property</a>
+<li>isSubscribedTo()
+: <a class="el" href="class_context_provider_1_1_group.html#f6ebd9e89ea1f543d33867fad44ba15e">ContextProvider::Group</a>
+<li>isSubscribedToKey()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#80406eb66a937045a8071c70ec0f1ba5">ContextProvider::Subscriber</a>
+</ul>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_provider_1_1_property.html#b88d712808775617a9839523c537afcb">ContextProvider::Property</a>
+<li>keyIsValid()
+: <a class="el" href="class_context_provider_1_1_manager.html#1a06f69bb5e25b957b8d2163d1596678">ContextProvider::Manager</a>
+<li>keyValueChanged()
+: <a class="el" href="class_context_provider_1_1_manager.html#34c580dc9b1a105d083fa44d06fff1ee">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>lastSubscriberDisappeared()
+: <a class="el" href="class_context_provider_1_1_group.html#494ce3334c4665e89ca651bd34fc7acb">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_manager.html#53f6700553dfe9958cae15a2c7f12142">ContextProvider::Manager</a>
+, <a class="el" href="class_context_provider_1_1_property.html#586f7dff49a3c4536acc289c314586ee">ContextProvider::Property</a>
+<li>Listener()
+: <a class="el" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">ContextProvider::Listener</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>Manager()
+: <a class="el" href="class_context_provider_1_1_manager.html#690f98398be0562a475c7c3191dab82f">ContextProvider::Manager</a>
+<li>manager
+: <a class="el" href="struct_context_provider_1_1_property_private.html#110854a12303f0830bfd84dc8ee76a84">ContextProvider::PropertyPrivate</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#c2341db978f732d4a68027568db73fd0">ContextProvider::ServiceBackend</a>
+<li>ManagerAdaptor()
+: <a class="el" href="class_context_provider_1_1_manager_adaptor.html#26c9041f8312d71870c893ffaa090f70">ContextProvider::ManagerAdaptor</a>
+<li>myKey
+: <a class="el" href="struct_context_provider_1_1_property_private.html#a9511aa4f89f2ea88df73aae376df6c8">ContextProvider::PropertyPrivate</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>OnServiceOwnerChanged()
+: <a class="el" href="class_context_provider_1_1_manager_adaptor.html#60676ba9f728f447093b5580346fede9">ContextProvider::ManagerAdaptor</a>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_provider_1_1_group.html#28743608278b85f0dc0170d2c5774e3e">ContextProvider::Group</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>prop
+: <a class="el" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">ContextProvider::PropertyListener</a>
+<li>properties
+: <a class="el" href="struct_context_provider_1_1_group_private.html#b5bd08568b4665a4a053bf2f66c0ca1d">ContextProvider::GroupPrivate</a>
+<li>propertiesSubscribedTo
+: <a class="el" href="struct_context_provider_1_1_group_private.html#447f70a1352ed264f5bf4a9f86c12a25">ContextProvider::GroupPrivate</a>
+<li>Property()
+: <a class="el" href="class_context_provider_1_1_property.html#8b66e2cb81aca7f0162a51bb0e9c93f5">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_property.html#62299c267b73e990a03faf3113445f9e">ContextProvider::Property</a>
+<li>PropertyListener()
+: <a class="el" href="class_context_provider_1_1_property_listener.html#aca36ab1765f01f5ed6678a7b0ca3605">ContextProvider::PropertyListener</a>
+</ul>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>queuedCall()
+: <a class="el" href="class_context_provider_1_1_queued_invoker.html#bf3792e97a37ae6b620cc03cad3fd6c3">ContextProvider::QueuedInvoker</a>
+<li>QueuedInvoker()
+: <a class="el" href="class_context_provider_1_1_queued_invoker.html#ff9aa4633138af31f3009ebf7b99f5b8">ContextProvider::QueuedInvoker</a>
+<li>queueOnce()
+: <a class="el" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881">ContextProvider::QueuedInvoker</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>ref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#2b33587710d46129c3554fc405e93858">ContextProvider::ServiceBackend</a>
+<li>restart()
+: <a class="el" href="class_context_provider_1_1_service.html#471dbe35bbd9583f9404b15158f367dd">ContextProvider::Service</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>Service
+: <a class="el" href="class_context_provider_1_1_service_backend.html#6474ceb8669761e879329b39c3afb899">ContextProvider::ServiceBackend</a>
+, <a class="el" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d">ContextProvider::Service</a>
+<li>ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#2f72a8d1752eb4f930410deed93bd14e">ContextProvider::ServiceBackend</a>
+<li>setAsDefault()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#1f25b50b4abc8e8a5fbdf0b9b38f6691">ContextProvider::ServiceBackend</a>
+, <a class="el" href="class_context_provider_1_1_service.html#385b58aef7878b6e33a3989d139f9a4a">ContextProvider::Service</a>
+<li>setConnection()
+: <a class="el" href="class_context_provider_1_1_service.html#d6bf1d2d8f8c580d4d77e9c4e72fd226">ContextProvider::Service</a>
+<li>setKeyValue()
+: <a class="el" href="class_context_provider_1_1_manager.html#06c2c0a4b9f837377d19d891375a5fab">ContextProvider::Manager</a>
+<li>setValue()
+: <a class="el" href="class_context_provider_1_1_property.html#44c5ff15b11d53d2a44bc77cacb41314">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_service.html#ee524632842792e9ad80b122eb8600a1">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#3380d860b28632814283af9cb48115ad">ContextProvider::ServiceBackend</a>
+<li>sharedConnection()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#7b9d7a6b42fde2e7841edd7dbd5589af">ContextProvider::ServiceBackend</a>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+<li>start()
+: <a class="el" href="class_context_provider_1_1_service.html#6434d467cd84a6295bd24572671b5479">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#f0ffcd20b78a6c070b46f2a808974bf5">ContextProvider::ServiceBackend</a>
+<li>stop()
+: <a class="el" href="class_context_provider_1_1_service.html#25cc85c61a07afe679266fc287da0677">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#f580af0059e69905ee6aefa55056bdd5">ContextProvider::ServiceBackend</a>
+<li>subscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503">ContextProvider::Subscriber</a>
+<li>Subscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#5ee496e408e9406d752d80511d8c0596">ContextProvider::SubscriberAdaptor</a>
+<li>Subscriber()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#bacc217f5389cca9e37f44278752a4c6">ContextProvider::Subscriber</a>
+<li>SubscriberAdaptor()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#e9275992f7fe4ddd7094d2a3f294da7b">ContextProvider::SubscriberAdaptor</a>
+</ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>unref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#44c270d04037efde600e3f2ba7e4188f">ContextProvider::ServiceBackend</a>
+<li>unsetValue()
+: <a class="el" href="class_context_provider_1_1_property.html#a65dc7374559b7a7d86034b8c9ef9807">ContextProvider::Property</a>
+<li>Unsubscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#b964442115740fa585f94e73a0a6e62d">ContextProvider::SubscriberAdaptor</a>
+<li>unsubscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722">ContextProvider::Subscriber</a>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>value()
+: <a class="el" href="class_context_provider_1_1_property.html#f05d9adb2b2ee2a5d66e6a9875ccd167">ContextProvider::Property</a>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+<li>~Group()
+: <a class="el" href="class_context_provider_1_1_group.html#66b1bd39a6d13e7623ea1213574a25f8">ContextProvider::Group</a>
+<li>~Manager()
+: <a class="el" href="class_context_provider_1_1_manager.html#28223781c8fa135b05993ce31b2b26cb">ContextProvider::Manager</a>
+<li>~Property()
+: <a class="el" href="class_context_provider_1_1_property.html#3c5fbb4b6f0ce1f779c2bfa6190ed8d2">ContextProvider::Property</a>
+<li>~Service()
+: <a class="el" href="class_context_provider_1_1_service.html#365b50365fd98d8ee7a1b7dd10dd84d2">ContextProvider::Service</a>
+<li>~ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#7c22a78525e271a443d0b328c09a8ebb">ContextProvider::ServiceBackend</a>
+<li>~Subscriber()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#cbaa9a1a17dbd0337b025255df2b9b53">ContextProvider::Subscriber</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/functions_func.html b/libcontextprovider/doc/html/functions_func.html
new file mode 100644
index 00000000..1e5f76a6
--- /dev/null
+++ b/libcontextprovider/doc/html/functions_func.html
@@ -0,0 +1,257 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_g"><span>g</span></a></li>
+ <li><a href="#index_h"><span>h</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_q"><span>q</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li><a href="#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_context_provider_1_1_group.html#a4996d5fbeb27344439a2485f0de87e4">ContextProvider::Group</a>
+<li>addKey()
+: <a class="el" href="class_context_provider_1_1_manager.html#c4b4c739c7429a94a3294af47ee0fbf7">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>busNameIsGone()
+: <a class="el" href="class_context_provider_1_1_manager.html#c8535b2e47e2b67546dc3e2f28e6e665">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>changed()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#185b6a3ba9f09b4e45cb4cf011a4b3dc">ContextProvider::Subscriber</a>
+<li>Changed()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#d959ca1be2787271374a334a06c4ec4d">ContextProvider::SubscriberAdaptor</a>
+<li>clear()
+: <a class="el" href="class_context_provider_1_1_property_listener.html#fd2fac0dfe47e45fb7a80b51f5565eef">ContextProvider::PropertyListener</a>
+, <a class="el" href="class_context_provider_1_1_group_listener.html#7ca28f3f65eac2882bfe6eac4b2468b1">ContextProvider::GroupListener</a>
+, <a class="el" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>dbusPath()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#cc24c10d7e14b445eff6b216ad01caf0">ContextProvider::Subscriber</a>
+<li>decreaseSubscriptionCount()
+: <a class="el" href="class_context_provider_1_1_manager.html#f2d5d29f10a473bb71c5cf1a9dc53708">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>firstSubscriberAppeared()
+: <a class="el" href="class_context_provider_1_1_group.html#b0c2fe89e51597d807597ef5b17b8d84">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_property.html#edb511bfc215c2933193d5685c574943">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_manager.html#f63b1764b3ca90140dddc0e041a2c0c5">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>getKeys()
+: <a class="el" href="class_context_provider_1_1_manager.html#36d1aa023f27e2d5852a5e48b1974806">ContextProvider::Manager</a>
+<li>getKeyValue()
+: <a class="el" href="class_context_provider_1_1_manager.html#e28730fbd946143d5f257f8647200c96">ContextProvider::Manager</a>
+<li>getName()
+: <a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+<li>getProperties()
+: <a class="el" href="class_context_provider_1_1_group.html#63bd74cceebb98ef6372b1040b971479">ContextProvider::Group</a>
+<li>getSubscriber()
+: <a class="el" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3">ContextProvider::Manager</a>
+<li>GetSubscriber()
+: <a class="el" href="class_context_provider_1_1_manager_adaptor.html#455687bceb79bf8ff24070f7c3ff730e">ContextProvider::ManagerAdaptor</a>
+<li>getSubscriptionCount()
+: <a class="el" href="class_context_provider_1_1_manager.html#6a2a5d39c7ba6a770645f91dfea7011a">ContextProvider::Manager</a>
+<li>Group()
+: <a class="el" href="class_context_provider_1_1_group.html#dfdc508e85a6526c7e5201934b5ca9c5">ContextProvider::Group</a>
+<li>GroupListener()
+: <a class="el" href="class_context_provider_1_1_group_listener.html#00a56babe6eaec539b1df50861e00180">ContextProvider::GroupListener</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>hasSubscriberWithBusName()
+: <a class="el" href="class_context_provider_1_1_manager.html#862864581c8c8fabb871211ec50735b4">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>increaseSubscriptionCount()
+: <a class="el" href="class_context_provider_1_1_manager.html#87b54dba08c59479a11b3c7c223bda9b">ContextProvider::Manager</a>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+<li>instance()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#bbf135b68aa7d0e5e9ff294ccfa6e1eb">ContextProvider::ServiceBackend</a>
+<li>isSet()
+: <a class="el" href="class_context_provider_1_1_property.html#cd83fed5c066aa375148738744e5b3e3">ContextProvider::Property</a>
+<li>isSubscribedTo()
+: <a class="el" href="class_context_provider_1_1_group.html#f6ebd9e89ea1f543d33867fad44ba15e">ContextProvider::Group</a>
+<li>isSubscribedToKey()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#80406eb66a937045a8071c70ec0f1ba5">ContextProvider::Subscriber</a>
+</ul>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_provider_1_1_property.html#b88d712808775617a9839523c537afcb">ContextProvider::Property</a>
+<li>keyIsValid()
+: <a class="el" href="class_context_provider_1_1_manager.html#1a06f69bb5e25b957b8d2163d1596678">ContextProvider::Manager</a>
+<li>keyValueChanged()
+: <a class="el" href="class_context_provider_1_1_manager.html#34c580dc9b1a105d083fa44d06fff1ee">ContextProvider::Manager</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>lastSubscriberDisappeared()
+: <a class="el" href="class_context_provider_1_1_group.html#494ce3334c4665e89ca651bd34fc7acb">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_manager.html#53f6700553dfe9958cae15a2c7f12142">ContextProvider::Manager</a>
+, <a class="el" href="class_context_provider_1_1_property.html#586f7dff49a3c4536acc289c314586ee">ContextProvider::Property</a>
+<li>Listener()
+: <a class="el" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">ContextProvider::Listener</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>Manager()
+: <a class="el" href="class_context_provider_1_1_manager.html#690f98398be0562a475c7c3191dab82f">ContextProvider::Manager</a>
+<li>manager()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#c2341db978f732d4a68027568db73fd0">ContextProvider::ServiceBackend</a>
+<li>ManagerAdaptor()
+: <a class="el" href="class_context_provider_1_1_manager_adaptor.html#26c9041f8312d71870c893ffaa090f70">ContextProvider::ManagerAdaptor</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>OnServiceOwnerChanged()
+: <a class="el" href="class_context_provider_1_1_manager_adaptor.html#60676ba9f728f447093b5580346fede9">ContextProvider::ManagerAdaptor</a>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_provider_1_1_group.html#28743608278b85f0dc0170d2c5774e3e">ContextProvider::Group</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>Property()
+: <a class="el" href="class_context_provider_1_1_property.html#8b66e2cb81aca7f0162a51bb0e9c93f5">ContextProvider::Property</a>
+<li>PropertyListener()
+: <a class="el" href="class_context_provider_1_1_property_listener.html#aca36ab1765f01f5ed6678a7b0ca3605">ContextProvider::PropertyListener</a>
+</ul>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>queuedCall()
+: <a class="el" href="class_context_provider_1_1_queued_invoker.html#bf3792e97a37ae6b620cc03cad3fd6c3">ContextProvider::QueuedInvoker</a>
+<li>QueuedInvoker()
+: <a class="el" href="class_context_provider_1_1_queued_invoker.html#ff9aa4633138af31f3009ebf7b99f5b8">ContextProvider::QueuedInvoker</a>
+<li>queueOnce()
+: <a class="el" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881">ContextProvider::QueuedInvoker</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>ref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#2b33587710d46129c3554fc405e93858">ContextProvider::ServiceBackend</a>
+<li>restart()
+: <a class="el" href="class_context_provider_1_1_service.html#471dbe35bbd9583f9404b15158f367dd">ContextProvider::Service</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>Service()
+: <a class="el" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d">ContextProvider::Service</a>
+<li>ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#2f72a8d1752eb4f930410deed93bd14e">ContextProvider::ServiceBackend</a>
+<li>setAsDefault()
+: <a class="el" href="class_context_provider_1_1_service.html#385b58aef7878b6e33a3989d139f9a4a">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#1f25b50b4abc8e8a5fbdf0b9b38f6691">ContextProvider::ServiceBackend</a>
+<li>setConnection()
+: <a class="el" href="class_context_provider_1_1_service.html#d6bf1d2d8f8c580d4d77e9c4e72fd226">ContextProvider::Service</a>
+<li>setKeyValue()
+: <a class="el" href="class_context_provider_1_1_manager.html#06c2c0a4b9f837377d19d891375a5fab">ContextProvider::Manager</a>
+<li>setValue()
+: <a class="el" href="class_context_provider_1_1_property.html#44c5ff15b11d53d2a44bc77cacb41314">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_service.html#ee524632842792e9ad80b122eb8600a1">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#3380d860b28632814283af9cb48115ad">ContextProvider::ServiceBackend</a>
+<li>sharedConnection()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#7b9d7a6b42fde2e7841edd7dbd5589af">ContextProvider::ServiceBackend</a>
+<li>start()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#f0ffcd20b78a6c070b46f2a808974bf5">ContextProvider::ServiceBackend</a>
+, <a class="el" href="class_context_provider_1_1_service.html#6434d467cd84a6295bd24572671b5479">ContextProvider::Service</a>
+<li>stop()
+: <a class="el" href="class_context_provider_1_1_service.html#25cc85c61a07afe679266fc287da0677">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#f580af0059e69905ee6aefa55056bdd5">ContextProvider::ServiceBackend</a>
+<li>Subscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#5ee496e408e9406d752d80511d8c0596">ContextProvider::SubscriberAdaptor</a>
+<li>subscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503">ContextProvider::Subscriber</a>
+<li>Subscriber()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#bacc217f5389cca9e37f44278752a4c6">ContextProvider::Subscriber</a>
+<li>SubscriberAdaptor()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#e9275992f7fe4ddd7094d2a3f294da7b">ContextProvider::SubscriberAdaptor</a>
+</ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>unref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#44c270d04037efde600e3f2ba7e4188f">ContextProvider::ServiceBackend</a>
+<li>unsetValue()
+: <a class="el" href="class_context_provider_1_1_property.html#a65dc7374559b7a7d86034b8c9ef9807">ContextProvider::Property</a>
+<li>unsubscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722">ContextProvider::Subscriber</a>
+<li>Unsubscribe()
+: <a class="el" href="class_context_provider_1_1_subscriber_adaptor.html#b964442115740fa585f94e73a0a6e62d">ContextProvider::SubscriberAdaptor</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>value()
+: <a class="el" href="class_context_provider_1_1_property.html#f05d9adb2b2ee2a5d66e6a9875ccd167">ContextProvider::Property</a>
+</ul>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+<li>~Group()
+: <a class="el" href="class_context_provider_1_1_group.html#66b1bd39a6d13e7623ea1213574a25f8">ContextProvider::Group</a>
+<li>~Manager()
+: <a class="el" href="class_context_provider_1_1_manager.html#28223781c8fa135b05993ce31b2b26cb">ContextProvider::Manager</a>
+<li>~Property()
+: <a class="el" href="class_context_provider_1_1_property.html#3c5fbb4b6f0ce1f779c2bfa6190ed8d2">ContextProvider::Property</a>
+<li>~Service()
+: <a class="el" href="class_context_provider_1_1_service.html#365b50365fd98d8ee7a1b7dd10dd84d2">ContextProvider::Service</a>
+<li>~ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#7c22a78525e271a443d0b328c09a8ebb">ContextProvider::ServiceBackend</a>
+<li>~Subscriber()
+: <a class="el" href="class_context_provider_1_1_subscriber.html#cbaa9a1a17dbd0337b025255df2b9b53">ContextProvider::Subscriber</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/functions_rela.html b/libcontextprovider/doc/html/functions_rela.html
new file mode 100644
index 00000000..720b3fe2
--- /dev/null
+++ b/libcontextprovider/doc/html/functions_rela.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members - Related Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li class="current"><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>::ServiceBackendUnitTest
+: <a class="el" href="class_context_provider_1_1_service_backend.html#ed41fb3009b4b10268a07c9e2fb37ece">ContextProvider::ServiceBackend</a>
+<li>::ServiceUnitTest
+: <a class="el" href="class_context_provider_1_1_service.html#c3553c08a0c7b57a4c15794caebf1936">ContextProvider::Service</a>
+<li>Property
+: <a class="el" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">ContextProvider::Service</a>
+<li>Service
+: <a class="el" href="class_context_provider_1_1_service_backend.html#6474ceb8669761e879329b39c3afb899">ContextProvider::ServiceBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/functions_vars.html b/libcontextprovider/doc/html/functions_vars.html
new file mode 100644
index 00000000..f32548ca
--- /dev/null
+++ b/libcontextprovider/doc/html/functions_vars.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>defaultServiceBackend
+: <a class="el" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">ContextProvider::ServiceBackend</a>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+<li>manager
+: <a class="el" href="struct_context_provider_1_1_property_private.html#110854a12303f0830bfd84dc8ee76a84">ContextProvider::PropertyPrivate</a>
+<li>myKey
+: <a class="el" href="struct_context_provider_1_1_property_private.html#a9511aa4f89f2ea88df73aae376df6c8">ContextProvider::PropertyPrivate</a>
+<li>prop
+: <a class="el" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">ContextProvider::PropertyListener</a>
+<li>properties
+: <a class="el" href="struct_context_provider_1_1_group_private.html#b5bd08568b4665a4a053bf2f66c0ca1d">ContextProvider::GroupPrivate</a>
+<li>propertiesSubscribedTo
+: <a class="el" href="struct_context_provider_1_1_group_private.html#447f70a1352ed264f5bf4a9f86c12a25">ContextProvider::GroupPrivate</a>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/globals.html b/libcontextprovider/doc/html/globals.html
new file mode 100644
index 00000000..86f9ff50
--- /dev/null
+++ b/libcontextprovider/doc/html/globals.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all file members with links to the files they belong to:
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>app
+: <a class="el" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">contextc.cpp</a>
+<li>argc
+: <a class="el" href="contextc_8cpp.html#d1447518f4372828b8435ae82e48499e">contextc.cpp</a>
+<li>argv
+: <a class="el" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">contextc.cpp</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">logging.h</a>
+<li>context_provider_init()
+: <a class="el" href="contextc_8cpp.html#33b9763ab39ce494e115bffcab36360f">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#33b9763ab39ce494e115bffcab36360f">contextc.h</a>
+<li>context_provider_install_group()
+: <a class="el" href="contextc_8cpp.html#7c64c17cdf36feb89de45737a37baf3b">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#7c64c17cdf36feb89de45737a37baf3b">contextc.h</a>
+<li>context_provider_install_key()
+: <a class="el" href="contextc_8cpp.html#a6873ed47e24aaa57d4a327afaf24899">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a6873ed47e24aaa57d4a327afaf24899">contextc.h</a>
+<li>context_provider_set_boolean()
+: <a class="el" href="contextc_8cpp.html#0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.h</a>
+<li>context_provider_set_double()
+: <a class="el" href="contextc_8cpp.html#5668b35ebd428a798f8bbc8824edcd8c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#5668b35ebd428a798f8bbc8824edcd8c">contextc.h</a>
+<li>context_provider_set_integer()
+: <a class="el" href="contextc_8cpp.html#ac6f0ad56b4d250a2acb9b1af64eaa84">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#ac6f0ad56b4d250a2acb9b1af64eaa84">contextc.h</a>
+<li>context_provider_set_null()
+: <a class="el" href="contextc_8cpp.html#b50bb9e3b54bf0e47f9cc15b38fb987c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#b50bb9e3b54bf0e47f9cc15b38fb987c">contextc.h</a>
+<li>context_provider_set_string()
+: <a class="el" href="contextc_8h.html#f89f8107bb2b94aee6b356826d72d370">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#f89f8107bb2b94aee6b356826d72d370">contextc.cpp</a>
+<li>context_provider_stop()
+: <a class="el" href="contextc_8h.html#35a12d14a227ea7905d9a9e00f1d9e25">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#35a12d14a227ea7905d9a9e00f1d9e25">contextc.cpp</a>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">logging.h</a>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+<li>ContextProviderSubscriptionChangedCallback
+: <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">contextc.h</a>
+<li>contextTest
+: <a class="el" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>F_C
+: <a class="el" href="loggingfeatures_8h.html#a18351b635d165e6c6b3c0fd2e9fb010">loggingfeatures.h</a>
+<li>F_DBUS
+: <a class="el" href="loggingfeatures_8h.html#e91377869d2b8c07c759312d81180d47">loggingfeatures.h</a>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+<li>F_GROUP
+: <a class="el" href="loggingfeatures_8h.html#acbda055c445dacbfd21502f47961937">loggingfeatures.h</a>
+<li>F_MANAGER
+: <a class="el" href="loggingfeatures_8h.html#3fb8d13817c872564bdd14246c8725c4">loggingfeatures.h</a>
+<li>F_PROPERTY
+: <a class="el" href="loggingfeatures_8h.html#a881d68e06073c6e502b5f016b9bff6a">loggingfeatures.h</a>
+<li>F_SERVICE
+: <a class="el" href="loggingfeatures_8h.html#deba982b0ad41bfd090a405f867e212b">loggingfeatures.h</a>
+<li>F_SERVICE_BACKEND
+: <a class="el" href="loggingfeatures_8h.html#a6880210114ff09ecc320e99c36f6e37">loggingfeatures.h</a>
+<li>F_SIGNALS
+: <a class="el" href="loggingfeatures_8h.html#a2135bd5e0b76f9686bff0aabf6c570d">loggingfeatures.h</a>
+<li>F_SUBSCRIBER
+: <a class="el" href="loggingfeatures_8h.html#1fcf2fbcf3425bbde71ae2fd065fcc76">loggingfeatures.h</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>listeners
+: <a class="el" href="contextc_8cpp.html#f8e91994e1c1955177da64fc01e70532">contextc.cpp</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>p
+: <a class="el" href="contextc_8cpp.html#aa1ebe818ec1c763a776cc580551f3e6">contextc.cpp</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/globals_defs.html b/libcontextprovider/doc/html/globals_defs.html
new file mode 100644
index 00000000..79058c2a
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_defs.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">logging.h</a>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">logging.h</a>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+<li>contextTest
+: <a class="el" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+<li>F_C
+: <a class="el" href="loggingfeatures_8h.html#a18351b635d165e6c6b3c0fd2e9fb010">loggingfeatures.h</a>
+<li>F_DBUS
+: <a class="el" href="loggingfeatures_8h.html#e91377869d2b8c07c759312d81180d47">loggingfeatures.h</a>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+<li>F_GROUP
+: <a class="el" href="loggingfeatures_8h.html#acbda055c445dacbfd21502f47961937">loggingfeatures.h</a>
+<li>F_MANAGER
+: <a class="el" href="loggingfeatures_8h.html#3fb8d13817c872564bdd14246c8725c4">loggingfeatures.h</a>
+<li>F_PROPERTY
+: <a class="el" href="loggingfeatures_8h.html#a881d68e06073c6e502b5f016b9bff6a">loggingfeatures.h</a>
+<li>F_SERVICE
+: <a class="el" href="loggingfeatures_8h.html#deba982b0ad41bfd090a405f867e212b">loggingfeatures.h</a>
+<li>F_SERVICE_BACKEND
+: <a class="el" href="loggingfeatures_8h.html#a6880210114ff09ecc320e99c36f6e37">loggingfeatures.h</a>
+<li>F_SIGNALS
+: <a class="el" href="loggingfeatures_8h.html#a2135bd5e0b76f9686bff0aabf6c570d">loggingfeatures.h</a>
+<li>F_SUBSCRIBER
+: <a class="el" href="loggingfeatures_8h.html#1fcf2fbcf3425bbde71ae2fd065fcc76">loggingfeatures.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/globals_func.html b/libcontextprovider/doc/html/globals_func.html
new file mode 100644
index 00000000..a4cafcab
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_func.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>context_provider_init()
+: <a class="el" href="contextc_8cpp.html#33b9763ab39ce494e115bffcab36360f">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#33b9763ab39ce494e115bffcab36360f">contextc.h</a>
+<li>context_provider_install_group()
+: <a class="el" href="contextc_8h.html#7c64c17cdf36feb89de45737a37baf3b">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#7c64c17cdf36feb89de45737a37baf3b">contextc.cpp</a>
+<li>context_provider_install_key()
+: <a class="el" href="contextc_8cpp.html#a6873ed47e24aaa57d4a327afaf24899">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a6873ed47e24aaa57d4a327afaf24899">contextc.h</a>
+<li>context_provider_set_boolean()
+: <a class="el" href="contextc_8h.html#0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.cpp</a>
+<li>context_provider_set_double()
+: <a class="el" href="contextc_8cpp.html#5668b35ebd428a798f8bbc8824edcd8c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#5668b35ebd428a798f8bbc8824edcd8c">contextc.h</a>
+<li>context_provider_set_integer()
+: <a class="el" href="contextc_8cpp.html#ac6f0ad56b4d250a2acb9b1af64eaa84">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#ac6f0ad56b4d250a2acb9b1af64eaa84">contextc.h</a>
+<li>context_provider_set_null()
+: <a class="el" href="contextc_8cpp.html#b50bb9e3b54bf0e47f9cc15b38fb987c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#b50bb9e3b54bf0e47f9cc15b38fb987c">contextc.h</a>
+<li>context_provider_set_string()
+: <a class="el" href="contextc_8h.html#f89f8107bb2b94aee6b356826d72d370">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#f89f8107bb2b94aee6b356826d72d370">contextc.cpp</a>
+<li>context_provider_stop()
+: <a class="el" href="contextc_8h.html#35a12d14a227ea7905d9a9e00f1d9e25">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#35a12d14a227ea7905d9a9e00f1d9e25">contextc.cpp</a>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/globals_type.html b/libcontextprovider/doc/html/globals_type.html
new file mode 100644
index 00000000..0c0e9b1d
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_type.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>ContextProviderSubscriptionChangedCallback
+: <a class="el" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">contextc.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/globals_vars.html b/libcontextprovider/doc/html/globals_vars.html
new file mode 100644
index 00000000..d0eef0b3
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_vars.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>app
+: <a class="el" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">contextc.cpp</a>
+<li>argc
+: <a class="el" href="contextc_8cpp.html#d1447518f4372828b8435ae82e48499e">contextc.cpp</a>
+<li>argv
+: <a class="el" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">contextc.cpp</a>
+<li>listeners
+: <a class="el" href="contextc_8cpp.html#f8e91994e1c1955177da64fc01e70532">contextc.cpp</a>
+<li>p
+: <a class="el" href="contextc_8cpp.html#aa1ebe818ec1c763a776cc580551f3e6">contextc.cpp</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/group_8cpp.html b/libcontextprovider/doc/html/group_8cpp.html
new file mode 100644
index 00000000..8ad3c083
--- /dev/null
+++ b/libcontextprovider/doc/html/group_8cpp.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: group.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>group.cpp File Reference</h1><code>#include &quot;<a class="el" href="group_8h-source.html">group.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="service_8h-source.html">service.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="property_8h-source.html">property.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/group_8h-source.html b/libcontextprovider/doc/html/group_8h-source.html
new file mode 100644
index 00000000..2ab0309c
--- /dev/null
+++ b/libcontextprovider/doc/html/group_8h-source.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: group.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>group.h</h1><a href="group_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef GROUP_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define GROUP_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">class </span>Property;
+<a name="l00032"></a>00032 <span class="keyword">class </span>Service;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">class </span>GroupPrivate;
+<a name="l00035"></a>00035
+<a name="l00036"></a><a class="code" href="class_context_provider_1_1_group.html">00036</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> : <span class="keyword">public</span> QObject
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 Q_OBJECT
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00041"></a>00041 <span class="keyword">explicit</span> <a class="code" href="class_context_provider_1_1_group.html#dfdc508e85a6526c7e5201934b5ca9c5" title="Contructs an empty Group object with the given parent.">Group</a>(QObject* parent = 0);
+<a name="l00042"></a>00042 <a class="code" href="class_context_provider_1_1_group.html#66b1bd39a6d13e7623ea1213574a25f8" title="Destructor.">~Group</a>();
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <span class="keyword">add</span>(<span class="keyword">const</span> <a class="code" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> &amp;prop);
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_group.html#f6ebd9e89ea1f543d33867fad44ba15e" title="Returns true iff any Property objects in the group are subscribed to.">isSubscribedTo</a>() <span class="keyword">const</span>;
+<a name="l00047"></a>00047 QSet&lt;const Property *&gt; <a class="code" href="class_context_provider_1_1_group.html#63bd74cceebb98ef6372b1040b971479" title="Returns the set of properties currently belonging to the Group.">getProperties</a>();
+<a name="l00048"></a>00048
+<a name="l00049"></a><a class="code" href="class_context_provider_1_1_group.html#076cdbd5346aecee1b944451e5d6a5b8">00049</a> <span class="keyword">inline</span> <a class="code" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> &amp;<a class="code" href="class_context_provider_1_1_group.html#076cdbd5346aecee1b944451e5d6a5b8">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> &amp;prop)
+<a name="l00050"></a>00050 { <span class="keyword">add</span>(prop); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00051"></a>00051
+<a name="l00052"></a><a class="code" href="class_context_provider_1_1_group.html#28743608278b85f0dc0170d2c5774e3e">00052</a> <span class="keyword">inline</span> <a class="code" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> &amp;<a class="code" href="class_context_provider_1_1_group.html#076cdbd5346aecee1b944451e5d6a5b8">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> *prop)
+<a name="l00053"></a>00053 { <span class="keyword">add</span>(*prop); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 signals:
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_group.html#b0c2fe89e51597d807597ef5b17b8d84" title="Emitted when the group of Context objects is subscribed to.">firstSubscriberAppeared</a>();
+<a name="l00060"></a>00060
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_group.html#494ce3334c4665e89ca651bd34fc7acb" title="Emitted when the group of Context objects is unsubscribed from.">lastSubscriberDisappeared</a>();
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">private</span> slots:
+<a name="l00067"></a>00067 <span class="keywordtype">void</span> onFirstSubscriberAppeared();
+<a name="l00068"></a>00068 <span class="keywordtype">void</span> onLastSubscriberDisappeared();
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">private</span>:
+<a name="l00071"></a>00071 <a class="code" href="struct_context_provider_1_1_group_private.html">GroupPrivate</a> *priv;
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 } <span class="comment">// end namespace</span>
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/group_8h.html b/libcontextprovider/doc/html/group_8h.html
new file mode 100644
index 00000000..0c46bfcd
--- /dev/null
+++ b/libcontextprovider/doc/html/group_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: group.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>group.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QSet&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+
+<p>
+<a href="group_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects together. <a href="class_context_provider_1_1_group.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/hierarchy.html b/libcontextprovider/doc/html/hierarchy.html
new file mode 100644
index 00000000..f23521f6
--- /dev/null
+++ b/libcontextprovider/doc/html/hierarchy.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Hierarchical Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="class_context_feature.html">ContextFeature</a>
+<li><a class="el" href="class_context_real_logger.html">ContextRealLogger</a>
+<li><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>
+<li><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a>
+<li><a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a>
+<li><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a>
+<ul>
+<li><a class="el" href="class_context_provider_1_1_group_listener.html">ContextProvider::GroupListener</a>
+<li><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a>
+</ul>
+<li><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a>
+<li><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a>
+<li><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a>
+<li><a class="el" href="struct_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a>
+<li><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a>
+<ul>
+<li><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a>
+</ul>
+<li><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a>
+<li><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a>
+<li><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/index.html b/libcontextprovider/doc/html/index.html
new file mode 100644
index 00000000..3bbd5293
--- /dev/null
+++ b/libcontextprovider/doc/html/index.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Providing values for Context properties</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Providing values for Context properties</h1>
+<p>
+This library implements the provider side of the ContextKit's D-Bus protocol. It has both a C++ and a C interface, so you can choose which you prefer. For the documentation of the C API, see <a class="el" href="capi.html">CApi</a>.<p>
+The C++ interface consists mainly of the three classes <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>, <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>, and <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> in the namespace <a class="el" href="namespace_context_provider.html">ContextProvider</a>. They are declared in the <a class="el" href="namespace_context_provider.html">ContextProvider</a> header file.<p>
+Thus, you would typically gain access to the classes like this<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="_context_provider.html">ContextProvider</a>&gt;</span>
+
+ <span class="keyword">using namespace </span>ContextProvider;
+
+ Service my_service (...);
+</pre></div><p>
+If you prefer not to have generic names like "Service" in your code, you can of course skip the "using" declaration and refer to the classes as "ContextProvider::Service", etc. If that is too long, consider a namespace alias like this:<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="_context_provider.html">ContextProvider</a>&gt;</span>
+
+ <span class="keyword">namespace </span>CP = ContextProvider;
+
+ CP::Service my_service (...);
+</pre></div><p>
+The basic pattern to use this library is to create a <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> instance to represent you on D-Bus and then to add <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> instances to it for the keys that you want to provide. Once this is done, you can call Property::set() at any time to change the value of the property.<p>
+Communication with clients happens asynchronously and this library needs a running event loop for that.<p>
+Thus, a simple provider might look like this:<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="_context_provider.html">ContextProvider</a>&gt;</span>
+
+ <span class="keyword">using namespace </span>ContextProvider;
+
+ <span class="keywordtype">void</span> main(<span class="keywordtype">int</span> <a class="code" href="contextc_8cpp.html#d1447518f4372828b8435ae82e48499e">argc</a>, <span class="keywordtype">char</span> **<a class="code" href="contextc_8cpp.html#34d7542664850bdf79197020d3e9532f">argv</a>)
+ {
+ QApplication <a class="code" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">app</a>(argc, argv);
+
+ Service my_service(QDBusConnection::SessionBus, <span class="stringliteral">"com.example.simple"</span>);
+ Property my_property(my_service, <span class="stringliteral">"Example.Simple"</span>);
+
+ <span class="comment">// set initial value of property</span>
+ my_property.set(100);
+
+ <a class="code" href="contextc_8cpp.html#b751c4ea835b01f1db167e4fbc8f042d">app</a>.exec();
+ }
+</pre></div><p>
+If you need to know when someone actually subscribes to one of your values, you can connect to the firstSubscriberAppeared and lastSubscriberDisappeared signals of the <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> instances. You can also use a <a class="el" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> if you are only interested in whether at least one of a set of <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects is subscribed to. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/listeners_8cpp.html b/libcontextprovider/doc/html/listeners_8cpp.html
new file mode 100644
index 00000000..2c268d63
--- /dev/null
+++ b/libcontextprovider/doc/html/listeners_8cpp.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: listeners.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>listeners.cpp File Reference</h1><code>#include &quot;<a class="el" href="listeners_8h-source.html">listeners.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/listeners_8h-source.html b/libcontextprovider/doc/html/listeners_8h-source.html
new file mode 100644
index 00000000..9e1ace72
--- /dev/null
+++ b/libcontextprovider/doc/html/listeners_8h-source.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: listeners.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>listeners.h</h1><a href="listeners_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef LISTENERS_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define LISTENERS_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="service_8h.html">service.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="property_8h.html">property.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="group_8h.html">group.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="contextc_8h.html">contextc.h</a>"</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">class </span>PropertyListener;
+<a name="l00037"></a>00037 <span class="keyword">class </span>Listener;
+<a name="l00038"></a>00038 <span class="keyword">class </span>ContextGroupListener;
+<a name="l00039"></a>00039
+<a name="l00040"></a><a class="code" href="class_context_provider_1_1_listener.html">00040</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_listener.html">Listener</a> : <span class="keyword">public</span> QObject
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 Q_OBJECT
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">public</span>:
+<a name="l00045"></a>00045 <a class="code" href="class_context_provider_1_1_listener.html#368c85228815acdd0e6964f0da75e152">Listener</a>(<span class="keywordtype">bool</span> clears, <a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, <span class="keywordtype">void</span> *dt);
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">private</span> slots:
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> onFirstSubscriberAppeared();
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> onLastSubscriberDisappeared();
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">protected</span>:
+<a name="l00052"></a>00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_listener.html#d60c66c519e5941a71b0becc0d3abf5c">clear</a>() = 0;
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">private</span>:
+<a name="l00055"></a>00055 <a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> callback;
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> *user_data;
+<a name="l00057"></a>00057 <span class="keywordtype">bool</span> clearsOnSubscribe;
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a><a class="code" href="class_context_provider_1_1_property_listener.html">00060</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_property_listener.html">PropertyListener</a> : <span class="keyword">public</span> <a class="code" href="class_context_provider_1_1_listener.html">Listener</a>
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 Q_OBJECT
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">public</span>:
+<a name="l00065"></a>00065 <a class="code" href="class_context_provider_1_1_property_listener.html#aca36ab1765f01f5ed6678a7b0ca3605">PropertyListener</a>(<a class="code" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> &amp;service, <span class="keyword">const</span> QString &amp;key,
+<a name="l00066"></a>00066 <span class="keywordtype">bool</span> clears, <a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, <span class="keywordtype">void</span> *dt);
+<a name="l00067"></a><a class="code" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">00067</a> <a class="code" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> <a class="code" href="class_context_provider_1_1_property_listener.html#7deeeaa5a67e484dab059ed834315499">prop</a>;
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">protected</span>:
+<a name="l00070"></a>00070 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_listener.html#fd2fac0dfe47e45fb7a80b51f5565eef">clear</a>();
+<a name="l00071"></a>00071 };
+<a name="l00072"></a>00072
+<a name="l00073"></a><a class="code" href="class_context_provider_1_1_group_listener.html">00073</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_group_listener.html">GroupListener</a> : <span class="keyword">public</span> <a class="code" href="class_context_provider_1_1_listener.html">Listener</a>
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 Q_OBJECT
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">public</span>:
+<a name="l00078"></a>00078 <a class="code" href="class_context_provider_1_1_group_listener.html#00a56babe6eaec539b1df50861e00180">GroupListener</a>(<a class="code" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> &amp;service, <span class="keyword">const</span> QStringList &amp;keys,
+<a name="l00079"></a>00079 <span class="keywordtype">bool</span> clears, <a class="code" href="contextc_8h.html#f72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, <span class="keywordtype">void</span> *dt);
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">protected</span>:
+<a name="l00082"></a>00082 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_group_listener.html#7ca28f3f65eac2882bfe6eac4b2468b1">clear</a>();
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">private</span>:
+<a name="l00085"></a>00085 <a class="code" href="class_context_provider_1_1_group.html" title="Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple Property...">Group</a> group;
+<a name="l00086"></a>00086 QStringList keyList;
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 } <span class="comment">// end namespace</span>
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/listeners_8h.html b/libcontextprovider/doc/html/listeners_8h.html
new file mode 100644
index 00000000..6d38e54b
--- /dev/null
+++ b/libcontextprovider/doc/html/listeners_8h.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: listeners.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>listeners.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &quot;<a class="el" href="service_8h-source.html">service.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="property_8h-source.html">property.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="group_8h-source.html">group.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextc_8h-source.html">contextc.h</a>&quot;</code><br>
+
+<p>
+<a href="listeners_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_listener.html">ContextProvider::Listener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group_listener.html">ContextProvider::GroupListener</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/logging.html b/libcontextprovider/doc/html/logging.html
new file mode 100644
index 00000000..3dd543ff
--- /dev/null
+++ b/libcontextprovider/doc/html/logging.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: </title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+The library (and ContexKit in general) use a simple logging system designed to unify the output and make the debugging easier.<h2><a class="anchor" name="API">
+API</a></h2>
+Four types of log messages (presented here in the order of importance) are supported: <b>Test</b>, <b>Debug</b>, <b>Warning</b> and <b>Critical</b>.<p>
+The first one, the <b>Test</b> message requires some attention. It's meant to be used from tests and unit-tests to log various stages of the test execution. It'll make the test output more easily filterable.<p>
+The log messages can be used like this:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">contextTest</a>() &lt;&lt; <span class="stringliteral">"This is some message"</span>;
+ <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">"My value is:"</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">contextWarning</a>() &lt;&lt; <span class="stringliteral">"Expecting key:"</span> &lt;&lt; something.getKey();
+ <a class="code" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">contextCritical</a>() &lt;&lt; 5 &lt;&lt; <span class="stringliteral">"is bigger than"</span> &lt;&lt; 4;
+</pre></div><p>
+Notice that the logging framework (very much like ie <b>qDebug</b>) automatically ads whitespace. So:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">"My value is"</span> &lt;&lt; 5 &lt;&lt; <span class="stringliteral">"and should be 5"</span>;
+</pre></div><p>
+...will actually print:<p>
+<div class="fragment"><pre class="fragment"> My value is 5 and should be 5
+</pre></div><h2><a class="anchor" name="compilecontrol">
+Compile-time verbosity control</a></h2>
+During the compile time certain defines can be used to turn-off debug messages. Those defines are:<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_HIDE_TEST
+ CONTEXT_LOG_HIDE_DEBUG
+ CONTEXT_LOG_HIDE_WARNING
+ CONTEXT_LOG_HIDE_CRITICAL
+</pre></div><p>
+A given define makes a respective macro message evaluate to an empty code. To be precise: it makes the macro message evaluate to an inline do-nothing class that is optimized by the compiler to do nothing.<p>
+When ie. <code>CONTEXT_LOG_HIDE_DEBUG</code> define is used to turn off <code><a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug()</a></code> messages, the actual string content of the debug messages is <b>not</b> included in the binary and during runtime the machine does not spend time evaluating it.<p>
+Those compile-time control defines are integrated in the build/configure system.<h2><a class="anchor" name="runtimecontrol">
+Run-time verbosity control</a></h2>
+During run-time, the amount of debugging can be limited (filtered) but it can't be increased (expanded). In other words, if a package was compiled with warnings-only, it's not possible to make it show debug messages at runtime. But it is possible to make it criticals-only.<p>
+The filtering happens via env variables. The major player is the <code>CONTEXT_LOG_VERBOSITY</code> variable which can be set to <code>TEST</code>, <code>DEBUG</code>, <code>WARNING</code> and <code>CRITICAL</code>. The <code>CONTEXT_LOG_VERBOSITY</code> specifies the minimal level of the messages shown. Ie. <code>CONTEXT_LOG_VERBOSITY</code> set to <code>WARNING</code> will show only warning and criticals.<p>
+The format of the output can be tweaked with <code>CONTEXT_LOG_HIDE_TIMESTAMPS</code> and <code>CONTEXT_LOG_USE_COLOR</code>. The first one makes the messages shorter by skipping the timestamp info. The second one adds a little bit of ANSI coloring to the messages.<p>
+<code>CONTEXT_LOG_SHOW_MODULE</code> will filter-out (kill) all messages <b>except</b> the ones coming from the specified module. Ie.:<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_SHOW_MODULE=<span class="stringliteral">"subscriber"</span> ./some-binary
+</pre></div><p>
+...will run <code></code>./some-binary showing log messages <b>only</b> from <code>subscriber</code> module.<p>
+Lastly, <code>CONTEXT_LOG_HIDE_MODULE</code> will hide log messages coming from the specified module. All other messages will be show.<h2><a class="anchor" name="modules">
+Modules in logging</a></h2>
+In previous section we discussed and mentioned modules. For the purpose of logging, a module is a piece of code (not neccesarily limited to one binary or shared object) that forms one component (feature-wise). Specyfying and naming the modules is used to set the origin of the logging messages.<p>
+The logging module is set using the <code>CONTEXT_LOG_MODULE_NAME</code> define. It should be (in most cases) defined in the build system and automatically applied to the whole source code. Typically (with autotools) this can be achieved with something similar too:<p>
+<div class="fragment"><pre class="fragment"> ...
+ AM_CXXFLAGS = <span class="stringliteral">'-DCONTEXT_LOG_MODULE_NAME="libtest"'</span>
+ ...
+</pre></div><p>
+If <code>CONTEXT_LOG_MODULE_NAME</code> is undefined, the log messages will be marked as coming from an <b>"Undefined"</b> module.<h2><a class="anchor" name="features">
+Featues</a></h2>
+It's possible also to assign logging messages to feature groups and control the output based on that. Features can be compared to tags - one message can belong to zero or more features. To add to a feature to a log message:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"threads"</span>) &lt;&lt; <span class="stringliteral">"Message goes here"</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"threads"</span>) &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"something"</span>) &lt;&lt; <span class="stringliteral">"Message..."</span>;
+</pre></div><p>
+It doesn't matter where features are added to the message. There is no specific order required. The following syntax is supported as well:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"threads"</span>) &lt;&lt; <span class="stringliteral">"Some message..."</span> &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"another"</span>);
+</pre></div><p>
+There are two enviornment variables that control the output of messages vs. features: <b>CONTEXT_LOG_SHOW_FEATURES</b> and <b>CONTEXT_LOG_HIDE_FEATURES</b>. Both take a comma-separated list of features.<p>
+If you specify CONTEXT_LOG_SHOW_FEATURES only messages with given features will be printed to the screen. If you specify <b>CONTEXT_LOG_HIDE_FEATURES</b>, messages with the specified features will be hidden (not displayed). For example:<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_SHOW_FEATURES=<span class="stringliteral">"threads,util"</span> ./some-binary
+</pre></div><p>
+...will make <b>only</b> the messages belonging to "threads" or "util" features displayed.<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_HIDE_FEATURES=<span class="stringliteral">"threads,util"</span> ./some-binary
+</pre></div><p>
+...will hide all logging messages belonging to "threads" and "util" feature groups.<h2><a class="anchor" name="vanilla">
+Vanilla</a></h2>
+If the default logging output is too much for you, it's possible to set a CONTEXT_LOG_VANILLA enviornment variable. This will simplify the logging output greatly -- no timestamps will be printed, no module information will be printed, no line/function/class info will be printed. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/logging_8cpp.html b/libcontextprovider/doc/html/logging_8cpp.html
new file mode 100644
index 00000000..a429d1d5
--- /dev/null
+++ b/libcontextprovider/doc/html/logging_8cpp.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: logging.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>logging.cpp File Reference</h1><code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;fcntl.h&gt;</code><br>
+<code>#include &lt;QDateTime&gt;</code><br>
+<code>#include &lt;QFile&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/logging_8h-source.html b/libcontextprovider/doc/html/logging_8h-source.html
new file mode 100644
index 00000000..7b4cd9bc
--- /dev/null
+++ b/libcontextprovider/doc/html/logging_8h-source.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: logging.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>logging.h</h1><a href="logging_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef LOGGING_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define LOGGING_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QIODevice&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QTextStream&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QBuffer&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QDebug&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">00032</a> <span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_TEST 1</span>
+<a name="l00033"></a><a class="code" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_DEBUG 2</span>
+<a name="l00034"></a><a class="code" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_WARNING 3</span>
+<a name="l00035"></a><a class="code" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_CRITICAL 4</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef CONTEXT_LOG_MODULE_NAME</span>
+<a name="l00038"></a><a class="code" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MODULE_NAME "unknown"</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span>
+<a name="l00041"></a><a class="code" href="class_context_feature.html">00041</a> <span class="keyword">class </span><a class="code" href="class_context_feature.html" title="This class represents a &amp;quot;feature&amp;quot; in the logging framework/system.">ContextFeature</a>
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">public</span>:
+<a name="l00044"></a>00044 <a class="code" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b" title="Constructor for a new feature.name is the feature name.">ContextFeature</a>(QString name);
+<a name="l00045"></a>00045 QString <a class="code" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7" title="Returns the name of the feature.">getName</a>() <span class="keyword">const</span>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">private</span>:
+<a name="l00048"></a>00048 QString featureName;
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a><a class="code" href="class_context_real_logger.html">00051</a> <span class="keyword">class </span><a class="code" href="class_context_real_logger.html" title="A real logging class.">ContextRealLogger</a> : <span class="keyword">public</span> QTextStream
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">public</span>:
+<a name="l00054"></a>00054 <a class="code" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637" title="Constructor.">ContextRealLogger</a>(<span class="keywordtype">int</span> msgType, <span class="keyword">const</span> <span class="keywordtype">char</span> *module, <span class="keyword">const</span> <span class="keywordtype">char</span> *func, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line);
+<a name="l00055"></a>00055 <a class="code" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16" title="Destructor, prints end-of-line before going down.">~ContextRealLogger</a>();
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">00057</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b" title="Test messages enabled at runtime.">showTest</a>;
+<a name="l00058"></a><a class="code" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">00058</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07" title="Debug messages enabled at runtime.">showDebug</a>;
+<a name="l00059"></a><a class="code" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">00059</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2" title="Warning messages enabled at runtime.">showWarning</a>;
+<a name="l00060"></a><a class="code" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">00060</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0" title="Critical messages enabled at runtime.">showCritical</a>;
+<a name="l00061"></a><a class="code" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">00061</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8" title="Class initialized/env vars parsed.">initialized</a>;
+<a name="l00062"></a><a class="code" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">00062</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45" title="Don&amp;#39;t print timestamps.">hideTimestamps</a>;
+<a name="l00063"></a><a class="code" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">00063</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902" title="Use simple colors for output (yellow for warnings, red for criticals).">useColor</a>;
+<a name="l00064"></a><a class="code" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">00064</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2" title="Show messages only from the specified module.">showModule</a>;
+<a name="l00065"></a><a class="code" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">00065</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f" title="Hide messages from the specified module.">hideModule</a>;
+<a name="l00066"></a><a class="code" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">00066</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486" title="Show messages with only the specified features.">showFeatures</a>;
+<a name="l00067"></a><a class="code" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">00067</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61" title="Hide messages with the specified features.">hideFeatures</a>;
+<a name="l00068"></a><a class="code" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">00068</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413" title="Use vanilla (stripped-down) logging.">vanilla</a>;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4" title="Initialize the class by checking the enviornment variables and setting the message...">initialize</a>();
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <a class="code" href="class_context_real_logger.html" title="A real logging class.">ContextRealLogger</a> &amp;<a class="code" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b" title="Operator for appending features.">operator&lt;&lt; </a>(<span class="keyword">const</span> <a class="code" href="class_context_feature.html" title="This class represents a &amp;quot;feature&amp;quot; in the logging framework/system.">ContextFeature</a>&amp;);
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="comment">// ContextRealLogger &amp;operator&lt;&lt; (const char *str);</span>
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">00076</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="class_context_real_logger.html" title="A real logging class.">ContextRealLogger</a> &amp;<a class="code" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b" title="Operator for appending features.">operator&lt;&lt; </a>(<span class="keyword">const</span> T&amp; qSomething)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 QString out;
+<a name="l00079"></a>00079 QDebug(&amp;out) &lt;&lt; qSomething;
+<a name="l00080"></a>00080 <a class="code" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b" title="Operator for appending features.">QTextStream::operator&lt;&lt;</a>(out);
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">private</span>:
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordtype">bool</span> shouldPrint();
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> appendFeatures();
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordtype">int</span> msgType;
+<a name="l00090"></a>00090 <span class="keyword">const</span> <span class="keywordtype">char</span>* moduleName;
+<a name="l00091"></a>00091 QString data;
+<a name="l00092"></a>00092 QStringList features;
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00106"></a><a class="code" href="class_context_zero_logger.html">00106</a> <span class="keyword">class </span><a class="code" href="class_context_zero_logger.html" title="A fake logging class.">ContextZeroLogger</a>
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">public</span>:
+<a name="l00110"></a><a class="code" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">00110</a> <span class="keyword">inline</span> <a class="code" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7" title="Constructor. Does nothing.">ContextZeroLogger</a>() {}
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">/* Stubby ops */</span>
+<a name="l00113"></a><a class="code" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">00113</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <a class="code" href="class_context_zero_logger.html" title="A fake logging class.">ContextZeroLogger</a> &amp;<a class="code" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb" title="Does nothing.">operator&lt;&lt; </a>(<span class="keyword">const</span> T&amp;) { <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">/* Macro defs */</span>
+<a name="l00117"></a>00117
+<a name="l00118"></a><a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">00118</a> <span class="preprocessor">#define contextFeature(name) (ContextFeature(name))</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span>
+<a name="l00120"></a>00120 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_TEST</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define contextTest() (ContextZeroLogger())</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00123"></a><a class="code" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">00123</a> <span class="preprocessor"></span><span class="preprocessor">#define contextTest() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_TEST, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span>
+<a name="l00126"></a>00126 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_DEBUG</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define contextDebug() (ContextZeroLogger())</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00129"></a><a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">00129</a> <span class="preprocessor"></span><span class="preprocessor">#define contextDebug() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_DEBUG, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00131"></a>00131 <span class="preprocessor"></span>
+<a name="l00132"></a>00132 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_WARNING</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define contextWarning() (ContextZeroLogger())</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00135"></a><a class="code" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">00135</a> <span class="preprocessor"></span><span class="preprocessor">#define contextWarning() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_WARNING, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span>
+<a name="l00138"></a>00138 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_CRITICAL</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define contextCritical() (ContextZeroLogger())</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00141"></a><a class="code" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define contextCritical() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_CRITICAL, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+<a name="l00144"></a>00144 <span class="preprocessor">#endif // LOGGING_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/logging_8h.html b/libcontextprovider/doc/html/logging_8h.html
new file mode 100644
index 00000000..daf94d36
--- /dev/null
+++ b/libcontextprovider/doc/html/logging_8h.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: logging.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>logging.h File Reference</h1><code>#include &lt;QIODevice&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QTextStream&gt;</code><br>
+<code>#include &lt;QBuffer&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+
+<p>
+<a href="logging_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html">ContextFeature</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class represents a "feature" in the logging framework/system. <a href="class_context_feature.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A real logging class. <a href="class_context_real_logger.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fake logging class. <a href="class_context_zero_logger.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">CONTEXT_LOG_MSG_TYPE_TEST</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">CONTEXT_LOG_MSG_TYPE_DEBUG</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">CONTEXT_LOG_MSG_TYPE_WARNING</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">CONTEXT_LOG_MSG_TYPE_CRITICAL</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">CONTEXT_LOG_MODULE_NAME</a>&nbsp;&nbsp;&nbsp;&quot;unknown&quot;</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(name)&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(name))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">contextTest</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_TEST, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_DEBUG, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">contextWarning</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_WARNING, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">contextCritical</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_CRITICAL, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a01ef6b4b7c61c0ae8d236d07bc69a62"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MODULE_NAME" ref="a01ef6b4b7c61c0ae8d236d07bc69a62" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MODULE_NAME&nbsp;&nbsp;&nbsp;&quot;unknown&quot; </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5caff9634fb82d206523ecc35720802c"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_CRITICAL" ref="5caff9634fb82d206523ecc35720802c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_CRITICAL&nbsp;&nbsp;&nbsp;4 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="31a4dd1d3ccd43a859bc3b3c12de8a83"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_DEBUG" ref="31a4dd1d3ccd43a859bc3b3c12de8a83" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_DEBUG&nbsp;&nbsp;&nbsp;2 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f4c5c4bc7df62d9c450a10142ada2f73"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_TEST" ref="f4c5c4bc7df62d9c450a10142ada2f73" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_TEST&nbsp;&nbsp;&nbsp;1 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="135d5a5bda27a9c86559a49deba43788"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_WARNING" ref="135d5a5bda27a9c86559a49deba43788" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_WARNING&nbsp;&nbsp;&nbsp;3 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7f115b5076497bd3af236e8778940ea1"></a><!-- doxytag: member="logging.h::contextCritical" ref="7f115b5076497bd3af236e8778940ea1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextCritical </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_CRITICAL, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d9c4e9fd2b26240900ff7c74cd7e8404"></a><!-- doxytag: member="logging.h::contextDebug" ref="d9c4e9fd2b26240900ff7c74cd7e8404" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextDebug </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_DEBUG, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fbeb0b1d3a7070b195c5a6a5a062dc56"></a><!-- doxytag: member="logging.h::contextFeature" ref="fbeb0b1d3a7070b195c5a6a5a062dc56" args="(name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextFeature </td>
+ <td>(</td>
+ <td class="paramtype">name&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(name))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="bfb57c8a40821bf0caa9a29a8dfc47b7"></a><!-- doxytag: member="logging.h::contextTest" ref="bfb57c8a40821bf0caa9a29a8dfc47b7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextTest </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_TEST, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="63433fe15ab356004ccdd4263b0910c0"></a><!-- doxytag: member="logging.h::contextWarning" ref="63433fe15ab356004ccdd4263b0910c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextWarning </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_WARNING, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/loggingfeatures_8h-source.html b/libcontextprovider/doc/html/loggingfeatures_8h-source.html
new file mode 100644
index 00000000..538420d0
--- /dev/null
+++ b/libcontextprovider/doc/html/loggingfeatures_8h-source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: loggingfeatures.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>loggingfeatures.h</h1><a href="loggingfeatures_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef FEATURES_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define FEATURES_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a><a class="code" href="loggingfeatures_8h.html#deba982b0ad41bfd090a405f867e212b">00025</a> <span class="preprocessor">#define F_SERVICE (ContextFeature("service"))</span>
+<a name="l00026"></a><a class="code" href="loggingfeatures_8h.html#a6880210114ff09ecc320e99c36f6e37">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define F_SERVICE_BACKEND (ContextFeature("servicebackend"))</span>
+<a name="l00027"></a><a class="code" href="loggingfeatures_8h.html#a881d68e06073c6e502b5f016b9bff6a">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define F_PROPERTY (ContextFeature("property"))</span>
+<a name="l00028"></a><a class="code" href="loggingfeatures_8h.html#3fb8d13817c872564bdd14246c8725c4">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define F_MANAGER (ContextFeature("manager"))</span>
+<a name="l00029"></a><a class="code" href="loggingfeatures_8h.html#1fcf2fbcf3425bbde71ae2fd065fcc76">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define F_SUBSCRIBER (ContextFeature("subscriber"))</span>
+<a name="l00030"></a><a class="code" href="loggingfeatures_8h.html#acbda055c445dacbfd21502f47961937">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define F_GROUP (ContextFeature("group"))</span>
+<a name="l00031"></a><a class="code" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define F_DESTROY (ContextFeature("destroy"))</span>
+<a name="l00032"></a><a class="code" href="loggingfeatures_8h.html#a2135bd5e0b76f9686bff0aabf6c570d">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define F_SIGNALS (ContextFeature("signals"))</span>
+<a name="l00033"></a><a class="code" href="loggingfeatures_8h.html#e91377869d2b8c07c759312d81180d47">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define F_DBUS (ContextFeature("dbus"))</span>
+<a name="l00034"></a><a class="code" href="loggingfeatures_8h.html#a18351b635d165e6c6b3c0fd2e9fb010">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define F_C (ContextFeature("cbindings"))</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/loggingfeatures_8h.html b/libcontextprovider/doc/html/loggingfeatures_8h.html
new file mode 100644
index 00000000..d78314f8
--- /dev/null
+++ b/libcontextprovider/doc/html/loggingfeatures_8h.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: loggingfeatures.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>loggingfeatures.h File Reference</h1>
+<p>
+<a href="loggingfeatures_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#deba982b0ad41bfd090a405f867e212b">F_SERVICE</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;service&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a6880210114ff09ecc320e99c36f6e37">F_SERVICE_BACKEND</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;servicebackend&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a881d68e06073c6e502b5f016b9bff6a">F_PROPERTY</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;property&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#3fb8d13817c872564bdd14246c8725c4">F_MANAGER</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;manager&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#1fcf2fbcf3425bbde71ae2fd065fcc76">F_SUBSCRIBER</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;subscriber&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#acbda055c445dacbfd21502f47961937">F_GROUP</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;group&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">F_DESTROY</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;destroy&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a2135bd5e0b76f9686bff0aabf6c570d">F_SIGNALS</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;signals&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#e91377869d2b8c07c759312d81180d47">F_DBUS</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;dbus&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a18351b635d165e6c6b3c0fd2e9fb010">F_C</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;cbindings&quot;))</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a18351b635d165e6c6b3c0fd2e9fb010"></a><!-- doxytag: member="loggingfeatures.h::F_C" ref="a18351b635d165e6c6b3c0fd2e9fb010" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_C&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;cbindings&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e91377869d2b8c07c759312d81180d47"></a><!-- doxytag: member="loggingfeatures.h::F_DBUS" ref="e91377869d2b8c07c759312d81180d47" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_DBUS&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;dbus&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3f992e5d9c45228ce6af4ffb0f3f38a3"></a><!-- doxytag: member="loggingfeatures.h::F_DESTROY" ref="3f992e5d9c45228ce6af4ffb0f3f38a3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_DESTROY&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;destroy&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="acbda055c445dacbfd21502f47961937"></a><!-- doxytag: member="loggingfeatures.h::F_GROUP" ref="acbda055c445dacbfd21502f47961937" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_GROUP&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;group&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3fb8d13817c872564bdd14246c8725c4"></a><!-- doxytag: member="loggingfeatures.h::F_MANAGER" ref="3fb8d13817c872564bdd14246c8725c4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_MANAGER&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;manager&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a881d68e06073c6e502b5f016b9bff6a"></a><!-- doxytag: member="loggingfeatures.h::F_PROPERTY" ref="a881d68e06073c6e502b5f016b9bff6a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_PROPERTY&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;property&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="deba982b0ad41bfd090a405f867e212b"></a><!-- doxytag: member="loggingfeatures.h::F_SERVICE" ref="deba982b0ad41bfd090a405f867e212b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_SERVICE&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;service&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a6880210114ff09ecc320e99c36f6e37"></a><!-- doxytag: member="loggingfeatures.h::F_SERVICE_BACKEND" ref="a6880210114ff09ecc320e99c36f6e37" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_SERVICE_BACKEND&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;servicebackend&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a2135bd5e0b76f9686bff0aabf6c570d"></a><!-- doxytag: member="loggingfeatures.h::F_SIGNALS" ref="a2135bd5e0b76f9686bff0aabf6c570d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_SIGNALS&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;signals&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1fcf2fbcf3425bbde71ae2fd065fcc76"></a><!-- doxytag: member="loggingfeatures.h::F_SUBSCRIBER" ref="1fcf2fbcf3425bbde71ae2fd065fcc76" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_SUBSCRIBER&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;subscriber&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/manager_8cpp.html b/libcontextprovider/doc/html/manager_8cpp.html
new file mode 100644
index 00000000..85061a3e
--- /dev/null
+++ b/libcontextprovider/doc/html/manager_8cpp.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: manager.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>manager.cpp File Reference</h1><code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="subscriber_8h-source.html">subscriber.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/manager_8h-source.html b/libcontextprovider/doc/html/manager_8h-source.html
new file mode 100644
index 00000000..0570c0cf
--- /dev/null
+++ b/libcontextprovider/doc/html/manager_8h-source.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: manager.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>manager.h</h1><a href="manager_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef MANAGER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define MANAGER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QHash&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">class </span>Subscriber;
+<a name="l00033"></a>00033
+<a name="l00034"></a><a class="code" href="class_context_provider_1_1_manager.html">00034</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> : <span class="keyword">public</span> QObject
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 Q_OBJECT
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">public</span>:
+<a name="l00039"></a>00039 <a class="code" href="class_context_provider_1_1_manager.html#690f98398be0562a475c7c3191dab82f">Manager</a>();
+<a name="l00040"></a>00040 <a class="code" href="class_context_provider_1_1_manager.html#28223781c8fa135b05993ce31b2b26cb" title="Destroys the Manager.">~Manager</a>();
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <a class="code" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a>* <a class="code" href="class_context_provider_1_1_manager.html#2c020866b5871894a5f2149dea6252a3" title="Gives the Subscriber object to a client with a given busName.">getSubscriber</a>(<span class="keyword">const</span> QString &amp;busName);
+<a name="l00043"></a>00043 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_manager.html#1a06f69bb5e25b957b8d2163d1596678" title="Returns true if the given key is valid for this Manager.">keyIsValid</a>(<span class="keyword">const</span> QString &amp;key) <span class="keyword">const</span>;
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#87b54dba08c59479a11b3c7c223bda9b" title="Increases the subscription count for the given key.">increaseSubscriptionCount</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#f2d5d29f10a473bb71c5cf1a9dc53708" title="Decreases the subscription count for the given key.">decreaseSubscriptionCount</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#06c2c0a4b9f837377d19d891375a5fab" title="Sets the given key to a new value v.">setKeyValue</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;v);
+<a name="l00047"></a>00047 QVariant <a class="code" href="class_context_provider_1_1_manager.html#e28730fbd946143d5f257f8647200c96" title="Returns the current value of the key.">getKeyValue</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00048"></a>00048 <span class="keywordtype">int</span> <a class="code" href="class_context_provider_1_1_manager.html#6a2a5d39c7ba6a770645f91dfea7011a" title="Returns the current subscription count for the given key.">getSubscriptionCount</a>(<span class="keyword">const</span> QString &amp;key) <span class="keyword">const</span>;
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#c8535b2e47e2b67546dc3e2f28e6e665" title="Informs the Manager that the specified bus name is now gone.">busNameIsGone</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_manager.html#862864581c8c8fabb871211ec50735b4" title="Returns true if the Manager has a Subscriber object with the given name.">hasSubscriberWithBusName</a>(<span class="keyword">const</span> QString &amp;name) <span class="keyword">const</span>;
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#c4b4c739c7429a94a3294af47ee0fbf7" title="Add a key to this Manager.">addKey</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00052"></a>00052 QStringList <a class="code" href="class_context_provider_1_1_manager.html#36d1aa023f27e2d5852a5e48b1974806" title="Returns the list of keys handled by this Manager.">getKeys</a>();
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 signals:
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#f63b1764b3ca90140dddc0e041a2c0c5" title="Emitted when the first subscriber appears for the specified key.">firstSubscriberAppeared</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00057"></a>00057
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#53f6700553dfe9958cae15a2c7f12142" title="Emitted when the last subscriber disappears from the specified key.">lastSubscriberDisappeared</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00060"></a>00060
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager.html#34c580dc9b1a105d083fa44d06fff1ee" title="Emitted when a key managed by the Manager changes to value newValue.">keyValueChanged</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant&amp; newValue);
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">private</span>:
+<a name="l00065"></a>00065 QHash&lt;QString, Subscriber*&gt; busNamesToSubscribers;
+<a name="l00066"></a>00066 QHash&lt;QString, QVariant&gt; keysToValues;
+<a name="l00067"></a>00067 QHash&lt;QString, int&gt; keysToSubscriptionCount;
+<a name="l00068"></a>00068 <span class="keywordtype">int</span> subscriberCounter;
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 } <span class="comment">// namespace ContextProvider</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/manager_8h.html b/libcontextprovider/doc/html/manager_8h.html
new file mode 100644
index 00000000..8131bbcf
--- /dev/null
+++ b/libcontextprovider/doc/html/manager_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: manager.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>manager.h File Reference</h1><code>#include &lt;QHash&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="manager_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html">ContextProvider::Manager</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> implements the org.freedesktop.ContextKit.Manager DBus interface. (With the help of <a class="el" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a>.) It creates and manages the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects. There is one <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> object per each service. <a href="class_context_provider_1_1_manager.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/manageradaptor_8cpp.html b/libcontextprovider/doc/html/manageradaptor_8cpp.html
new file mode 100644
index 00000000..d5a2d7cf
--- /dev/null
+++ b/libcontextprovider/doc/html/manageradaptor_8cpp.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: manageradaptor.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>manageradaptor.cpp File Reference</h1><code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &quot;<a class="el" href="manageradaptor_8h-source.html">manageradaptor.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="subscriberadaptor_8h-source.html">subscriberadaptor.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/manageradaptor_8h-source.html b/libcontextprovider/doc/html/manageradaptor_8h-source.html
new file mode 100644
index 00000000..6761e4b9
--- /dev/null
+++ b/libcontextprovider/doc/html/manageradaptor_8h-source.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: manageradaptor.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>manageradaptor.h</h1><a href="manageradaptor_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef MANAGERADAPTOR_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define MANAGERADAPTOR_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QDBusAbstractAdaptor&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QDBusMessage&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QDBusObjectPath&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="manager_8h.html">manager.h</a>"</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00033"></a>00033
+<a name="l00034"></a><a class="code" href="class_context_provider_1_1_manager_adaptor.html">00034</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a>: <span class="keyword">public</span> QDBusAbstractAdaptor
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 Q_OBJECT
+<a name="l00037"></a>00037 Q_CLASSINFO(<span class="stringliteral">"D-Bus Interface"</span>, <span class="stringliteral">"org.freedesktop.ContextKit.Manager"</span>)
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00040"></a>00040 <a class="code" href="class_context_provider_1_1_manager_adaptor.html#26c9041f8312d71870c893ffaa090f70" title="Constructor.">ManagerAdaptor</a> (<a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a>* manager, QDBusConnection *connection);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">public</span> slots:
+<a name="l00043"></a>00043 QDBusObjectPath <a class="code" href="class_context_provider_1_1_manager_adaptor.html#455687bceb79bf8ff24070f7c3ff730e" title="Executes Manager::getSubscriber on the managed Manager.">GetSubscriber</a>(<span class="keyword">const</span> QDBusMessage &amp;msg);
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_manager_adaptor.html#60676ba9f728f447093b5580346fede9" title="Dbus interface slot.">OnServiceOwnerChanged</a>(<span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString&amp;);
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">private</span>:
+<a name="l00047"></a>00047 <a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> *manager;
+<a name="l00048"></a>00048 QDBusConnection *connection;
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 } <span class="comment">// namespace ContextProvider</span>
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/manageradaptor_8h.html b/libcontextprovider/doc/html/manageradaptor_8h.html
new file mode 100644
index 00000000..705c1dbd
--- /dev/null
+++ b/libcontextprovider/doc/html/manageradaptor_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: manageradaptor.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>manageradaptor.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDBusAbstractAdaptor&gt;</code><br>
+<code>#include &lt;QDBusMessage&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QDBusObjectPath&gt;</code><br>
+<code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+
+<p>
+<a href="manageradaptor_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ContextProvider::ManagerAdaptor</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface. The primary operation to perform through this adaptor is to get the subscriber. <a href="class_context_provider_1_1_manager_adaptor.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/namespace_context_provider.html b/libcontextprovider/doc/html/namespace_context_provider.html
new file mode 100644
index 00000000..99fc086b
--- /dev/null
+++ b/libcontextprovider/doc/html/namespace_context_provider.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_group_private.html">GroupPrivate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html">Group</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Groups the firstSubscriberAppeared and lastSubscriberDisappeared from multiple <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> objects together. <a href="class_context_provider_1_1_group.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_listener.html">Listener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_listener.html">PropertyListener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group_listener.html">GroupListener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> implements the org.freedesktop.ContextKit.Manager DBus interface. (With the help of <a class="el" href="class_context_provider_1_1_manager_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface...">ManagerAdaptor</a>.) It creates and manages the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> objects. There is one <a class="el" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> object per each service. <a href="class_context_provider_1_1_manager.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_manager_adaptor.html">ManagerAdaptor</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A DBus adaptor for implementing the org.freedesktop.ContextKit.Manager interface. The primary operation to perform through this adaptor is to get the subscriber. <a href="class_context_provider_1_1_manager_adaptor.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_property_private.html">PropertyPrivate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html">Property</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object represents a context property, i.e., a key-value pair. <a href="class_context_provider_1_1_property.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_queued_invoker.html">QueuedInvoker</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class that can invoke its own methods in a delayed way. <a href="class_context_provider_1_1_queued_invoker.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html">Service</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is a proxy representing a service on D-Bus that implements the ContextKit interface. The lifespan of the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is not tied to the real service lifespan. This way a service can be accessed and controlled from different parts of the code. <a href="class_context_provider_1_1_service.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> is the real worker behind <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>. <a href="class_context_provider_1_1_service_backend.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html">Subscriber</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> implements the org.freedesktop.ContextKit.Subscriber DBus interface with help of the SubsciberAdaptor. <a href="class_context_provider_1_1_subscriber.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">SubscriberAdaptor</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A DBus adaptor for implementing the org.freedesktop.ContextKit.Subscriber interface. Using the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> the remote client can subscribe and unsubscribe from keys. <a href="class_context_provider_1_1_subscriber_adaptor.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/namespaces.html b/libcontextprovider/doc/html/namespaces.html
new file mode 100644
index 00000000..84a81d1c
--- /dev/null
+++ b/libcontextprovider/doc/html/namespaces.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Namespace Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/pages.html b/libcontextprovider/doc/html/pages.html
new file mode 100644
index 00000000..a83bb605
--- /dev/null
+++ b/libcontextprovider/doc/html/pages.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Page Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="capi.html">C Api</a>
+
+<li><a class="el" href="logging.html">Logging</a>
+
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/property_8cpp.html b/libcontextprovider/doc/html/property_8cpp.html
new file mode 100644
index 00000000..7ec295ed
--- /dev/null
+++ b/libcontextprovider/doc/html/property_8cpp.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: property.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>property.cpp File Reference</h1><code>#include &quot;<a class="el" href="service_8h-source.html">service.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="servicebackend_8h-source.html">servicebackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="property_8h-source.html">property.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/property_8h-source.html b/libcontextprovider/doc/html/property_8h-source.html
new file mode 100644
index 00000000..6fed25c3
--- /dev/null
+++ b/libcontextprovider/doc/html/property_8h-source.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: property.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>property.h</h1><a href="property_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef PROPERTY_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define PROPERTY_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QHash&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">class </span>Service;
+<a name="l00035"></a>00035 <span class="keyword">class </span>Manager;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">class </span>PropertyPrivate;
+<a name="l00038"></a>00038
+<a name="l00039"></a><a class="code" href="class_context_provider_1_1_property.html">00039</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> : <span class="keyword">public</span> QObject
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 Q_OBJECT
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">public</span>:
+<a name="l00044"></a>00044 <span class="keyword">explicit</span> <a class="code" href="class_context_provider_1_1_property.html#8b66e2cb81aca7f0162a51bb0e9c93f5" title="Create a Property object on service for the key k.">Property</a>(<a class="code" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> &amp;service, <span class="keyword">const</span> QString &amp;<a class="code" href="class_context_provider_1_1_property.html#b88d712808775617a9839523c537afcb" title="Returns the name of the key this Property represents.">key</a>, QObject *parent = 0);
+<a name="l00045"></a>00045 <span class="keyword">explicit</span> <a class="code" href="class_context_provider_1_1_property.html#8b66e2cb81aca7f0162a51bb0e9c93f5" title="Create a Property object on service for the key k.">Property</a>(<span class="keyword">const</span> QString &amp;key, QObject *parent = 0);
+<a name="l00046"></a>00046 <span class="keyword">virtual</span> <a class="code" href="class_context_provider_1_1_property.html#3c5fbb4b6f0ce1f779c2bfa6190ed8d2" title="Destructor.">~Property</a>();
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 QString <a class="code" href="class_context_provider_1_1_property.html#b88d712808775617a9839523c537afcb" title="Returns the name of the key this Property represents.">key</a>() <span class="keyword">const</span>;
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_property.html#cd83fed5c066aa375148738744e5b3e3" title="Returns true if the key is set (it&amp;#39;s value is determined).">isSet</a>() <span class="keyword">const</span>;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property.html#44c5ff15b11d53d2a44bc77cacb41314" title="Sets the property value to QVariant v.">setValue</a>(<span class="keyword">const</span> QVariant &amp;v);
+<a name="l00052"></a>00052 QVariant <a class="code" href="class_context_provider_1_1_property.html#f05d9adb2b2ee2a5d66e6a9875ccd167" title="Returns the current value of the property.">value</a>();
+<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property.html#a65dc7374559b7a7d86034b8c9ef9807" title="Unsets the value.">unsetValue</a>();
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">private</span>:
+<a name="l00056"></a>00056 <a class="code" href="struct_context_provider_1_1_property_private.html">PropertyPrivate</a> *priv;
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> init (<a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> *manger, <span class="keyword">const</span> QString &amp;key);
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">private</span> slots:
+<a name="l00060"></a>00060 <span class="keywordtype">void</span> onManagerFirstSubscriberAppeared(<span class="keyword">const</span> QString &amp;key);
+<a name="l00061"></a>00061 <span class="keywordtype">void</span> onManagerLastSubscriberDisappeared(<span class="keyword">const</span> QString &amp;key);
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 signals:
+<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property.html#edb511bfc215c2933193d5685c574943" title="This is emitted when the first subscriber appears for this Property.">firstSubscriberAppeared</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00068"></a>00068
+<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property.html#586f7dff49a3c4536acc289c314586ee" title="This is emitted when the last subscriber disappears for this Property.">lastSubscriberDisappeared</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 } <span class="comment">// end namespace</span>
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/property_8h.html b/libcontextprovider/doc/html/property_8h.html
new file mode 100644
index 00000000..b7011eac
--- /dev/null
+++ b/libcontextprovider/doc/html/property_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: property.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>property.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QHash&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="property_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a> object represents a context property, i.e., a key-value pair. <a href="class_context_provider_1_1_property.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/queuedinvoker_8cpp.html b/libcontextprovider/doc/html/queuedinvoker_8cpp.html
new file mode 100644
index 00000000..07e51403
--- /dev/null
+++ b/libcontextprovider/doc/html/queuedinvoker_8cpp.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: queuedinvoker.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>queuedinvoker.cpp File Reference</h1><code>#include &quot;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&quot;</code><br>
+<code>#include &lt;QMetaObject&gt;</code><br>
+<code>#include &lt;QThread&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/queuedinvoker_8h-source.html b/libcontextprovider/doc/html/queuedinvoker_8h-source.html
new file mode 100644
index 00000000..69f4930c
--- /dev/null
+++ b/libcontextprovider/doc/html/queuedinvoker_8h-source.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: queuedinvoker.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>queuedinvoker.h</h1><a href="queuedinvoker_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef QUEUEDINVOKER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define QUEUEDINVOKER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QMutex&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="class_context_provider_1_1_queued_invoker.html">00032</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a> : <span class="keyword">public</span> QObject
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 Q_OBJECT
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">public</span>:
+<a name="l00037"></a>00037 <a class="code" href="class_context_provider_1_1_queued_invoker.html#ff9aa4633138af31f3009ebf7b99f5b8">QueuedInvoker</a>(QObject* parent = 0);
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">private</span> slots:
+<a name="l00040"></a>00040 <span class="keywordtype">void</span> onQueuedCall(<span class="keyword">const</span> <span class="keywordtype">char</span> *method);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 signals:
+<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_queued_invoker.html#bf3792e97a37ae6b620cc03cad3fd6c3">queuedCall</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *method);
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">protected</span>:
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_queued_invoker.html#6b26e01ea4e92ca556e9d7ddedbe8881" title="Sets the method method to be invoked when the event loop of this object runs next...">queueOnce</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *method);
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">private</span>:
+<a name="l00049"></a>00049 QMutex callQueueLock;
+<a name="l00050"></a>00050 QSet&lt;QString&gt; callQueue;
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 } <span class="comment">// namespace ContextProvider</span>
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/queuedinvoker_8h.html b/libcontextprovider/doc/html/queuedinvoker_8h.html
new file mode 100644
index 00000000..87b8ee7e
--- /dev/null
+++ b/libcontextprovider/doc/html/queuedinvoker_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: queuedinvoker.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>queuedinvoker.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QSet&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+
+<p>
+<a href="queuedinvoker_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_queued_invoker.html">ContextProvider::QueuedInvoker</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class that can invoke its own methods in a delayed way. <a href="class_context_provider_1_1_queued_invoker.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/sconnect_8h-source.html b/libcontextprovider/doc/html/sconnect_8h-source.html
new file mode 100644
index 00000000..8bd40773
--- /dev/null
+++ b/libcontextprovider/doc/html/sconnect_8h-source.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: sconnect.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>sconnect.h</h1><a href="sconnect_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SCONNECT_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SCONNECT_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QDebug&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a><a class="code" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">00028</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect</a>(<span class="keyword">const</span> QObject *from, <span class="keyword">const</span> <span class="keywordtype">char</span>* fromSignal,
+<a name="l00029"></a>00029 <span class="keyword">const</span> QObject *to, <span class="keyword">const</span> <span class="keywordtype">char</span>* toSignal, Qt::ConnectionType type = Qt::AutoConnection)
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keywordflow">if</span> (!QObject::connect(from, fromSignal, to, toSignal, type))
+<a name="l00032"></a>00032 qFatal(<span class="stringliteral">" *****************\n"</span>
+<a name="l00033"></a>00033 <span class="stringliteral">"Connect returned false, aborting, enable core dumping (ulimit -c unlimited), \n"</span>
+<a name="l00034"></a>00034 <span class="stringliteral">"enable debug (qmake CONFIG+=debug), recompile, rerun and then use the\n"</span>
+<a name="l00035"></a>00035 <span class="stringliteral">"core file with gdb's backtrace to see the location.\n"</span>
+<a name="l00036"></a>00036 <span class="stringliteral">" *****************\n"</span>);
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/sconnect_8h.html b/libcontextprovider/doc/html/sconnect_8h.html
new file mode 100644
index 00000000..d934f101
--- /dev/null
+++ b/libcontextprovider/doc/html/sconnect_8h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: sconnect.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>sconnect.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+
+<p>
+<a href="sconnect_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect</a> (const QObject *from, const char *fromSignal, const QObject *to, const char *toSignal, Qt::ConnectionType type=Qt::AutoConnection)</td></tr>
+
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="cab553d9479843d076c4cf952cceeefc"></a><!-- doxytag: member="sconnect.h::sconnect" ref="cab553d9479843d076c4cf952cceeefc" args="(const QObject *from, const char *fromSignal, const QObject *to, const char *toSignal, Qt::ConnectionType type=Qt::AutoConnection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void sconnect </td>
+ <td>(</td>
+ <td class="paramtype">const QObject *&nbsp;</td>
+ <td class="paramname"> <em>from</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>fromSignal</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QObject *&nbsp;</td>
+ <td class="paramname"> <em>to</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>toSignal</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Qt::ConnectionType&nbsp;</td>
+ <td class="paramname"> <em>type</em> = <code>Qt::AutoConnection</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/service_8cpp.html b/libcontextprovider/doc/html/service_8cpp.html
new file mode 100644
index 00000000..86dca27e
--- /dev/null
+++ b/libcontextprovider/doc/html/service_8cpp.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: service.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>service.cpp File Reference</h1><code>#include &quot;<a class="el" href="service_8h-source.html">service.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="servicebackend_8h-source.html">servicebackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="property_8h-source.html">property.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="manageradaptor_8h-source.html">manageradaptor.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/service_8h-source.html b/libcontextprovider/doc/html/service_8h-source.html
new file mode 100644
index 00000000..4e88b7de
--- /dev/null
+++ b/libcontextprovider/doc/html/service_8h-source.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: service.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>service.h</h1><a href="service_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SERVICE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SERVICE_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QHash&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">class </span>ServiceUnitTest;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">class </span>Manager;
+<a name="l00037"></a>00037 <span class="keyword">class </span>Property;
+<a name="l00038"></a>00038 <span class="keyword">class </span>ServiceBackend;
+<a name="l00039"></a>00039
+<a name="l00040"></a><a class="code" href="class_context_provider_1_1_service.html">00040</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> : <span class="keyword">public</span> QObject
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 Q_OBJECT
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">public</span>:
+<a name="l00045"></a>00045 <span class="keyword">explicit</span> <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection connection, QObject *parent = 0);
+<a name="l00046"></a>00046 <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection::BusType busType, <span class="keyword">const</span> QString &amp;busName, QObject *parent = 0);
+<a name="l00047"></a>00047 <a class="code" href="class_context_provider_1_1_service.html#d9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection::BusType busType, <span class="keyword">const</span> QString &amp;busName, <span class="keywordtype">bool</span> autoStart, QObject *parent = 0);
+<a name="l00048"></a>00048 <span class="keyword">virtual</span> <a class="code" href="class_context_provider_1_1_service.html#365b50365fd98d8ee7a1b7dd10dd84d2" title="Destroys this Service instance.">~Service</a>();
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_service.html#6434d467cd84a6295bd24572671b5479" title="Start the Service again after it has been stopped.">start</a>();
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#25cc85c61a07afe679266fc287da0677" title="Stop the service.">stop</a>();
+<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#471dbe35bbd9583f9404b15158f367dd" title="Stop and start the service.">restart</a>();
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#385b58aef7878b6e33a3989d139f9a4a" title="Sets the Service object as the default one to use when constructing Property objects...">setAsDefault</a>();
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#ee524632842792e9ad80b122eb8600a1" title="Set the value of key to val.">setValue</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val);
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#d6bf1d2d8f8c580d4d77e9c4e72fd226" title="Set (override) the QDBusConnection used by the Service.">setConnection</a>(<span class="keyword">const</span> QDBusConnection &amp;connection);
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">private</span>:
+<a name="l00060"></a>00060 <a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> *backend;
+<a name="l00061"></a>00061
+<a name="l00062"></a><a class="code" href="class_context_provider_1_1_service.html#386f5a9cf65610cb62143865e5637272">00062</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_property.html" title="A Property object represents a context property, i.e., a key-value pair.">Property</a>;
+<a name="l00063"></a><a class="code" href="class_context_provider_1_1_service.html#c3553c08a0c7b57a4c15794caebf1936">00063</a> <span class="keyword">friend</span> class ::ServiceUnitTest;
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 } <span class="comment">// end namespace</span>
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/service_8h.html b/libcontextprovider/doc/html/service_8h.html
new file mode 100644
index 00000000..d337ecc8
--- /dev/null
+++ b/libcontextprovider/doc/html/service_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: service.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>service.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QHash&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="service_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is a proxy representing a service on D-Bus that implements the ContextKit interface. The lifespan of the <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a> object is not tied to the real service lifespan. This way a service can be accessed and controlled from different parts of the code. <a href="class_context_provider_1_1_service.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/servicebackend_8cpp.html b/libcontextprovider/doc/html/servicebackend_8cpp.html
new file mode 100644
index 00000000..94c32c82
--- /dev/null
+++ b/libcontextprovider/doc/html/servicebackend_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: servicebackend.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>servicebackend.cpp File Reference</h1><code>#include &quot;<a class="el" href="servicebackend_8h-source.html">servicebackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="manageradaptor_8h-source.html">manageradaptor.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/servicebackend_8h-source.html b/libcontextprovider/doc/html/servicebackend_8h-source.html
new file mode 100644
index 00000000..75179db8
--- /dev/null
+++ b/libcontextprovider/doc/html/servicebackend_8h-source.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: servicebackend.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>servicebackend.h</h1><a href="servicebackend_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SERVICEBACKEND_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SERVICEBACKEND_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="manager_8h.html">manager.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QHash&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">class </span>ServiceBackendUnitTest;
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">class </span>Property;
+<a name="l00038"></a>00038 <span class="keyword">class </span>ServiceBackendPrivate;
+<a name="l00039"></a>00039
+<a name="l00040"></a><a class="code" href="class_context_provider_1_1_service_backend.html">00040</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> : <span class="keyword">public</span> QObject
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 Q_OBJECT
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">public</span>:
+<a name="l00045"></a>00045 <span class="keyword">explicit</span> <a class="code" href="class_context_provider_1_1_service_backend.html#2f72a8d1752eb4f930410deed93bd14e" title="Creates new ServiceBackend with the given QDBusConnection.">ServiceBackend</a>(QDBusConnection connection);
+<a name="l00046"></a>00046 <a class="code" href="class_context_provider_1_1_service_backend.html#2f72a8d1752eb4f930410deed93bd14e" title="Creates new ServiceBackend with the given QDBusConnection.">ServiceBackend</a>(QDBusConnection connection, <span class="keyword">const</span> QString &amp;busName);
+<a name="l00047"></a>00047 <span class="keyword">virtual</span> <a class="code" href="class_context_provider_1_1_service_backend.html#7c22a78525e271a443d0b328c09a8ebb" title="Destroys the ServiceBackend.">~ServiceBackend</a>();
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_service_backend.html#7b9d7a6b42fde2e7841edd7dbd5589af" title="Returns true iff the ServiceBackend shares its QDBusConnection with the provider...">sharedConnection</a>();
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_service_backend.html#f0ffcd20b78a6c070b46f2a808974bf5" title="Start the Service again after it has been stopped.">start</a>();
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#f580af0059e69905ee6aefa55056bdd5" title="Stop the service.">stop</a>();
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#1f25b50b4abc8e8a5fbdf0b9b38f6691" title="Sets the ServiceBackend object as the default one to use when constructing Property...">setAsDefault</a>();
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#3380d860b28632814283af9cb48115ad" title="Set the value of key to val.">setValue</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val);
+<a name="l00055"></a>00055 <a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> *<a class="code" href="class_context_provider_1_1_service_backend.html#c2341db978f732d4a68027568db73fd0" title="Returns the Manager associated with this backend.">manager</a>();
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#2b33587710d46129c3554fc405e93858" title="Increase the reference count by one. Service calls this.">ref</a>();
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#44c270d04037efde600e3f2ba7e4188f" title="Decrease the reference count by one.">unref</a>();
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">static</span> <a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>* <a class="code" href="class_context_provider_1_1_service_backend.html#03beadb30b9d1f837d372ccc77004595" title="Returns a ServiceBackend instance for a given connection.">instance</a>(QDBusConnection connection);
+<a name="l00061"></a>00061 <span class="keyword">static</span> <a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>* <a class="code" href="class_context_provider_1_1_service_backend.html#03beadb30b9d1f837d372ccc77004595" title="Returns a ServiceBackend instance for a given connection.">instance</a>(QDBusConnection::BusType busType,
+<a name="l00062"></a>00062 <span class="keyword">const</span> QString &amp;busName,
+<a name="l00063"></a>00063 <span class="keywordtype">bool</span> autoStart);
+<a name="l00064"></a><a class="code" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">00064</a> <span class="keyword">static</span> <a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> *<a class="code" href="class_context_provider_1_1_service_backend.html#dba83a5a2a30247be68cd8485b3c6306">defaultServiceBackend</a>;
+<a name="l00065"></a><a class="code" href="class_context_provider_1_1_service_backend.html#ed41fb3009b4b10268a07c9e2fb37ece">00065</a> <span class="keyword">friend</span> class ::ServiceBackendUnitTest;
+<a name="l00066"></a><a class="code" href="class_context_provider_1_1_service_backend.html#6474ceb8669761e879329b39c3afb899">00066</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>;
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">private</span>:
+<a name="l00069"></a>00069 <a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> myManager;
+<a name="l00070"></a>00070 QDBusConnection connection;
+<a name="l00071"></a>00071 <span class="keywordtype">int</span> refCount;
+<a name="l00072"></a>00072 QString busName;
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">static</span> QHash &lt;QString, ServiceBackend*&gt; instances;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 } <span class="comment">// end namespace</span>
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/servicebackend_8h.html b/libcontextprovider/doc/html/servicebackend_8h.html
new file mode 100644
index 00000000..8d8fb3a9
--- /dev/null
+++ b/libcontextprovider/doc/html/servicebackend_8h.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: servicebackend.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>servicebackend.h File Reference</h1><code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QHash&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="servicebackend_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> is the real worker behind <a class="el" href="class_context_provider_1_1_service.html" title="A Service object is a proxy representing a service on D-Bus that implements the ContextKit...">Service</a>. <a href="class_context_provider_1_1_service_backend.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/struct_context_provider_1_1_group_private-members.html b/libcontextprovider/doc/html/struct_context_provider_1_1_group_private-members.html
new file mode 100644
index 00000000..0065f256
--- /dev/null
+++ b/libcontextprovider/doc/html/struct_context_provider_1_1_group_private-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::GroupPrivate Member List</h1>This is the complete list of members for <a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_1_1_group_private.html#b5bd08568b4665a4a053bf2f66c0ca1d">properties</a></td><td><a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_1_1_group_private.html#447f70a1352ed264f5bf4a9f86c12a25">propertiesSubscribedTo</a></td><td><a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/struct_context_provider_1_1_group_private.html b/libcontextprovider/doc/html/struct_context_provider_1_1_group_private.html
new file mode 100644
index 00000000..018cf2ac
--- /dev/null
+++ b/libcontextprovider/doc/html/struct_context_provider_1_1_group_private.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::GroupPrivate Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="struct_context_provider_1_1_group_private.html">GroupPrivate</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::GroupPrivate Struct Reference</h1><!-- doxytag: class="ContextProvider::GroupPrivate" -->
+<p>
+<a href="struct_context_provider_1_1_group_private-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_group_private.html#447f70a1352ed264f5bf4a9f86c12a25">propertiesSubscribedTo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QSet&lt; const <a class="el" href="class_context_provider_1_1_property.html">Property</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_group_private.html#b5bd08568b4665a4a053bf2f66c0ca1d">properties</a></td></tr>
+
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="b5bd08568b4665a4a053bf2f66c0ca1d"></a><!-- doxytag: member="ContextProvider::GroupPrivate::properties" ref="b5bd08568b4665a4a053bf2f66c0ca1d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;const <a class="el" href="class_context_provider_1_1_property.html">Property</a> *&gt; <a class="el" href="struct_context_provider_1_1_group_private.html#b5bd08568b4665a4a053bf2f66c0ca1d">ContextProvider::GroupPrivate::properties</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="447f70a1352ed264f5bf4a9f86c12a25"></a><!-- doxytag: member="ContextProvider::GroupPrivate::propertiesSubscribedTo" ref="447f70a1352ed264f5bf4a9f86c12a25" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="struct_context_provider_1_1_group_private.html#447f70a1352ed264f5bf4a9f86c12a25">ContextProvider::GroupPrivate::propertiesSubscribedTo</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="group_8cpp.html">group.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/struct_context_provider_1_1_property_private-members.html b/libcontextprovider/doc/html/struct_context_provider_1_1_property_private-members.html
new file mode 100644
index 00000000..1183174f
--- /dev/null
+++ b/libcontextprovider/doc/html/struct_context_provider_1_1_property_private-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::PropertyPrivate Member List</h1>This is the complete list of members for <a class="el" href="struct_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_1_1_property_private.html#110854a12303f0830bfd84dc8ee76a84">manager</a></td><td><a class="el" href="struct_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_1_1_property_private.html#a9511aa4f89f2ea88df73aae376df6c8">myKey</a></td><td><a class="el" href="struct_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/struct_context_provider_1_1_property_private.html b/libcontextprovider/doc/html/struct_context_provider_1_1_property_private.html
new file mode 100644
index 00000000..0fcdd7a0
--- /dev/null
+++ b/libcontextprovider/doc/html/struct_context_provider_1_1_property_private.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: ContextProvider::PropertyPrivate Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_provider.html">ContextProvider</a>::<a class="el" href="struct_context_provider_1_1_property_private.html">PropertyPrivate</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::PropertyPrivate Struct Reference</h1><!-- doxytag: class="ContextProvider::PropertyPrivate" -->
+<p>
+<a href="struct_context_provider_1_1_property_private-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_property_private.html#110854a12303f0830bfd84dc8ee76a84">manager</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_property_private.html#a9511aa4f89f2ea88df73aae376df6c8">myKey</a></td></tr>
+
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="110854a12303f0830bfd84dc8ee76a84"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::manager" ref="110854a12303f0830bfd84dc8ee76a84" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_provider_1_1_manager.html">Manager</a>* <a class="el" href="struct_context_provider_1_1_property_private.html#110854a12303f0830bfd84dc8ee76a84">ContextProvider::PropertyPrivate::manager</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a9511aa4f89f2ea88df73aae376df6c8"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::myKey" ref="a9511aa4f89f2ea88df73aae376df6c8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_context_provider_1_1_property_private.html#a9511aa4f89f2ea88df73aae376df6c8">ContextProvider::PropertyPrivate::myKey</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="property_8cpp.html">property.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/subscriber_8cpp.html b/libcontextprovider/doc/html/subscriber_8cpp.html
new file mode 100644
index 00000000..6b8fe1ff
--- /dev/null
+++ b/libcontextprovider/doc/html/subscriber_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: subscriber.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>subscriber.cpp File Reference</h1><code>#include &lt;QDebug&gt;</code><br>
+<code>#include &quot;<a class="el" href="subscriber_8h-source.html">subscriber.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="manager_8h-source.html">manager.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/subscriber_8h-source.html b/libcontextprovider/doc/html/subscriber_8h-source.html
new file mode 100644
index 00000000..8184b469
--- /dev/null
+++ b/libcontextprovider/doc/html/subscriber_8h-source.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: subscriber.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>subscriber.h</h1><a href="subscriber_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SUBSCRIBER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SUBSCRIBER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QMap&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="queuedinvoker_8h.html">queuedinvoker.h</a>"</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">class </span>Manager;
+<a name="l00035"></a>00035
+<a name="l00036"></a><a class="code" href="class_context_provider_1_1_subscriber.html">00036</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> : <span class="keyword">public</span> <a class="code" href="class_context_provider_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 Q_OBJECT
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00041"></a>00041 <a class="code" href="class_context_provider_1_1_subscriber.html#bacc217f5389cca9e37f44278752a4c6" title="Constructor.">Subscriber</a>(<span class="keyword">const</span> QString &amp;<a class="code" href="class_context_provider_1_1_subscriber.html#cc24c10d7e14b445eff6b216ad01caf0" title="Returns the dbus object path for this Subscriber.">dbusPath</a>, <a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> *manager);
+<a name="l00042"></a>00042 <a class="code" href="class_context_provider_1_1_subscriber.html#cbaa9a1a17dbd0337b025255df2b9b53" title="Destroys the subscriber.">~Subscriber</a>();
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 QMap&lt;QString, QVariant&gt; <a class="code" href="class_context_provider_1_1_subscriber.html#38b01c1486af496970ed00e8bb9dd503" title="Subscribes to te specified list of keys.">subscribe</a>(<span class="keyword">const</span> QStringList &amp;keys, QStringList &amp;undetermined);
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_subscriber.html#d006229fc6745798dbe55ceb81f88722" title="Unsubscribes from the passed list of keys.">unsubscribe</a>(<span class="keyword">const</span> QStringList &amp;keys);
+<a name="l00046"></a>00046 QString <a class="code" href="class_context_provider_1_1_subscriber.html#cc24c10d7e14b445eff6b216ad01caf0" title="Returns the dbus object path for this Subscriber.">dbusPath</a>() <span class="keyword">const</span>;
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_subscriber.html#80406eb66a937045a8071c70ec0f1ba5" title="Returns true if the Subscriber is currently subscribed to the specified key.">isSubscribedToKey</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">private</span>:
+<a name="l00050"></a>00050 QString path;
+<a name="l00051"></a>00051 <a class="code" href="class_context_provider_1_1_manager.html" title="Manager implements the org.freedesktop.ContextKit.Manager DBus interface. (With the...">Manager</a> *manager;
+<a name="l00052"></a>00052 QStringList subscribedKeys;
+<a name="l00053"></a>00053 QStringList changedKeys;
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> buildMapAndUndetermined(<span class="keyword">const</span> QStringList &amp;keys, QMap&lt;QString, QVariant&gt; &amp;map, QStringList &amp;undetermined);
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">private</span> slots:
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> onManagerKeyValueChanged(<span class="keyword">const</span> QString &amp;key);
+<a name="l00059"></a>00059 Q_INVOKABLE <span class="keywordtype">void</span> handleChanged();
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 signals:
+<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_subscriber.html#185b6a3ba9f09b4e45cb4cf011a4b3dc" title="Emitted when any of the subscribed keys changes it&amp;#39;s value.">changed</a>(<span class="keyword">const</span> QMap&lt;QString, QVariant&gt; &amp;values, <span class="keyword">const</span> QStringList &amp;undetermined);
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 } <span class="comment">// namespace ContextProvider</span>
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/subscriber_8h.html b/libcontextprovider/doc/html/subscriber_8h.html
new file mode 100644
index 00000000..18fedc2a
--- /dev/null
+++ b/libcontextprovider/doc/html/subscriber_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: subscriber.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>subscriber.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QMap&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+<code>#include &quot;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&quot;</code><br>
+
+<p>
+<a href="subscriber_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber.html">ContextProvider::Subscriber</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> implements the org.freedesktop.ContextKit.Subscriber DBus interface with help of the SubsciberAdaptor. <a href="class_context_provider_1_1_subscriber.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/subscriberadaptor_8cpp.html b/libcontextprovider/doc/html/subscriberadaptor_8cpp.html
new file mode 100644
index 00000000..75a6cf2f
--- /dev/null
+++ b/libcontextprovider/doc/html/subscriberadaptor_8cpp.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: subscriberadaptor.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>subscriberadaptor.cpp File Reference</h1><code>#include &quot;<a class="el" href="subscriberadaptor_8h-source.html">subscriberadaptor.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/subscriberadaptor_8h-source.html b/libcontextprovider/doc/html/subscriberadaptor_8h-source.html
new file mode 100644
index 00000000..bfd4508e
--- /dev/null
+++ b/libcontextprovider/doc/html/subscriberadaptor_8h-source.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: subscriberadaptor.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>subscriberadaptor.h</h1><a href="subscriberadaptor_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SUBSCRIBER_ADAPTOR_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SUBSCRIBER_ADAPTOR_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="subscriber_8h.html">subscriber.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QDBusAbstractAdaptor&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QMap&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00032"></a>00032
+<a name="l00033"></a><a class="code" href="class_context_provider_1_1_subscriber_adaptor.html">00033</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_subscriber_adaptor.html" title="A DBus adaptor for implementing the org.freedesktop.ContextKit.Subscriber interface...">SubscriberAdaptor</a>: <span class="keyword">public</span> QDBusAbstractAdaptor
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 Q_OBJECT
+<a name="l00036"></a>00036 Q_CLASSINFO(<span class="stringliteral">"D-Bus Interface"</span>, <span class="stringliteral">"org.freedesktop.ContextKit.Subscriber"</span>)
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">public</span>:
+<a name="l00039"></a>00039 <a class="code" href="class_context_provider_1_1_subscriber_adaptor.html#e9275992f7fe4ddd7094d2a3f294da7b" title="Constructor. Creates new adaptor for the given subscriber Subscriber object.">SubscriberAdaptor</a>(<a class="code" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a>* subscriber);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">public</span> slots:
+<a name="l00042"></a>00042 QMap&lt;QString, QVariant&gt; <a class="code" href="class_context_provider_1_1_subscriber_adaptor.html#5ee496e408e9406d752d80511d8c0596" title="Performs the Subscriber::subscribe method to subscribe to a given set of keys.">Subscribe</a>(<span class="keyword">const</span> QStringList &amp;keys, QStringList &amp;undetermined);
+<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_subscriber_adaptor.html#b964442115740fa585f94e73a0a6e62d" title="Performs the Subscriber::unsubscribe method to unsubscribe from a given set of keys...">Unsubscribe</a>(<span class="keyword">const</span> QStringList &amp;keys);
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">private</span>:
+<a name="l00046"></a>00046 <a class="code" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> *subscriber;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 signals:
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_subscriber_adaptor.html#d959ca1be2787271374a334a06c4ec4d">Changed</a>(<span class="keyword">const</span> QMap&lt;QString, QVariant&gt; &amp;values, <span class="keyword">const</span> QStringList &amp;undetermined);
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 } <span class="comment">// namespace ContextProvider</span>
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/subscriberadaptor_8h.html b/libcontextprovider/doc/html/subscriberadaptor_8h.html
new file mode 100644
index 00000000..a7deb334
--- /dev/null
+++ b/libcontextprovider/doc/html/subscriberadaptor_8h.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextprovider: subscriberadaptor.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>subscriberadaptor.h File Reference</h1><code>#include &quot;<a class="el" href="subscriber_8h-source.html">subscriber.h</a>&quot;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDBusAbstractAdaptor&gt;</code><br>
+<code>#include &lt;QMap&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+
+<p>
+<a href="subscriberadaptor_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_subscriber_adaptor.html">ContextProvider::SubscriberAdaptor</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A DBus adaptor for implementing the org.freedesktop.ContextKit.Subscriber interface. Using the <a class="el" href="class_context_provider_1_1_subscriber.html" title="Subscriber implements the org.freedesktop.ContextKit.Subscriber DBus interface with...">Subscriber</a> the remote client can subscribe and unsubscribe from keys. <a href="class_context_provider_1_1_subscriber_adaptor.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_provider.html">ContextProvider</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:31:58 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/tab_b.gif b/libcontextprovider/doc/html/tab_b.gif
new file mode 100644
index 00000000..0d623483
--- /dev/null
+++ b/libcontextprovider/doc/html/tab_b.gif
Binary files differ
diff --git a/libcontextprovider/doc/html/tab_l.gif b/libcontextprovider/doc/html/tab_l.gif
new file mode 100644
index 00000000..9b1e6337
--- /dev/null
+++ b/libcontextprovider/doc/html/tab_l.gif
Binary files differ
diff --git a/libcontextprovider/doc/html/tab_r.gif b/libcontextprovider/doc/html/tab_r.gif
new file mode 100644
index 00000000..ce9dd9f5
--- /dev/null
+++ b/libcontextprovider/doc/html/tab_r.gif
Binary files differ
diff --git a/libcontextprovider/doc/html/tabs.css b/libcontextprovider/doc/html/tabs.css
new file mode 100644
index 00000000..ab02c624
--- /dev/null
+++ b/libcontextprovider/doc/html/tabs.css
@@ -0,0 +1,105 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ float : left;
+ width : 100%;
+ background : url("tab_b.gif") repeat-x bottom;
+ margin-bottom : 4px;
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
+}
+
+DIV.tabs A
+{
+ float : left;
+ background : url("tab_r.gif") no-repeat right top;
+ border-bottom : 1px solid #84B0C7;
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+ color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ background : url("tab_l.gif") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
+}
+
+DIV.tabs INPUT
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+ background-position: 0% -150px;
+ padding-bottom : 6px;
+}
+
+DIV.navpath
+{
+ background : none;
+ border : none;
+ border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
+}
diff --git a/libcontextprovider/doc/lgpl-2.1.txt b/libcontextprovider/doc/lgpl-2.1.txt
deleted file mode 100644
index 5ab7695a..00000000
--- a/libcontextprovider/doc/lgpl-2.1.txt
+++ /dev/null
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/libcontextprovider/man/Makefile.in b/libcontextprovider/man/Makefile.in
new file mode 100644
index 00000000..d3979050
--- /dev/null
+++ b/libcontextprovider/man/Makefile.in
@@ -0,0 +1,425 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextprovider/man
+DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_man_MANS = context-provide-v2.1
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/man/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/man/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $$i; then file=$$i; \
+ else file=$(srcdir)/$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-man uninstall-man1
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/src/Makefile.in b/libcontextprovider/src/Makefile.in
new file mode 100644
index 00000000..49002b23
--- /dev/null
+++ b/libcontextprovider/src/Makefile.in
@@ -0,0 +1,653 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(includecontextprovider_HEADERS) \
+ $(includecontextprovidercontext_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(includecontextproviderdir)" \
+ "$(DESTDIR)$(includecontextprovidercontextdir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libcontextprovider_la_DEPENDENCIES = \
+ $(top_builddir)/common/libcommon.la
+am_libcontextprovider_la_OBJECTS = service.lo property.lo manager.lo \
+ manageradaptor.lo group.lo subscriber.lo subscriberadaptor.lo \
+ queuedinvoker.lo contextc.lo listeners.lo servicebackend.lo
+nodist_libcontextprovider_la_OBJECTS = mocs.lo
+libcontextprovider_la_OBJECTS = $(am_libcontextprovider_la_OBJECTS) \
+ $(nodist_libcontextprovider_la_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libcontextprovider_la_SOURCES) \
+ $(nodist_libcontextprovider_la_SOURCES)
+DIST_SOURCES = $(libcontextprovider_la_SOURCES)
+includecontextproviderHEADERS_INSTALL = $(INSTALL_HEADER)
+includecontextprovidercontextHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(includecontextprovider_HEADERS) \
+ $(includecontextprovidercontext_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS) $(QtDBus_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LTLIBRARIES = libcontextprovider.la
+libcontextprovider_la_SOURCES = loggingfeatures.h \
+ service.h \
+ service.cpp \
+ property.h \
+ property.cpp \
+ manager.h \
+ manager.cpp \
+ manageradaptor.h \
+ manageradaptor.cpp \
+ group.h \
+ group.cpp \
+ subscriber.cpp \
+ subscriber.h \
+ subscriberadaptor.h \
+ subscriberadaptor.cpp \
+ queuedinvoker.h \
+ queuedinvoker.cpp \
+ contextc.h \
+ contextc.cpp \
+ listeners.h \
+ listeners.cpp \
+ context_provider.h \
+ servicebackend.h \
+ servicebackend.cpp
+
+includecontextproviderdir = $(includedir)/contextprovider
+includecontextprovider_HEADERS = ContextProvider contextc.h context_provider.h
+includecontextprovidercontextdir = $(includecontextproviderdir)/context
+includecontextprovidercontext_HEADERS = service.h property.h group.h
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(DBUS_CFLAGS) \
+ -I$(top_srcdir)/common \
+ '-DCONTEXT_LOG_MODULE_NAME="libcontextprovider"'
+
+libcontextprovider_la_LIBADD = $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_libcontextprovider_la_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(libcontextprovider_la_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libcontextprovider.la: $(libcontextprovider_la_OBJECTS) $(libcontextprovider_la_DEPENDENCIES)
+ $(CXXLINK) -rpath $(libdir) $(libcontextprovider_la_OBJECTS) $(libcontextprovider_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listeners.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/manager.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/manageradaptor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/property.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queuedinvoker.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/service.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/servicebackend.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriber.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriberadaptor.Plo@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-includecontextproviderHEADERS: $(includecontextprovider_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(includecontextproviderdir)" || $(MKDIR_P) "$(DESTDIR)$(includecontextproviderdir)"
+ @list='$(includecontextprovider_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(includecontextproviderHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includecontextproviderdir)/$$f'"; \
+ $(includecontextproviderHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includecontextproviderdir)/$$f"; \
+ done
+
+uninstall-includecontextproviderHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(includecontextprovider_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(includecontextproviderdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(includecontextproviderdir)/$$f"; \
+ done
+install-includecontextprovidercontextHEADERS: $(includecontextprovidercontext_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(includecontextprovidercontextdir)" || $(MKDIR_P) "$(DESTDIR)$(includecontextprovidercontextdir)"
+ @list='$(includecontextprovidercontext_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(includecontextprovidercontextHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includecontextprovidercontextdir)/$$f'"; \
+ $(includecontextprovidercontextHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includecontextprovidercontextdir)/$$f"; \
+ done
+
+uninstall-includecontextprovidercontextHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(includecontextprovidercontext_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(includecontextprovidercontextdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(includecontextprovidercontextdir)/$$f"; \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includecontextproviderdir)" "$(DESTDIR)$(includecontextprovidercontextdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includecontextproviderHEADERS \
+ install-includecontextprovidercontextHEADERS
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-includecontextproviderHEADERS \
+ uninstall-includecontextprovidercontextHEADERS \
+ uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool clean-local ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-includecontextproviderHEADERS \
+ install-includecontextprovidercontextHEADERS install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am \
+ uninstall-includecontextproviderHEADERS \
+ uninstall-includecontextprovidercontextHEADERS \
+ uninstall-libLTLIBRARIES
+
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: $(top_builddir)/common/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/.gitignore b/libcontextprovider/unit-tests/.gitignore
deleted file mode 100644
index 4ebc8aea..00000000
--- a/libcontextprovider/unit-tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-coverage
diff --git a/libcontextprovider/unit-tests/Makefile.in b/libcontextprovider/unit-tests/Makefile.in
new file mode 100644
index 00000000..8d884cde
--- /dev/null
+++ b/libcontextprovider/unit-tests/Makefile.in
@@ -0,0 +1,566 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am
+subdir = libcontextprovider/unit-tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = manager \
+ subscriber \
+ property \
+ contextgroup \
+ contextc \
+ service \
+ servicebackend
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ clean-local ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+check-sum: all
+ @list='$(SUBDIRS)'; for subdir in $$list; do \
+ (cd $$subdir && tput bold && echo $$subdir:\ && tput sgr0 && ( $(MAKE) $(AM_MAKEFLAGS) check 2>/dev/null | grep '^Total' | grep -v '^make' ) ) \
+ done
+
+coverage: covoptioncheck
+ @list='$(SUBDIRS)'; for subdir in $$list; do \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) coverage) \
+ done
+ mkdir -p coverage
+ lcov $(patsubst %, -a %/coverage/selected.cov, $(SUBDIRS)) -o coverage/selecteds.cov
+ @echo "real sources: `cd $(abs_top_srcdir) && pwd`"
+ @echo "build: $(abs_top_builddir)"
+ cat coverage/selecteds.cov | \
+ sed "s,`cd $(abs_top_builddir) && pwd`,`cd $(abs_top_srcdir) && pwd`," | \
+ sed 's,unit-tests/.*mock_,src/,' | \
+ sed 's,unit-tests/.*src_,src/,' >coverage/sedded.cov
+ genhtml --prefix `cd $(abs_top_srcdir) && pwd` -o coverage/ coverage/sedded.cov
+
+clean-local:
+ rm -rf coverage
+
+.PHONY: coverage check-sum
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/contextc/.gitignore b/libcontextprovider/unit-tests/contextc/.gitignore
deleted file mode 100644
index 79ca8837..00000000
--- a/libcontextprovider/unit-tests/contextc/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-contextcunittest
-contextc.cpp
-contextc.h
-sconnect.h
-logging.h
-logging.cpp
-loggingfeatures.h
-listeners.h
-listeners.cpp
-signalgrouper.h
-signalgrouper.cpp
diff --git a/libcontextprovider/unit-tests/contextc/Makefile.in b/libcontextprovider/unit-tests/contextc/Makefile.in
new file mode 100644
index 00000000..d6b33905
--- /dev/null
+++ b/libcontextprovider/unit-tests/contextc/Makefile.in
@@ -0,0 +1,703 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = contextcunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/contextc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = contextc.$(OBJEXT) listeners.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_contextcunittest_OBJECTS = contextcunittest.$(OBJEXT)
+nodist_contextcunittest_OBJECTS = mocs.$(OBJEXT)
+contextcunittest_OBJECTS = $(am_contextcunittest_OBJECTS) \
+ $(nodist_contextcunittest_OBJECTS)
+contextcunittest_LDADD = $(LDADD)
+contextcunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(contextcunittest_SOURCES) \
+ $(nodist_contextcunittest_SOURCES)
+DIST_SOURCES = $(contextcunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+contextcunittest_SOURCES = contextcunittest.cpp service.h property.h group.h
+COVERAGE_FILES = contextc.cpp listeners.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(DBUS_CFLAGS) \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = loggingfeatures.h contextc.h contextc.cpp listeners.h listeners.cpp
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_contextcunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contextcunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/contextc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/contextc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+contextcunittest$(EXEEXT): $(contextcunittest_OBJECTS) $(contextcunittest_DEPENDENCIES)
+ @rm -f contextcunittest$(EXEEXT)
+ $(CXXLINK) $(contextcunittest_OBJECTS) $(contextcunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextcunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listeners.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+contextcunittest.o: contextcunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/contextgroup/.gitignore b/libcontextprovider/unit-tests/contextgroup/.gitignore
deleted file mode 100644
index c607b34a..00000000
--- a/libcontextprovider/unit-tests/contextgroup/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-contextgroup.cpp
-contextgroup.h
-sconnect.h
-contextgroupunittest
-logging.h
-logging.cpp
-loggingfeatures.h
-group.cpp
-group.h
diff --git a/libcontextprovider/unit-tests/contextgroup/Makefile.in b/libcontextprovider/unit-tests/contextgroup/Makefile.in
new file mode 100644
index 00000000..642958e5
--- /dev/null
+++ b/libcontextprovider/unit-tests/contextgroup/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = contextgroupunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/contextgroup
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = group.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_contextgroupunittest_OBJECTS = contextgroupunittest.$(OBJEXT)
+nodist_contextgroupunittest_OBJECTS = mocs.$(OBJEXT)
+contextgroupunittest_OBJECTS = $(am_contextgroupunittest_OBJECTS) \
+ $(nodist_contextgroupunittest_OBJECTS)
+contextgroupunittest_LDADD = $(LDADD)
+contextgroupunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(contextgroupunittest_SOURCES) \
+ $(nodist_contextgroupunittest_SOURCES)
+DIST_SOURCES = $(contextgroupunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+contextgroupunittest_SOURCES = contextgroupunittest.cpp service.h property.h
+COVERAGE_FILES = group.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtTest_CFLAGS) $(COV_CXXFLAGS) \
+ -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = loggingfeatures.h group.h group.cpp # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_contextgroupunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contextgroupunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/contextgroup/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/contextgroup/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+contextgroupunittest$(EXEEXT): $(contextgroupunittest_OBJECTS) $(contextgroupunittest_DEPENDENCIES)
+ @rm -f contextgroupunittest$(EXEEXT)
+ $(CXXLINK) $(contextgroupunittest_OBJECTS) $(contextgroupunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextgroupunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+contextgroupunittest.o: contextgroupunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/manager/.gitignore b/libcontextprovider/unit-tests/manager/.gitignore
deleted file mode 100644
index 9427d087..00000000
--- a/libcontextprovider/unit-tests/manager/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-logging.cpp
-logging.h
-loggingfeatures.h
-manager.h
-manager.cpp
-subscriber.cpp
-subscriber.h
-managerunittest
-queuedinvoker.cpp
-queuedinvoker.h
-sconnect.h
diff --git a/libcontextprovider/unit-tests/manager/Makefile.in b/libcontextprovider/unit-tests/manager/Makefile.in
new file mode 100644
index 00000000..5df2c4df
--- /dev/null
+++ b/libcontextprovider/unit-tests/manager/Makefile.in
@@ -0,0 +1,705 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = managerunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/manager
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = queuedinvoker.$(OBJEXT) subscriber.$(OBJEXT) \
+ manager.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_managerunittest_OBJECTS = managerunittest.$(OBJEXT)
+nodist_managerunittest_OBJECTS = mocs.$(OBJEXT)
+managerunittest_OBJECTS = $(am_managerunittest_OBJECTS) \
+ $(nodist_managerunittest_OBJECTS)
+managerunittest_LDADD = $(LDADD)
+managerunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(managerunittest_SOURCES) \
+ $(nodist_managerunittest_SOURCES)
+DIST_SOURCES = $(managerunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+managerunittest_SOURCES = managerunittest.cpp
+COVERAGE_FILES = manager.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = queuedinvoker.cpp queuedinvoker.h subscriber.h subscriber.cpp loggingfeatures.h manager.cpp manager.h # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_managerunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(managerunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/manager/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/manager/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+managerunittest$(EXEEXT): $(managerunittest_OBJECTS) $(managerunittest_DEPENDENCIES)
+ @rm -f managerunittest$(EXEEXT)
+ $(CXXLINK) $(managerunittest_OBJECTS) $(managerunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/manager.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/managerunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queuedinvoker.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriber.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+managerunittest.o: managerunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/property/.gitignore b/libcontextprovider/unit-tests/property/.gitignore
deleted file mode 100644
index 46ac6455..00000000
--- a/libcontextprovider/unit-tests/property/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-propertyunittest
-property.cpp
-property.h
-sconnect.h
-logging.h
-logging.cpp
-loggingfeatures.h
diff --git a/libcontextprovider/unit-tests/property/Makefile.in b/libcontextprovider/unit-tests/property/Makefile.in
new file mode 100644
index 00000000..623fa76b
--- /dev/null
+++ b/libcontextprovider/unit-tests/property/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = propertyunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/property
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = property.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_propertyunittest_OBJECTS = propertyunittest.$(OBJEXT)
+nodist_propertyunittest_OBJECTS = mocs.$(OBJEXT)
+propertyunittest_OBJECTS = $(am_propertyunittest_OBJECTS) \
+ $(nodist_propertyunittest_OBJECTS)
+propertyunittest_LDADD = $(LDADD)
+propertyunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(propertyunittest_SOURCES) \
+ $(nodist_propertyunittest_SOURCES)
+DIST_SOURCES = $(propertyunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+propertyunittest_SOURCES = propertyunittest.cpp manager.h service.h servicebackend.h
+COVERAGE_FILES = property.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = loggingfeatures.h property.cpp property.h # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_propertyunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(propertyunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/property/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/property/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+propertyunittest$(EXEEXT): $(propertyunittest_OBJECTS) $(propertyunittest_DEPENDENCIES)
+ @rm -f propertyunittest$(EXEEXT)
+ $(CXXLINK) $(propertyunittest_OBJECTS) $(propertyunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/property.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyunittest.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+propertyunittest.o: propertyunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/service/.gitignore b/libcontextprovider/unit-tests/service/.gitignore
deleted file mode 100644
index 6720a581..00000000
--- a/libcontextprovider/unit-tests/service/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-coverage
-loggingfeatures.h
-queuedinvoker.cpp
-queuedinvoker.h
-service.cpp
-service.h
-serviceunittest
diff --git a/libcontextprovider/unit-tests/service/Makefile.in b/libcontextprovider/unit-tests/service/Makefile.in
new file mode 100644
index 00000000..c4ec84fd
--- /dev/null
+++ b/libcontextprovider/unit-tests/service/Makefile.in
@@ -0,0 +1,703 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = serviceunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/service
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = service.$(OBJEXT) queuedinvoker.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_serviceunittest_OBJECTS = serviceunittest.$(OBJEXT)
+nodist_serviceunittest_OBJECTS = mocs.$(OBJEXT)
+serviceunittest_OBJECTS = $(am_serviceunittest_OBJECTS) \
+ $(nodist_serviceunittest_OBJECTS)
+serviceunittest_LDADD = $(LDADD)
+serviceunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(serviceunittest_SOURCES) \
+ $(nodist_serviceunittest_SOURCES)
+DIST_SOURCES = $(serviceunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+serviceunittest_SOURCES = serviceunittest.cpp manager.h manageradaptor.h property.h servicebackend.h
+COVERAGE_FILES = service.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = loggingfeatures.h service.cpp service.h queuedinvoker.h queuedinvoker.cpp
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_serviceunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(serviceunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/service/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/service/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+serviceunittest$(EXEEXT): $(serviceunittest_OBJECTS) $(serviceunittest_DEPENDENCIES)
+ @rm -f serviceunittest$(EXEEXT)
+ $(CXXLINK) $(serviceunittest_OBJECTS) $(serviceunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queuedinvoker.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/service.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/serviceunittest.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+serviceunittest.o: serviceunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/servicebackend/.gitignore b/libcontextprovider/unit-tests/servicebackend/.gitignore
deleted file mode 100644
index 51ec2c8b..00000000
--- a/libcontextprovider/unit-tests/servicebackend/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-coverage
-loggingfeatures.h
-servicebackend.cpp
-servicebackend.h
-servicebackendunittest
diff --git a/libcontextprovider/unit-tests/servicebackend/Makefile.in b/libcontextprovider/unit-tests/servicebackend/Makefile.in
new file mode 100644
index 00000000..37bbc6bb
--- /dev/null
+++ b/libcontextprovider/unit-tests/servicebackend/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = servicebackendunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/servicebackend
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = servicebackend.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_servicebackendunittest_OBJECTS = servicebackendunittest.$(OBJEXT)
+nodist_servicebackendunittest_OBJECTS = mocs.$(OBJEXT)
+servicebackendunittest_OBJECTS = $(am_servicebackendunittest_OBJECTS) \
+ $(nodist_servicebackendunittest_OBJECTS)
+servicebackendunittest_LDADD = $(LDADD)
+servicebackendunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(servicebackendunittest_SOURCES) \
+ $(nodist_servicebackendunittest_SOURCES)
+DIST_SOURCES = $(servicebackendunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+servicebackendunittest_SOURCES = servicebackendunittest.cpp manager.h manageradaptor.h
+COVERAGE_FILES = servicebackend.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = loggingfeatures.h servicebackend.cpp servicebackend.h
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_servicebackendunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(servicebackendunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/servicebackend/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/servicebackend/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+servicebackendunittest$(EXEEXT): $(servicebackendunittest_OBJECTS) $(servicebackendunittest_DEPENDENCIES)
+ @rm -f servicebackendunittest$(EXEEXT)
+ $(CXXLINK) $(servicebackendunittest_OBJECTS) $(servicebackendunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/servicebackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/servicebackendunittest.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+servicebackendunittest.o: servicebackendunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextprovider/unit-tests/subscriber/.gitignore b/libcontextprovider/unit-tests/subscriber/.gitignore
deleted file mode 100644
index 8e68c3c2..00000000
--- a/libcontextprovider/unit-tests/subscriber/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-logging.cpp
-logging.h
-loggingfeatures.h
-subscriber.cpp
-subscriber.h
-subscriberunittest
-sconnect.h
diff --git a/libcontextprovider/unit-tests/subscriber/Makefile.in b/libcontextprovider/unit-tests/subscriber/Makefile.in
new file mode 100644
index 00000000..fb9e5368
--- /dev/null
+++ b/libcontextprovider/unit-tests/subscriber/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = subscriberunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextprovider/unit-tests/subscriber
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = subscriber.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_subscriberunittest_OBJECTS = subscriberunittest.$(OBJEXT)
+nodist_subscriberunittest_OBJECTS = mocs.$(OBJEXT)
+subscriberunittest_OBJECTS = $(am_subscriberunittest_OBJECTS) \
+ $(nodist_subscriberunittest_OBJECTS)
+subscriberunittest_LDADD = $(LDADD)
+subscriberunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(subscriberunittest_SOURCES) \
+ $(nodist_subscriberunittest_SOURCES)
+DIST_SOURCES = $(subscriberunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+subscriberunittest_SOURCES = subscriberunittest.cpp manager.h queuedinvoker.h
+COVERAGE_FILES = subscriber.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = subscriber.h subscriber.cpp loggingfeatures.h # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_subscriberunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(subscriberunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextprovider/unit-tests/subscriber/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/unit-tests/subscriber/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+subscriberunittest$(EXEEXT): $(subscriberunittest_OBJECTS) $(subscriberunittest_DEPENDENCIES)
+ @rm -f subscriberunittest$(EXEEXT)
+ $(CXXLINK) $(subscriberunittest_OBJECTS) $(subscriberunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriber.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriberunittest.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+subscriberunittest.o: subscriberunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/.gitignore b/libcontextsubscriber/.gitignore
deleted file mode 100644
index 3ba1ffed..00000000
--- a/libcontextsubscriber/.gitignore
+++ /dev/null
@@ -1,50 +0,0 @@
-libmocs.a
-libmock.a
-*.o
-*.la
-*.a
-moc_*.cpp
-mock_*.cpp
-mocmock_*.cpp
-mocs.cpp
-
-Makefile
-
-# Auto-generated
-contextsubscriber-1.0.pc
-
-# Ignore resource forks
-._*
-
-# Ignore TextMate projects
-*.tmproj
-
-# Tests
-/unit-tests/contextregistryinfo-xml-static/contextregistryinfounittest-xml-static
-/unit-tests/contextregistryinfo-cdb-static/contextregistryinfounittest-cdb-static
-/unit-tests/contextregistryinfo-xml-dynamic/contextregistryinfounittest-xml-dynamic
-/unit-tests/contextregistryinfo-cdb-dynamic/contextregistryinfounittest-cdb-dynamic
-/unit-tests/contextpropertyinfo-xml-static/contextpropertyinfounittest-xml-static
-/unit-tests/contextpropertyinfo-cdb-static/contextpropertyinfounittest-cdb-static
-/unit-tests/contextpropertyinfo-xml-dynamic/contextpropertyinfounittest-xml-dynamic
-/unit-tests/contextpropertyinfo-cdb-dynamic/contextpropertyinfounittest-cdb-dynamic
-/unit-tests/cdb/cdbunittest
-/unit-tests/provider/provider-unit-tests
-/unit-tests/propertyhandle/propertyhandle-unit-tests
-/unit-tests/handlesignalrouter/handlesignalrouter-unit-tests
-/unit-tests/contextregistryinfo-xml-dynamic/providers.context
-/unit-tests/*/*.moc
-coverage/
-
-/customer-tests/testplugins/contextsubscribertime1.so
-/customer-tests/testplugins/contextsubscribertime2.so
-/customer-tests/coverage-build/Makefile.coverage
-
-# Other binaries
-/cli/context-listen
-/update-tool/update-tool
-/update-contextkit-providers/update-contextkit-providers
-
-# Docs
-doc/html
-doc/doxygen.log
diff --git a/libcontextsubscriber/Makefile.in b/libcontextsubscriber/Makefile.in
new file mode 100644
index 00000000..a7497e1e
--- /dev/null
+++ b/libcontextsubscriber/Makefile.in
@@ -0,0 +1,583 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/contextsubscriber-1.0.pc.in \
+ $(top_srcdir)/am/covoptioncheck.am
+subdir = libcontextsubscriber
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = contextsubscriber-1.0.pc
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src unit-tests customer-tests multithreading-tests cli cls update-contextkit-providers doc man propertymonitor
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = contextsubscriber-1.0.pc
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+contextsubscriber-1.0.pc: $(top_builddir)/config.status $(srcdir)/contextsubscriber-1.0.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-pkgconfigDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pkgconfigDATA install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-pkgconfigDATA
+
+
+check-sum:
+ $(MAKE) -C unit-tests check-sum
+
+check-customer:
+ $(MAKE) -C customer-tests check-customer
+
+coverage: covoptioncheck
+ $(MAKE) -C unit-tests coverage
+ $(MAKE) -C customer-tests coverage
+
+.PHONY: coverage check-sum
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/cli/Makefile.in b/libcontextsubscriber/cli/Makefile.in
new file mode 100644
index 00000000..0b668324
--- /dev/null
+++ b/libcontextsubscriber/cli/Makefile.in
@@ -0,0 +1,569 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = context-listen$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/cli
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_context_listen_OBJECTS = context-listen.$(OBJEXT) \
+ propertylistener.$(OBJEXT) commandwatcher.$(OBJEXT)
+nodist_context_listen_OBJECTS = mocs.$(OBJEXT)
+context_listen_OBJECTS = $(am_context_listen_OBJECTS) \
+ $(nodist_context_listen_OBJECTS)
+context_listen_DEPENDENCIES = ../src/libcontextsubscriber.la \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(context_listen_SOURCES) $(nodist_context_listen_SOURCES)
+DIST_SOURCES = $(context_listen_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+context_listen_SOURCES = context-listen.cpp \
+ propertylistener.h propertylistener.cpp commandwatcher.h \
+ commandwatcher.cpp
+
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) \
+ '-DCONTEXT_LOG_MODULE_NAME="context-listen"' \
+ -I$(srcdir)/../src -I$(top_srcdir)/common
+context_listen_LDADD = ../src/libcontextsubscriber.la $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_context_listen_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(context_listen_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/cli/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/cli/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+context-listen$(EXEEXT): $(context_listen_OBJECTS) $(context_listen_DEPENDENCIES)
+ @rm -f context-listen$(EXEEXT)
+ $(CXXLINK) $(context_listen_OBJECTS) $(context_listen_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandwatcher.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context-listen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertylistener.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool clean-local ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS
+
+
+../src/libcontextsubscriber.la:
+ $(MAKE) -C ../src libcontextsubscriber.la
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: ../src/libcontextsubscriber.la $(top_builddir)/common/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/cli/wait-test/main.cpp b/libcontextsubscriber/cli/wait-test/main.cpp
deleted file mode 100644
index 9f4e748f..00000000
--- a/libcontextsubscriber/cli/wait-test/main.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#include <QTimer>
-#include <QDebug>
-#include <QWaitCondition>
-#include <QMutex>
-#include <QCoreApplication>
-
-int i=0;
-
-class MyTimer:public QTimer
-{
- Q_OBJECT;
-public:
- MyTimer()
- {
- connect(this, SIGNAL(timeout()),
- this, SLOT(timedout()));
- start(10000);
- setSingleShot(true);
- }
-public slots:
- void timedout()
- {
- qDebug() << "timed out, wake up everyone";
- i=1;
- }
-};
-
-class MyTimerWaiter:public QTimer
-{
- Q_OBJECT;
-public:
- MyTimerWaiter()
- {
- connect(this, SIGNAL(timeout()),
- this, SLOT(timedout()));
- start(0);
- }
-public slots:
- void timedout()
- {
- qDebug() << "timed out, so starting to wait";
- while(i == 0) {
- qDebug() << "I'm entering processEvents";
- QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents);
- qDebug() << "I've been exited from processEvents";
- usleep(1000000);
- }
-
- qDebug() << "I've been awakened";
- exit(1);
- }
-};
-
-int main(int argc, char **argv)
-{
- QCoreApplication app(argc, argv);
-
-// MyTimerWaiter waiter;
- MyTimer timer;
-
- while(i == 0) {
- qDebug() << "I'm entering processEvents";
- QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents);
- qDebug() << "I've been exited from processEvents";
- }
-
- qDebug() << "NOT starting the main loop";
- return 0;
-
- return app.exec();
-}
-
-#include "main.moc"
diff --git a/libcontextsubscriber/cli/wait-test/wait-test.pro b/libcontextsubscriber/cli/wait-test/wait-test.pro
deleted file mode 100644
index 6555dbef..00000000
--- a/libcontextsubscriber/cli/wait-test/wait-test.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Tue May 12 17:17:46 2009
-######################################################################
-
-TEMPLATE = app
-TARGET =
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
-SOURCES += main.cpp
diff --git a/libcontextsubscriber/cls/Makefile.in b/libcontextsubscriber/cls/Makefile.in
new file mode 100644
index 00000000..91e4d44c
--- /dev/null
+++ b/libcontextsubscriber/cls/Makefile.in
@@ -0,0 +1,523 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = context-ls$(EXEEXT)
+subdir = libcontextsubscriber/cls
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_context_ls_OBJECTS = context-ls.$(OBJEXT)
+context_ls_OBJECTS = $(am_context_ls_OBJECTS)
+context_ls_DEPENDENCIES = ../src/libcontextsubscriber.la \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(context_ls_SOURCES)
+DIST_SOURCES = $(context_ls_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+context_ls_SOURCES = context-ls.cpp
+
+# library dependency hack for seamless make in cls/
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) \
+ '-DCONTEXT_LOG_MODULE_NAME="context-ls"' -I$(srcdir)/../src \
+ -I$(top_srcdir)/common
+context_ls_LDADD = ../src/libcontextsubscriber.la $(top_builddir)/common/libcommon.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/cls/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/cls/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+context-ls$(EXEEXT): $(context_ls_OBJECTS) $(context_ls_DEPENDENCIES)
+ @rm -f context-ls$(EXEEXT)
+ $(CXXLINK) $(context_ls_OBJECTS) $(context_ls_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context-ls.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-binPROGRAMS
+
+
+../src/libcontextsubscriber.la:
+ $(MAKE) -C ../src libcontextsubscriber.la
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: ../src/libcontextsubscriber.la $(top_builddir)/common/libcommon.la
+
+# moccing
+# nodist_context_ls_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(context_ls_SOURCES))
+# include $(top_srcdir)/am/qt.am
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/customer-tests/Makefile.in b/libcontextsubscriber/customer-tests/Makefile.in
new file mode 100644
index 00000000..89802a97
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/Makefile.in
@@ -0,0 +1,585 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am
+subdir = libcontextsubscriber/customer-tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libcontextsubscribertestsdir)"
+libcontextsubscribertestsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(libcontextsubscribertests_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = update-contextkit-providers testplugins
+libcontextsubscribertestsdir = $(datadir)/libcontextsubscriber-tests
+libcontextsubscribertests_DATA = tests.xml
+CLEANFILES = *.pyc
+EXTRA_DIST = asynchronicity commander subscription runTests.sh \
+ tests.xml common registry pluginchanging env.sh \
+ coverage-build
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-libcontextsubscribertestsDATA: $(libcontextsubscribertests_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(libcontextsubscribertestsdir)" || $(MKDIR_P) "$(DESTDIR)$(libcontextsubscribertestsdir)"
+ @list='$(libcontextsubscribertests_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(libcontextsubscribertestsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(libcontextsubscribertestsdir)/$$f'"; \
+ $(libcontextsubscribertestsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(libcontextsubscribertestsdir)/$$f"; \
+ done
+
+uninstall-libcontextsubscribertestsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libcontextsubscribertests_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(libcontextsubscribertestsdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(libcontextsubscribertestsdir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libcontextsubscribertestsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-libcontextsubscribertestsDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-libcontextsubscribertestsDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ clean-local ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libcontextsubscribertestsDATA \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am uninstall-libcontextsubscribertestsDATA
+
+
+coverage: covoptioncheck
+ COVERAGE=1 ./runTests.sh
+.PHONY: coverage
+
+check-customer:
+ ./runTests.sh
+
+clean-local:
+ -$(MAKE) -C coverage-build clean
+ rm -rf coverage
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/customer-tests/testplugins/Makefile.in b/libcontextsubscriber/customer-tests/testplugins/Makefile.in
new file mode 100644
index 00000000..1f2cd598
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/Makefile.in
@@ -0,0 +1,537 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/customer-tests/testplugins
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = timeplugin1 timeplugin2
+EXTRA_DIST = timeplugin.cpp timeplugin.h
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/testplugins/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/testplugins/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile all-local
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local ctags ctags-recursive distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am
+
+
+# they are needed for running ../pluginchanging tests locally
+all-local:
+ ln -sf timeplugin1/.libs/contextsubscribertime1.so .
+ ln -sf timeplugin2/.libs/contextsubscribertime2.so .
+
+clean-local:
+ rm -f contextsubscribertime1.so
+ rm -f contextsubscribertime2.so
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin1/.gitignore b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/.gitignore
deleted file mode 100644
index d79521dc..00000000
--- a/libcontextsubscriber/customer-tests/testplugins/timeplugin1/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-timeplugin.cpp
-timeplugin.h
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile.in b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile.in
new file mode 100644
index 00000000..9cf2aa26
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile.in
@@ -0,0 +1,586 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/customer-tests/testplugins/timeplugin1
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(plugindir)"
+pluginLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(plugin_LTLIBRARIES)
+contextsubscribertime1_la_DEPENDENCIES = \
+ $(top_builddir)/common/libcommon.la
+am_contextsubscribertime1_la_OBJECTS = timeplugin.lo
+nodist_contextsubscribertime1_la_OBJECTS = mocs.lo
+contextsubscribertime1_la_OBJECTS = \
+ $(am_contextsubscribertime1_la_OBJECTS) \
+ $(nodist_contextsubscribertime1_la_OBJECTS)
+contextsubscribertime1_la_LINK = $(LIBTOOL) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(contextsubscribertime1_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(contextsubscribertime1_la_SOURCES) \
+ $(nodist_contextsubscribertime1_la_SOURCES)
+DIST_SOURCES = $(contextsubscribertime1_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(CDB_LIBS) $(QtCore_LIBS) $(QtDBus_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+plugindir = $(libdir)/contextkit/subscriber-test-plugins/
+plugin_LTLIBRARIES = contextsubscribertime1.la
+contextsubscribertime1_la_SOURCES = timeplugin.cpp timeplugin.h
+BUILT_SOURCES = $(contextsubscribertime1_la_SOURCES)
+AM_CXXFLAGS = -I$(top_srcdir)/common \
+ -I$(srcdir)/../../../src $(QtCore_CFLAGS) \
+ $(QtDBus_CFLAGS) \
+ '-DCONTEXT_LOG_MODULE_NAME="time1plugin"' \
+ '-DTIME_PLUGIN_PREFIX="Time1: "'
+
+contextsubscribertime1_la_LDFLAGS = -avoid-version -module
+contextsubscribertime1_la_LIBADD = $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_contextsubscribertime1_la_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contextsubscribertime1_la_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(plugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(plugindir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$p"; \
+ done
+
+clean-pluginLTLIBRARIES:
+ -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+contextsubscribertime1.la: $(contextsubscribertime1_la_OBJECTS) $(contextsubscribertime1_la_DEPENDENCIES)
+ $(contextsubscribertime1_la_LINK) -rpath $(plugindir) $(contextsubscribertime1_la_OBJECTS) $(contextsubscribertime1_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeplugin.Plo@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(plugindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-pluginLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pluginLTLIBRARIES
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pluginLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-pluginLTLIBRARIES ctags \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pluginLTLIBRARIES install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-pluginLTLIBRARIES
+
+timeplugin.cpp: ../timeplugin.cpp
+ ln -sf $< $@
+timeplugin.h: ../timeplugin.h
+ ln -sf $< $@
+
+clean-local:
+ rm -f timeplugin.cpp timeplugin.h
+
+$(top_builddir)/common/libcommon.a:
+ $(MAKE) -C $(top_builddir)/common libcommon.a
+
+.PHONY: $(top_builddir)/common/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.cpp b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.cpp
new file mode 100644
index 00000000..6e3c4df0
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.cpp
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Marius Vollmer <marius.vollmer@nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include "timeplugin.h"
+#include "sconnect.h"
+
+#include "logging.h"
+
+#include <QDateTime>
+
+/// The factory method for constructing the IPropertyProvider instance.
+IProviderPlugin* pluginFactory(QString /*constructionString*/)
+{
+ // Note: it's the caller's responsibility to delete the plugin if
+ // needed.
+ return new ContextSubscriberTime::TimePlugin();
+}
+
+namespace ContextSubscriberTime {
+
+TimePlugin::TimePlugin()
+{
+ contextDebug();
+ prefix = TIME_PLUGIN_PREFIX;
+ timer.setInterval(2000);
+ sconnect(&timer, SIGNAL(timeout()), this, SLOT(onTimeout()));
+ QMetaObject::invokeMethod(this, "ready", Qt::QueuedConnection);
+}
+
+void TimePlugin::subscribe(QSet<QString> keys)
+{
+ contextDebug() << keys;
+ foreach(const QString& key, keys) {
+ emit subscribeFinished(key);
+ }
+ timer.start();
+}
+
+void TimePlugin::unsubscribe(QSet<QString> keys)
+{
+ timer.stop();
+}
+
+void TimePlugin::onTimeout()
+{
+ contextDebug() << "Timeout";
+ emit valueChanged("Test.Time", QDateTime::currentDateTime().toString().prepend(prefix));
+}
+
+} // end namespace
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.h b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.h
new file mode 100644
index 00000000..3a51fb5a
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/timeplugin.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Marius Vollmer <marius.vollmer@nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+/*
+This is a test plugin for customer tests.
+*/
+
+#ifndef TIMEPLUGIN_H
+#define TIMEPLUGIN_H
+
+#include "iproviderplugin.h" // For IProviderPlugin definition
+#include <QTimer>
+
+using ContextSubscriber::IProviderPlugin;
+
+extern "C" {
+ IProviderPlugin* pluginFactory(QString constructionString);
+}
+
+namespace ContextSubscriberTime
+{
+
+class TimePlugin : public IProviderPlugin
+{
+ Q_OBJECT
+
+public:
+ explicit TimePlugin();
+ virtual void subscribe(QSet<QString> keys);
+ virtual void unsubscribe(QSet<QString> keys);
+
+private slots:
+ void onTimeout();
+
+private:
+ QTimer timer;
+ QString prefix;
+};
+}
+
+#endif
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin2/.gitignore b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/.gitignore
deleted file mode 100644
index d79521dc..00000000
--- a/libcontextsubscriber/customer-tests/testplugins/timeplugin2/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-timeplugin.cpp
-timeplugin.h
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile.in b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile.in
new file mode 100644
index 00000000..d080ea0b
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile.in
@@ -0,0 +1,586 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/customer-tests/testplugins/timeplugin2
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(plugindir)"
+pluginLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(plugin_LTLIBRARIES)
+contextsubscribertime2_la_DEPENDENCIES = \
+ $(top_builddir)/common/libcommon.la
+am_contextsubscribertime2_la_OBJECTS = timeplugin.lo
+nodist_contextsubscribertime2_la_OBJECTS = mocs.lo
+contextsubscribertime2_la_OBJECTS = \
+ $(am_contextsubscribertime2_la_OBJECTS) \
+ $(nodist_contextsubscribertime2_la_OBJECTS)
+contextsubscribertime2_la_LINK = $(LIBTOOL) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(contextsubscribertime2_la_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(contextsubscribertime2_la_SOURCES) \
+ $(nodist_contextsubscribertime2_la_SOURCES)
+DIST_SOURCES = $(contextsubscribertime2_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(CDB_LIBS) $(QtCore_LIBS) $(QtDBus_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+plugindir = $(libdir)/contextkit/subscriber-test-plugins/
+plugin_LTLIBRARIES = contextsubscribertime2.la
+contextsubscribertime2_la_SOURCES = timeplugin.cpp timeplugin.h
+BUILT_SOURCES = $(contextsubscribertime2_la_SOURCES)
+AM_CXXFLAGS = -I$(top_srcdir)/common \
+ -I$(srcdir)/../../../src $(QtCore_CFLAGS) \
+ $(QtDBus_CFLAGS) \
+ '-DCONTEXT_LOG_MODULE_NAME="time2plugin"' \
+ '-DTIME_PLUGIN_PREFIX="Time2: "'
+
+contextsubscribertime2_la_LDFLAGS = -avoid-version -module
+contextsubscribertime2_la_LIBADD = $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_contextsubscribertime2_la_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contextsubscribertime2_la_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(plugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(plugindir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$p"; \
+ done
+
+clean-pluginLTLIBRARIES:
+ -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+contextsubscribertime2.la: $(contextsubscribertime2_la_OBJECTS) $(contextsubscribertime2_la_DEPENDENCIES)
+ $(contextsubscribertime2_la_LINK) -rpath $(plugindir) $(contextsubscribertime2_la_OBJECTS) $(contextsubscribertime2_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeplugin.Plo@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+ for dir in "$(DESTDIR)$(plugindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local \
+ clean-pluginLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pluginLTLIBRARIES
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-pluginLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-pluginLTLIBRARIES ctags \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-pluginLTLIBRARIES install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-pluginLTLIBRARIES
+
+timeplugin.cpp: ../timeplugin.cpp
+ ln -sf $< $@
+timeplugin.h: ../timeplugin.h
+ ln -sf $< $@
+
+clean-local:
+ rm -f timeplugin.cpp timeplugin.h
+
+$(top_builddir)/common/libcommon.a:
+ $(MAKE) -C $(top_builddir)/common libcommon.a
+
+.PHONY: $(top_builddir)/common/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.cpp b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.cpp
new file mode 100644
index 00000000..6e3c4df0
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.cpp
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Marius Vollmer <marius.vollmer@nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include "timeplugin.h"
+#include "sconnect.h"
+
+#include "logging.h"
+
+#include <QDateTime>
+
+/// The factory method for constructing the IPropertyProvider instance.
+IProviderPlugin* pluginFactory(QString /*constructionString*/)
+{
+ // Note: it's the caller's responsibility to delete the plugin if
+ // needed.
+ return new ContextSubscriberTime::TimePlugin();
+}
+
+namespace ContextSubscriberTime {
+
+TimePlugin::TimePlugin()
+{
+ contextDebug();
+ prefix = TIME_PLUGIN_PREFIX;
+ timer.setInterval(2000);
+ sconnect(&timer, SIGNAL(timeout()), this, SLOT(onTimeout()));
+ QMetaObject::invokeMethod(this, "ready", Qt::QueuedConnection);
+}
+
+void TimePlugin::subscribe(QSet<QString> keys)
+{
+ contextDebug() << keys;
+ foreach(const QString& key, keys) {
+ emit subscribeFinished(key);
+ }
+ timer.start();
+}
+
+void TimePlugin::unsubscribe(QSet<QString> keys)
+{
+ timer.stop();
+}
+
+void TimePlugin::onTimeout()
+{
+ contextDebug() << "Timeout";
+ emit valueChanged("Test.Time", QDateTime::currentDateTime().toString().prepend(prefix));
+}
+
+} // end namespace
diff --git a/libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.h b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.h
new file mode 100644
index 00000000..3a51fb5a
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/timeplugin.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Contact: Marius Vollmer <marius.vollmer@nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+/*
+This is a test plugin for customer tests.
+*/
+
+#ifndef TIMEPLUGIN_H
+#define TIMEPLUGIN_H
+
+#include "iproviderplugin.h" // For IProviderPlugin definition
+#include <QTimer>
+
+using ContextSubscriber::IProviderPlugin;
+
+extern "C" {
+ IProviderPlugin* pluginFactory(QString constructionString);
+}
+
+namespace ContextSubscriberTime
+{
+
+class TimePlugin : public IProviderPlugin
+{
+ Q_OBJECT
+
+public:
+ explicit TimePlugin();
+ virtual void subscribe(QSet<QString> keys);
+ virtual void unsubscribe(QSet<QString> keys);
+
+private slots:
+ void onTimeout();
+
+private:
+ QTimer timer;
+ QString prefix;
+};
+}
+
+#endif
diff --git a/libcontextsubscriber/customer-tests/update-contextkit-providers/.gitignore b/libcontextsubscriber/customer-tests/update-contextkit-providers/.gitignore
deleted file mode 100644
index 5d2eaf58..00000000
--- a/libcontextsubscriber/customer-tests/update-contextkit-providers/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-KEYS.actual
-cache.cdb
-
diff --git a/libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile.in b/libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile.in
new file mode 100644
index 00000000..61f7f62e
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile.in
@@ -0,0 +1,382 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/customer-tests/update-contextkit-providers
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = test.sh \
+ Battery.Charging_KEYDOC.expected \
+ Battery.Charging_KEYTYPE.expected \
+ KEYS.expected \
+ providers1.context providers2.context \
+ Battery.Charging_PROVIDERS.expected
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ clean-local distclean distclean-generic distclean-libtool \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+check-customer:
+ $(MAKE) -C @abs_top_srcdir@ all
+ ./test.sh
+
+clean-local:
+ rm -f *.actual *.cdb
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/customer-tests/update-contextkit-providers/regen.sh b/libcontextsubscriber/customer-tests/update-contextkit-providers/regen.sh
deleted file mode 100755
index 9f28424d..00000000
--- a/libcontextsubscriber/customer-tests/update-contextkit-providers/regen.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash -e
-
-function regendb {
- cdb -q "cache.cdb" "$1" > "$2.expected"
-}
-
-export CONTEXT_CORE_DECLARATIONS=.
-../../update-contextkit-providers/update-contextkit-providers .
-
-regendb "KEYS" "KEYS"
-regendb "Battery.Charging:KEYTYPE" "Battery.Charging_KEYTYPE"
-regendb "Battery.Charging:KEYDOC" "Battery.Charging_KEYDOC"
-regendb "Battery.Charging:PROVIDERS" "Battery.Charging_PROVIDERS"
-echo "Regen succeeded!"
-exit 0
diff --git a/libcontextsubscriber/demo/README b/libcontextsubscriber/demo/README
deleted file mode 100644
index 4bade57b..00000000
--- a/libcontextsubscriber/demo/README
+++ /dev/null
@@ -1,27 +0,0 @@
-libcontextsubscriber is using only asynchronous DBUS calls to
-communicate with the providers/commander. Here is the process to
-demonstrate it.
-
-You will need 3 terminals, one for the context-listen, one for a "slow
-provider" and one for a "fast provider". Both of the providers will
-be emulated by using the flexiprovider.
-
-terminal all: start from the directory of this README file
-
-terminal fast> cd ../../python/
-terminal fast> ./context-provide com.nokia.fast int test.fast 316
-
-terminal slow> cd ../../python/
-terminal slow> ./context-provide com.nokia.slow int test.slow 530
-terminal slow (inside python)> import time; time.sleep(10)
-
-terminal cli> export CONTEXT_PROVIDERS=.
-terminal cli> ../cli/context-listen test.fast test.slow
-
-terminal fast (inside python)> set('test.fast', 613)
-
-On terminal cli, you will see that the fast property is received at
-start, the change to 613 is also immediately available, in spite of we
-are waiting for the slow provider's subscription object. After the
-sleep(10) is over in slow provider the initial value from there is
-also received.
diff --git a/libcontextsubscriber/demo/fast.context b/libcontextsubscriber/demo/fast.context
deleted file mode 100644
index df724b75..00000000
--- a/libcontextsubscriber/demo/fast.context
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<provider bus="session" service="com.nokia.fast">
- <key name="test.fast">
- <type>INT</type>
- <doc>A phony but very flexible property.</doc>
- </key>
-</provider>
diff --git a/libcontextsubscriber/demo/slow.context b/libcontextsubscriber/demo/slow.context
deleted file mode 100644
index c7d71858..00000000
--- a/libcontextsubscriber/demo/slow.context
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<provider bus="session" service="com.nokia.slow">
- <key name="test.slow">
- <type>INT</type>
- <doc>A phony but very flexible property.</doc>
- </key>
-</provider>
diff --git a/libcontextsubscriber/doc/Makefile.in b/libcontextsubscriber/doc/Makefile.in
new file mode 100644
index 00000000..9139f0a2
--- /dev/null
+++ b/libcontextsubscriber/doc/Makefile.in
@@ -0,0 +1,390 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DOXYCFG = $(srcdir)/doxy.cfg
+EXTRA_DIST = $(DOXYCFG) html
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+@CONTEXTKIT_BUILD_DOCS_FALSE@all-local:
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool distclean distclean-generic distclean-libtool \
+ distclean-local distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+@CONTEXTKIT_BUILD_DOCS_TRUE@all-local: doxygen
+
+doxygen:
+ @if test x$(srcdir) = x. ; then \
+ echo srcdir=$(srcdir) $(DOXYGEN) $(DOXYCFG); \
+ srcdir=$(srcdir) $(DOXYGEN) $(DOXYCFG); \
+ else \
+ echo This is a VPATH build, so not building doxygen; \
+ fi
+
+distclean-local:
+ rm -f doxygen.log
+
+maintainer-clean-local:
+ rm -rf html
+
+.PHONY: doxygen
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/doc/html/annotated.html b/libcontextsubscriber/doc/html/annotated.html
new file mode 100644
index 00000000..e15a8721
--- /dev/null
+++ b/libcontextsubscriber/doc/html/annotated.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a></td><td class="indexvalue">This is a workaround for QtDBus to be asynchronous </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td class="indexvalue">A wrapper class to read data from a tiny-cdb database </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td class="indexvalue">A wrapper class to write data (create) tiny-cdb databases </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_feature.html">ContextFeature</a></td><td class="indexvalue">This class represents a "feature" in the logging framework/system </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td class="indexvalue">Implementation of the ContextKit D-Bus protocol </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_property.html">ContextProperty</a></td><td class="indexvalue">Allows access to keys and their values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td class="indexvalue">A class to introspect a context property details </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a></td><td class="indexvalue">The private parts of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td class="indexvalue">A real logging class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td class="indexvalue">A class to introspect the registry contents </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td><td class="indexvalue">A fake logging class </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td class="indexvalue">Listens for changes in a specific service name on a D-Bus bus, optionally gets the initial state of the service name </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td><td class="indexvalue">Routes the <code>valueChanged()</code> and the <code>subscribeFinished()</code> signals to the correct <code><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a></code> object </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_info_backend.html">InfoBackend</a></td><td class="indexvalue">An abstract (pure virtual) singleton class that represents the actual registry backend </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td class="indexvalue">Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a cdb database </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct_info_key_data.html">InfoKeyData</a></td><td class="indexvalue">Simple storage class that groups info about a given key </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td class="indexvalue">Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a directory with xml files </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td class="indexvalue">Interface for provider plugins </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_nano_xml.html">NanoXml</a></td><td class="indexvalue">Parses XML files into a nano dom </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td class="indexvalue">A common handle for a context property </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td class="indexvalue">Connects to a group of properties via the help of a plugin </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td class="indexvalue">A class that can invoke its own methods in a delayed way </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a></td><td class="indexvalue">Deletes itself after the <code>finished()</code> signal is emitted (and the mainloop entered) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_subscriber_interface.html">SubscriberInterface</a></td><td class="indexvalue">Proxy class for using the DBus interface org.freedesktop.ContextKit.Subscriber asynchronously </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_subscriber_signalling_interface.html">SubscriberSignallingInterface</a></td><td class="indexvalue">Proxy class for the DBus interface org.freedesktop.ContextKit.Subscriber which connects automatically to the Changed signal over DBus </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/asyncdbusinterface_8cpp.html b/libcontextsubscriber/doc/html/asyncdbusinterface_8cpp.html
new file mode 100644
index 00000000..2df6fd47
--- /dev/null
+++ b/libcontextsubscriber/doc/html/asyncdbusinterface_8cpp.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: asyncdbusinterface.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>asyncdbusinterface.cpp File Reference</h1><code>#include &quot;<a class="el" href="asyncdbusinterface_8h-source.html">asyncdbusinterface.h</a>&quot;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/asyncdbusinterface_8h-source.html b/libcontextsubscriber/doc/html/asyncdbusinterface_8h-source.html
new file mode 100644
index 00000000..f72303bd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/asyncdbusinterface_8h-source.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: asyncdbusinterface.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>asyncdbusinterface.h</h1><a href="asyncdbusinterface_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef ASYNCDBUSINTERFACE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define ASYNCDBUSINTERFACE_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="keyword">class </span>QString;
+<a name="l00026"></a>00026 <span class="keyword">class </span>QObject;
+<a name="l00027"></a>00027 <span class="keyword">class </span>QDBusConnection;
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QDBusAbstractInterface&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a><a class="code" href="class_async_d_bus_interface.html">00031</a> <span class="keyword">class </span><a class="code" href="class_async_d_bus_interface.html" title="This is a workaround for QtDBus to be asynchronous.">AsyncDBusInterface</a> : <span class="keyword">public</span> QDBusAbstractInterface
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">public</span>:
+<a name="l00034"></a>00034 <a class="code" href="class_async_d_bus_interface.html#744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a>(<span class="keyword">const</span> QString &amp;service, <span class="keyword">const</span> QString &amp;path,
+<a name="l00035"></a>00035 <span class="keyword">const</span> QString &amp;interface,
+<a name="l00036"></a>00036 <span class="keyword">const</span> QDBusConnection &amp;connection,
+<a name="l00037"></a>00037 QObject *parent = 0);
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/asyncdbusinterface_8h.html b/libcontextsubscriber/doc/html/asyncdbusinterface_8h.html
new file mode 100644
index 00000000..0d541d68
--- /dev/null
+++ b/libcontextsubscriber/doc/html/asyncdbusinterface_8h.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: asyncdbusinterface.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>asyncdbusinterface.h File Reference</h1><code>#include &lt;QDBusAbstractInterface&gt;</code><br>
+
+<p>
+<a href="asyncdbusinterface_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a workaround for QtDBus to be asynchronous. <a href="class_async_d_bus_interface.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/cdbreader_8cpp.html b/libcontextsubscriber/doc/html/cdbreader_8cpp.html
new file mode 100644
index 00000000..40274657
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbreader_8cpp.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: cdbreader.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>cdbreader.cpp File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;cdb.h&gt;</code><br>
+<code>#include &lt;fcntl.h&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QByteArray&gt;</code><br>
+<code>#include &lt;QFile&gt;</code><br>
+<code>#include &lt;QDataStream&gt;</code><br>
+<code>#include &quot;<a class="el" href="cdbreader_8h-source.html">cdbreader.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/cdbreader_8h-source.html b/libcontextsubscriber/doc/html/cdbreader_8h-source.html
new file mode 100644
index 00000000..1516cd7b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbreader_8h-source.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: cdbreader.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>cdbreader.h</h1><a href="cdbreader_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CDBREADER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CDBREADER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QVariantList&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QByteArray&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a><a class="code" href="class_c_d_b_reader.html">00031</a> <span class="keyword">class </span><a class="code" href="class_c_d_b_reader.html" title="A wrapper class to read data from a tiny-cdb database.">CDBReader</a> : <span class="keyword">public</span> QObject
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 Q_OBJECT
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">public</span>:
+<a name="l00036"></a>00036 <span class="keyword">explicit</span> <a class="code" href="class_c_d_b_reader.html#da59740e3d69efc32db88cdb4514dcfa" title="Constructs a new CDBReader reading from cdb database at dbpath.">CDBReader</a>(<span class="keyword">const</span> QString &amp;dbpath, QObject *parent = 0);
+<a name="l00037"></a>00037 <span class="keyword">virtual</span> <a class="code" href="class_c_d_b_reader.html#bd17716f2bcfc205ddf9ab47b5005a8a" title="Destroys the object automatically closing the database and file.">~CDBReader</a>();
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="class_c_d_b_reader.html#4a6881b3b4fd14c2badcdbbfc1a5741c" title="Closes the reader and the underlying file on the filesystem.">close</a>();
+<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="class_c_d_b_reader.html#32774adde1a5edcf80e2ccd981d93eb5" title="Reopens the reader for reading.">reopen</a>();
+<a name="l00041"></a>00041 QVariantList <a class="code" href="class_c_d_b_reader.html#0ad9d8670836cc8ce12a2f364495aa5c" title="Returns all values associated with the given key from the database.">valuesForKey</a>(<span class="keyword">const</span> QString &amp;key) <span class="keyword">const</span>;
+<a name="l00042"></a>00042 QVariant <a class="code" href="class_c_d_b_reader.html#65d872621906917c9f72bcfebf24343b" title="Returns a value for the given key.">valueForKey</a>(<span class="keyword">const</span> QString &amp;key) <span class="keyword">const</span>;
+<a name="l00043"></a>00043 <span class="keywordtype">bool</span> <a class="code" href="class_c_d_b_reader.html#05e7a3925a61aea6a0375c05f16cc142" title="Returns the current state of the reader.">isReadable</a>();
+<a name="l00044"></a>00044 <span class="keywordtype">int</span> <a class="code" href="class_c_d_b_reader.html#5a5b29f1d6c958ea4384f7e9680d0d3e" title="Returns the file descriptor used by the reader.">fileDescriptor</a>() <span class="keyword">const</span>;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">private</span>:
+<a name="l00047"></a><a class="code" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5">00047</a> QString <a class="code" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5" title="Path pointing to the database.">path</a>;
+<a name="l00048"></a><a class="code" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f">00048</a> <span class="keywordtype">void</span> *<a class="code" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f" title="Cdb library object used for reading.">cdb</a>;
+<a name="l00049"></a><a class="code" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c">00049</a> <span class="keywordtype">int</span> <a class="code" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c" title="A file descriptor to the database.">fd</a>;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/cdbreader_8h.html b/libcontextsubscriber/doc/html/cdbreader_8h.html
new file mode 100644
index 00000000..8071a575
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbreader_8h.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: cdbreader.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>cdbreader.h File Reference</h1><code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QVariantList&gt;</code><br>
+<code>#include &lt;QByteArray&gt;</code><br>
+
+<p>
+<a href="cdbreader_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A wrapper class to read data from a tiny-cdb database. <a href="class_c_d_b_reader.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/cdbwriter_8cpp.html b/libcontextsubscriber/doc/html/cdbwriter_8cpp.html
new file mode 100644
index 00000000..ae97e1f6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbwriter_8cpp.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: cdbwriter.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>cdbwriter.cpp File Reference</h1><code>#include &lt;cdb.h&gt;</code><br>
+<code>#include &lt;fcntl.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="cdbwriter_8h-source.html">cdbwriter.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/cdbwriter_8h-source.html b/libcontextsubscriber/doc/html/cdbwriter_8h-source.html
new file mode 100644
index 00000000..22748b11
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbwriter_8h-source.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: cdbwriter.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>cdbwriter.h</h1><a href="cdbwriter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CDBWRITER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CDBWRITER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a><a class="code" href="class_c_d_b_writer.html">00029</a> <span class="keyword">class </span><a class="code" href="class_c_d_b_writer.html" title="A wrapper class to write data (create) tiny-cdb databases.">CDBWriter</a> : <span class="keyword">public</span> QObject
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 Q_OBJECT
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">public</span>:
+<a name="l00034"></a>00034 <span class="keyword">explicit</span> <a class="code" href="class_c_d_b_writer.html#e40a943a3cf86d6ca9b5350357d83a74" title="Constructs a new CDBWriter to write to a cdb database at dbpath.">CDBWriter</a>(<span class="keyword">const</span> QString &amp;path, QObject *parent = 0);
+<a name="l00035"></a>00035 <span class="keyword">explicit</span> <a class="code" href="class_c_d_b_writer.html#e40a943a3cf86d6ca9b5350357d83a74" title="Constructs a new CDBWriter to write to a cdb database at dbpath.">CDBWriter</a>(<span class="keywordtype">int</span> <a class="code" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea" title="A file descriptor pointing to the database.">fd</a>, QObject *parent = 0);
+<a name="l00036"></a>00036 <span class="keyword">virtual</span> <a class="code" href="class_c_d_b_writer.html#e8f20236cbe613623d71af092d0aeaf6" title="Destroys the object closing the file beforehand.">~CDBWriter</a>();
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keywordtype">void</span> <span class="keyword">add</span>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val);
+<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="class_c_d_b_writer.html#3c54b531d448d33660b7d089118dfd4c" title="Insert a new key with val to the database.">insert</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val);
+<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="class_c_d_b_writer.html#ee735f7f3c2540e8dfe180bc2775dfb5" title="Insert a new key with val to the database.">replace</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val);
+<a name="l00041"></a>00041 <span class="keywordtype">void</span> <a class="code" href="class_c_d_b_writer.html#8de500cd2916cca7709862624fd52728" title="Closes the writer and the underlying filesystem resource for writing.">close</a>();
+<a name="l00042"></a>00042 <span class="keywordtype">bool</span> <a class="code" href="class_c_d_b_writer.html#aa1e44ad6f40ffb7de3a2ad2d361cd62" title="Returns true if the writer is writable.">isWritable</a>();
+<a name="l00043"></a>00043 <span class="keywordtype">int</span> <a class="code" href="class_c_d_b_writer.html#2ff2ca31100e94d445741e80dcddfee0" title="Returns the file descriptor used by the writer.">fileDescriptor</a>() <span class="keyword">const</span>;
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">private</span>:
+<a name="l00046"></a><a class="code" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b">00046</a> <span class="keywordtype">void</span> *<a class="code" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b" title="A cdb library structure used to read data.">cdbm</a>;
+<a name="l00047"></a><a class="code" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">00047</a> <span class="keywordtype">int</span> fd;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_c_d_b_writer.html#cb6cbc68cd6370bbdbeb0f08163dbca5" title="Puts a new key with value val into the database.">put</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;val, <span class="keywordtype">int</span> flag);
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/cdbwriter_8h.html b/libcontextsubscriber/doc/html/cdbwriter_8h.html
new file mode 100644
index 00000000..6a507291
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbwriter_8h.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: cdbwriter.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>cdbwriter.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="cdbwriter_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A wrapper class to write data (create) tiny-cdb databases. <a href="class_c_d_b_writer.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_async_d_bus_interface-members.html b/libcontextsubscriber/doc/html/class_async_d_bus_interface-members.html
new file mode 100644
index 00000000..342ad27a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_async_d_bus_interface-members.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>AsyncDBusInterface Member List</h1>This is the complete list of members for <a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_async_d_bus_interface.html#744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a>(const QString &amp;service, const QString &amp;path, const QString &amp;interface, const QDBusConnection &amp;connection, QObject *parent=0)</td><td><a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_async_d_bus_interface.html b/libcontextsubscriber/doc/html/class_async_d_bus_interface.html
new file mode 100644
index 00000000..66ad68ae
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_async_d_bus_interface.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: AsyncDBusInterface Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>AsyncDBusInterface Class Reference</h1><!-- doxytag: class="AsyncDBusInterface" -->This is a workaround for QtDBus to be asynchronous.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="asyncdbusinterface_8h-source.html">asyncdbusinterface.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_async_d_bus_interface-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_async_d_bus_interface.html#744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a> (const QString &amp;service, const QString &amp;path, const QString &amp;interface, const QDBusConnection &amp;connection, QObject *parent=0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This is a workaround for QtDBus to be asynchronous.
+<p>
+In QtDBus, the QDBusInterface class which the developer is supposed to use makes introspection calls synchronously. It is not clear (and not documented), what is the benefit of these introspection calls, probably invalid use and some errors are catched earlier if introspection data is available.<p>
+However this introspection data is requested synchronously, so constructing a new QDBusInterface can block your thread if the endpoint serving that introspection data on D-Bus is stuck.<p>
+ContextKit tries to be asynchronous, so this behavior of QDBusInterface is unacceptable and this is why QDBusAbstractInterface has to be used instead (it is simpler, it doesn't use introspection at all).<p>
+Unfortunately QDBusAbstractInterface only has a protected constructor, so we need this wrapper class, which makes that constructor available to us.<p>
+So this class is internal to ContextKit, it is distributed only, because we use it in several subprojects, do not use it through ContextKit. If you find this useful, copy the source instead. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="744b95cd3be282e83cf0fdc63e41144b"></a><!-- doxytag: member="AsyncDBusInterface::AsyncDBusInterface" ref="744b95cd3be282e83cf0fdc63e41144b" args="(const QString &amp;service, const QString &amp;path, const QString &amp;interface, const QDBusConnection &amp;connection, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">AsyncDBusInterface::AsyncDBusInterface </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>service</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>interface</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QDBusConnection &amp;&nbsp;</td>
+ <td class="paramname"> <em>connection</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="asyncdbusinterface_8h-source.html">asyncdbusinterface.h</a><li><a class="el" href="asyncdbusinterface_8cpp.html">asyncdbusinterface.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_c_d_b_reader-members.html b/libcontextsubscriber/doc/html/class_c_d_b_reader-members.html
new file mode 100644
index 00000000..66d5f88d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_reader-members.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>CDBReader Member List</h1>This is the complete list of members for <a class="el" href="class_c_d_b_reader.html">CDBReader</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f">cdb</a></td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#da59740e3d69efc32db88cdb4514dcfa">CDBReader</a>(const QString &amp;dbpath, QObject *parent=0)</td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#4a6881b3b4fd14c2badcdbbfc1a5741c">close</a>()</td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c">fd</a></td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#5a5b29f1d6c958ea4384f7e9680d0d3e">fileDescriptor</a>() const </td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#05e7a3925a61aea6a0375c05f16cc142">isReadable</a>()</td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5">path</a></td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#32774adde1a5edcf80e2ccd981d93eb5">reopen</a>()</td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#65d872621906917c9f72bcfebf24343b">valueForKey</a>(const QString &amp;key) const </td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#0ad9d8670836cc8ce12a2f364495aa5c">valuesForKey</a>(const QString &amp;key) const </td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#bd17716f2bcfc205ddf9ab47b5005a8a">~CDBReader</a>()</td><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_c_d_b_reader.html b/libcontextsubscriber/doc/html/class_c_d_b_reader.html
new file mode 100644
index 00000000..2d779efa
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_reader.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: CDBReader Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>CDBReader Class Reference</h1><!-- doxytag: class="CDBReader" -->A wrapper class to read data from a tiny-cdb database.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="cdbreader_8h-source.html">cdbreader.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_c_d_b_reader-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#da59740e3d69efc32db88cdb4514dcfa">CDBReader</a> (const QString &amp;dbpath, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a new <a class="el" href="class_c_d_b_reader.html" title="A wrapper class to read data from a tiny-cdb database.">CDBReader</a> reading from cdb database at <em>dbpath</em>. <a href="#da59740e3d69efc32db88cdb4514dcfa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#bd17716f2bcfc205ddf9ab47b5005a8a">~CDBReader</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the object automatically closing the database and file. <a href="#bd17716f2bcfc205ddf9ab47b5005a8a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#4a6881b3b4fd14c2badcdbbfc1a5741c">close</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the reader and the underlying file on the filesystem. <a href="#4a6881b3b4fd14c2badcdbbfc1a5741c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#32774adde1a5edcf80e2ccd981d93eb5">reopen</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reopens the reader for reading. <a href="#32774adde1a5edcf80e2ccd981d93eb5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariantList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#0ad9d8670836cc8ce12a2f364495aa5c">valuesForKey</a> (const QString &amp;key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns all values associated with the given key from the database. <a href="#0ad9d8670836cc8ce12a2f364495aa5c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#65d872621906917c9f72bcfebf24343b">valueForKey</a> (const QString &amp;key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a value for the given <em>key</em>. <a href="#65d872621906917c9f72bcfebf24343b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#05e7a3925a61aea6a0375c05f16cc142">isReadable</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current state of the reader. <a href="#05e7a3925a61aea6a0375c05f16cc142"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#5a5b29f1d6c958ea4384f7e9680d0d3e">fileDescriptor</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file descriptor used by the reader. <a href="#5a5b29f1d6c958ea4384f7e9680d0d3e"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5">path</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Path pointing to the database. <a href="#e38694ac8ddcf3f290616e28c163bfd5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f">cdb</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cdb library object used for reading. <a href="#2724a80b3ddfb3a30e6af954d162403f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c">fd</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A file descriptor to the database. <a href="#95f1693de1549bf12e299a18f678178c"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A wrapper class to read data from a tiny-cdb database.
+<p>
+This class is not a part of the public API. The reader operates on string-qvariant pairs: can read a qvariant value for a string key or a list of qvariant values for a string key. The reader automatically closes the underlying filesystem resource on destruction but can be also closed manually.<p>
+Reading from a closed reader will return empty strings. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="da59740e3d69efc32db88cdb4514dcfa"></a><!-- doxytag: member="CDBReader::CDBReader" ref="da59740e3d69efc32db88cdb4514dcfa" args="(const QString &amp;dbpath, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">CDBReader::CDBReader </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>dbpath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs a new <a class="el" href="class_c_d_b_reader.html" title="A wrapper class to read data from a tiny-cdb database.">CDBReader</a> reading from cdb database at <em>dbpath</em>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>dbpath</em>&nbsp;</td><td>Path to the database. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bd17716f2bcfc205ddf9ab47b5005a8a"></a><!-- doxytag: member="CDBReader::~CDBReader" ref="bd17716f2bcfc205ddf9ab47b5005a8a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">CDBReader::~CDBReader </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys the object automatically closing the database and file.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="4a6881b3b4fd14c2badcdbbfc1a5741c"></a><!-- doxytag: member="CDBReader::close" ref="4a6881b3b4fd14c2badcdbbfc1a5741c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBReader::close </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes the reader and the underlying file on the filesystem.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5a5b29f1d6c958ea4384f7e9680d0d3e"></a><!-- doxytag: member="CDBReader::fileDescriptor" ref="5a5b29f1d6c958ea4384f7e9680d0d3e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int CDBReader::fileDescriptor </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the file descriptor used by the reader.
+<p>
+Returns 0 when the reader is closed.
+</div>
+</div><p>
+<a class="anchor" name="05e7a3925a61aea6a0375c05f16cc142"></a><!-- doxytag: member="CDBReader::isReadable" ref="05e7a3925a61aea6a0375c05f16cc142" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool CDBReader::isReadable </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the current state of the reader.
+<p>
+Reader is not readable if it was created with a path that doesn't exist or if it was closed.
+</div>
+</div><p>
+<a class="anchor" name="32774adde1a5edcf80e2ccd981d93eb5"></a><!-- doxytag: member="CDBReader::reopen" ref="32774adde1a5edcf80e2ccd981d93eb5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBReader::reopen </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Reopens the reader for reading.
+<p>
+It will first close the current reader if it's open.
+</div>
+</div><p>
+<a class="anchor" name="65d872621906917c9f72bcfebf24343b"></a><!-- doxytag: member="CDBReader::valueForKey" ref="65d872621906917c9f72bcfebf24343b" args="(const QString &amp;key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant CDBReader::valueForKey </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a value for the given <em>key</em>.
+<p>
+First value is returned if there are many values for one key. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key name in the database. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0ad9d8670836cc8ce12a2f364495aa5c"></a><!-- doxytag: member="CDBReader::valuesForKey" ref="0ad9d8670836cc8ce12a2f364495aa5c" args="(const QString &amp;key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariantList CDBReader::valuesForKey </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns all values associated with the given key from the database.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key name in the database. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="2724a80b3ddfb3a30e6af954d162403f"></a><!-- doxytag: member="CDBReader::cdb" ref="2724a80b3ddfb3a30e6af954d162403f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void* <a class="el" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f">CDBReader::cdb</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Cdb library object used for reading.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="95f1693de1549bf12e299a18f678178c"></a><!-- doxytag: member="CDBReader::fd" ref="95f1693de1549bf12e299a18f678178c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c">CDBReader::fd</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A file descriptor to the database.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e38694ac8ddcf3f290616e28c163bfd5"></a><!-- doxytag: member="CDBReader::path" ref="e38694ac8ddcf3f290616e28c163bfd5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5">CDBReader::path</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Path pointing to the database.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="cdbreader_8h-source.html">cdbreader.h</a><li><a class="el" href="cdbreader_8cpp.html">cdbreader.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_c_d_b_writer-members.html b/libcontextsubscriber/doc/html/class_c_d_b_writer-members.html
new file mode 100644
index 00000000..603c81dc
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_writer-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>CDBWriter Member List</h1>This is the complete list of members for <a class="el" href="class_c_d_b_writer.html">CDBWriter</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#7badfc7cd1c94ef07a3c630c0f0bd0fb">add</a>(const QString &amp;key, const QVariant &amp;val)</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b">cdbm</a></td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#e40a943a3cf86d6ca9b5350357d83a74">CDBWriter</a>(const QString &amp;path, QObject *parent=0)</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#e9ca0bb62aa913a150b988b3bf6c9bad">CDBWriter</a>(int fd, QObject *parent=0)</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#8de500cd2916cca7709862624fd52728">close</a>()</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">fd</a></td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#2ff2ca31100e94d445741e80dcddfee0">fileDescriptor</a>() const </td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#3c54b531d448d33660b7d089118dfd4c">insert</a>(const QString &amp;key, const QVariant &amp;val)</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#aa1e44ad6f40ffb7de3a2ad2d361cd62">isWritable</a>()</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#cb6cbc68cd6370bbdbeb0f08163dbca5">put</a>(const QString &amp;key, const QVariant &amp;val, int flag)</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#ee735f7f3c2540e8dfe180bc2775dfb5">replace</a>(const QString &amp;key, const QVariant &amp;val)</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#e8f20236cbe613623d71af092d0aeaf6">~CDBWriter</a>()</td><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_c_d_b_writer.html b/libcontextsubscriber/doc/html/class_c_d_b_writer.html
new file mode 100644
index 00000000..74b11ab4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_writer.html
@@ -0,0 +1,429 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: CDBWriter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>CDBWriter Class Reference</h1><!-- doxytag: class="CDBWriter" -->A wrapper class to write data (create) tiny-cdb databases.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="cdbwriter_8h-source.html">cdbwriter.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_c_d_b_writer-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#e40a943a3cf86d6ca9b5350357d83a74">CDBWriter</a> (const QString &amp;path, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a new <a class="el" href="class_c_d_b_writer.html" title="A wrapper class to write data (create) tiny-cdb databases.">CDBWriter</a> to write to a cdb database at <em>dbpath</em>. <a href="#e40a943a3cf86d6ca9b5350357d83a74"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#e9ca0bb62aa913a150b988b3bf6c9bad">CDBWriter</a> (int <a class="el" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">fd</a>, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a new <a class="el" href="class_c_d_b_writer.html" title="A wrapper class to write data (create) tiny-cdb databases.">CDBWriter</a> to write to a cdb database at a file descriptor <em>fd</em>. <a href="#e9ca0bb62aa913a150b988b3bf6c9bad"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#e8f20236cbe613623d71af092d0aeaf6">~CDBWriter</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the object closing the file beforehand. <a href="#e8f20236cbe613623d71af092d0aeaf6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#7badfc7cd1c94ef07a3c630c0f0bd0fb">add</a> (const QString &amp;key, const QVariant &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new <em>key</em> with <em>val</em> to the database. <a href="#7badfc7cd1c94ef07a3c630c0f0bd0fb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#3c54b531d448d33660b7d089118dfd4c">insert</a> (const QString &amp;key, const QVariant &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a new <em>key</em> with <em>val</em> to the database. <a href="#3c54b531d448d33660b7d089118dfd4c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#ee735f7f3c2540e8dfe180bc2775dfb5">replace</a> (const QString &amp;key, const QVariant &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a new <em>key</em> with <em>val</em> to the database. <a href="#ee735f7f3c2540e8dfe180bc2775dfb5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#8de500cd2916cca7709862624fd52728">close</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the writer and the underlying filesystem resource for writing. <a href="#8de500cd2916cca7709862624fd52728"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#aa1e44ad6f40ffb7de3a2ad2d361cd62">isWritable</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <em>true</em> if the writer is writable. <a href="#aa1e44ad6f40ffb7de3a2ad2d361cd62"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#2ff2ca31100e94d445741e80dcddfee0">fileDescriptor</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file descriptor used by the writer. <a href="#2ff2ca31100e94d445741e80dcddfee0"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#cb6cbc68cd6370bbdbeb0f08163dbca5">put</a> (const QString &amp;key, const QVariant &amp;val, int flag)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Puts a new <em>key</em> with value <em>val</em> into the database. <a href="#cb6cbc68cd6370bbdbeb0f08163dbca5"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b">cdbm</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cdb library structure used to read data. <a href="#142d82fc35b3ad495588ad2299cb5f2b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">fd</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A file descriptor pointing to the database. <a href="#db50416b86fe2dcb95ec16e9a5bdc6ea"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A wrapper class to write data (create) tiny-cdb databases.
+<p>
+This class is not a part of the public API. The writer operates on string-qvariant pairs. QVariant values can be associated with string keys. Several operations are supported - adding, replacing and inserting. Those operations differ in how they handle existing keys with same name.<p>
+The writer automatically cloes the filesystem resource on destruction but can be also closed manually. Writing to a closed writer has no effect. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="e40a943a3cf86d6ca9b5350357d83a74"></a><!-- doxytag: member="CDBWriter::CDBWriter" ref="e40a943a3cf86d6ca9b5350357d83a74" args="(const QString &amp;path, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">CDBWriter::CDBWriter </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs a new <a class="el" href="class_c_d_b_writer.html" title="A wrapper class to write data (create) tiny-cdb databases.">CDBWriter</a> to write to a cdb database at <em>dbpath</em>.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>dbpath</em>&nbsp;</td><td>Path to the database. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e9ca0bb62aa913a150b988b3bf6c9bad"></a><!-- doxytag: member="CDBWriter::CDBWriter" ref="e9ca0bb62aa913a150b988b3bf6c9bad" args="(int fd, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">CDBWriter::CDBWriter </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fdd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs a new <a class="el" href="class_c_d_b_writer.html" title="A wrapper class to write data (create) tiny-cdb databases.">CDBWriter</a> to write to a cdb database at a file descriptor <em>fd</em>.
+<p>
+You should not manipulate the <em>fd</em> after calling this function. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>An open file descriptor. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e8f20236cbe613623d71af092d0aeaf6"></a><!-- doxytag: member="CDBWriter::~CDBWriter" ref="e8f20236cbe613623d71af092d0aeaf6" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">CDBWriter::~CDBWriter </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys the object closing the file beforehand.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7badfc7cd1c94ef07a3c630c0f0bd0fb"></a><!-- doxytag: member="CDBWriter::add" ref="7badfc7cd1c94ef07a3c630c0f0bd0fb" args="(const QString &amp;key, const QVariant &amp;val)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBWriter::add </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a new <em>key</em> with <em>val</em> to the database.
+<p>
+If a value for this key already exists, another one is added. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key name as string. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Value as string. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8de500cd2916cca7709862624fd52728"></a><!-- doxytag: member="CDBWriter::close" ref="8de500cd2916cca7709862624fd52728" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBWriter::close </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes the writer and the underlying filesystem resource for writing.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2ff2ca31100e94d445741e80dcddfee0"></a><!-- doxytag: member="CDBWriter::fileDescriptor" ref="2ff2ca31100e94d445741e80dcddfee0" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int CDBWriter::fileDescriptor </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the file descriptor used by the writer.
+<p>
+Returns 0 when the writer is closed.
+</div>
+</div><p>
+<a class="anchor" name="3c54b531d448d33660b7d089118dfd4c"></a><!-- doxytag: member="CDBWriter::insert" ref="3c54b531d448d33660b7d089118dfd4c" args="(const QString &amp;key, const QVariant &amp;val)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBWriter::insert </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Insert a new <em>key</em> with <em>val</em> to the database.
+<p>
+If a value for this key already exists, nothing is done. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key name as string. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Value as string. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="aa1e44ad6f40ffb7de3a2ad2d361cd62"></a><!-- doxytag: member="CDBWriter::isWritable" ref="aa1e44ad6f40ffb7de3a2ad2d361cd62" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool CDBWriter::isWritable </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns <em>true</em> if the writer is writable.
+<p>
+The writer is not writable after it has been closed or the target path is not accessible.
+</div>
+</div><p>
+<a class="anchor" name="cb6cbc68cd6370bbdbeb0f08163dbca5"></a><!-- doxytag: member="CDBWriter::put" ref="cb6cbc68cd6370bbdbeb0f08163dbca5" args="(const QString &amp;key, const QVariant &amp;val, int flag)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBWriter::put </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Puts a new <em>key</em> with value <em>val</em> into the database.
+<p>
+Depending on the <em>flag</em> the key is added, inserted or replaced. The public methods of this class are wrapperes of this method with proper flags.
+</div>
+</div><p>
+<a class="anchor" name="ee735f7f3c2540e8dfe180bc2775dfb5"></a><!-- doxytag: member="CDBWriter::replace" ref="ee735f7f3c2540e8dfe180bc2775dfb5" args="(const QString &amp;key, const QVariant &amp;val)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void CDBWriter::replace </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Insert a new <em>key</em> with <em>val</em> to the database.
+<p>
+If a value for this key already exists, the old value is replaced with the new one. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Key name as string. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Value as string. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="142d82fc35b3ad495588ad2299cb5f2b"></a><!-- doxytag: member="CDBWriter::cdbm" ref="142d82fc35b3ad495588ad2299cb5f2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void* <a class="el" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b">CDBWriter::cdbm</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A cdb library structure used to read data.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="db50416b86fe2dcb95ec16e9a5bdc6ea"></a><!-- doxytag: member="CDBWriter::fd" ref="db50416b86fe2dcb95ec16e9a5bdc6ea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">CDBWriter::fd</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A file descriptor pointing to the database.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="cdbwriter_8h-source.html">cdbwriter.h</a><li><a class="el" href="cdbwriter_8cpp.html">cdbwriter.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_feature-members.html b/libcontextsubscriber/doc/html/class_context_feature-members.html
new file mode 100644
index 00000000..846c9927
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_feature-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextFeature Member List</h1>This is the complete list of members for <a class="el" href="class_context_feature.html">ContextFeature</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>(QString name)</td><td><a class="el" href="class_context_feature.html">ContextFeature</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">featureName</a></td><td><a class="el" href="class_context_feature.html">ContextFeature</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">getName</a>() const </td><td><a class="el" href="class_context_feature.html">ContextFeature</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_feature.html b/libcontextsubscriber/doc/html/class_context_feature.html
new file mode 100644
index 00000000..8dfefcd1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_feature.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextFeature Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextFeature Class Reference</h1><!-- doxytag: class="ContextFeature" -->This class represents a "feature" in the logging framework/system.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="logging_8h-source.html">logging.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_feature-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a> (QString name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for a new feature.<em>name</em> is the feature name. <a href="#f1dc3766a0b0e21ba0a2f22a3102d09b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">getName</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the feature. <a href="#7c0d22d25f95a49373b195d8c55d1dc7"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">featureName</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+This class represents a "feature" in the logging framework/system.
+<p>
+A feature can be ie. "multithreading", "introspection", "dbus" or anything that makes sense in your setup. Using features you can later get more filtered debug output. You most likely want to use this class like this:<p>
+<div class="fragment"><pre class="fragment"> ...
+ <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b" title="Constructor for a new feature.name is the feature name.">ContextFeature</a>(<span class="stringliteral">"introspection"</span>) &lt;&lt; <span class="stringliteral">"Message"</span>;
+ ...
+</pre></div><p>
+One message can belong to many features or to none. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="f1dc3766a0b0e21ba0a2f22a3102d09b"></a><!-- doxytag: member="ContextFeature::ContextFeature" ref="f1dc3766a0b0e21ba0a2f22a3102d09b" args="(QString name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextFeature::ContextFeature </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>name</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor for a new feature.<em>name</em> is the feature name.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7c0d22d25f95a49373b195d8c55d1dc7"></a><!-- doxytag: member="ContextFeature::getName" ref="7c0d22d25f95a49373b195d8c55d1dc7" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextFeature::getName </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the name of the feature.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="6938d336fbf692bd91d84687a342184b"></a><!-- doxytag: member="ContextFeature::featureName" ref="6938d336fbf692bd91d84687a342184b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">ContextFeature::featureName</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="logging_8h-source.html">logging.h</a><li><a class="el" href="logging_8cpp.html">logging.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_property-members.html b/libcontextsubscriber/doc/html/class_context_property-members.html
new file mode 100644
index 00000000..2c616efc
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProperty Member List</h1>This is the complete list of members for <a class="el" href="class_context_property.html">ContextProperty</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#79283034949fe9cf79106b7ea221439a">ContextProperty</a>(const QString &amp;key, QObject *parent=0)</td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#8654f1a0b2e6e3e58d6fc2830a5fbb8b">ignoreCommander</a>()</td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#f5d07cd67b0c7a94d0912900e2729cbb">info</a>() const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#fc2a01b6895b75e73a049e9143a16a22">key</a>() const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">priv</a></td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#47a70ecc83ea7b819728a3430d860100">setTypeCheck</a>(bool typeCheck)</td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326">subscribe</a>() const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350">unsubscribe</a>() const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#9853332036f43724b65162acc432753a">value</a>(const QVariant &amp;def) const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#4c295fefdf793557472959f9e2f3e18c">value</a>() const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49">valueChanged</a>()</td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888">waitForSubscription</a>() const </td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#ddc93c0539a8ffd2c2c9439e5ccd8628">~ContextProperty</a>()</td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_property.html b/libcontextsubscriber/doc/html/class_context_property.html
new file mode 100644
index 00000000..d609a0e1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextProperty Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProperty Class Reference</h1><!-- doxytag: class="ContextProperty" -->The <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class allows access to keys and their values.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="contextproperty_8h-source.html">contextproperty.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_property-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49">valueChanged</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted whenever the value of the property changes and the property is subscribed. <a href="#dee3726fee9fbbcb92c7fb3ba2e04c49"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#79283034949fe9cf79106b7ea221439a">ContextProperty</a> (const QString &amp;key, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a new <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> for <em>key</em> and subscribes to it. <a href="#79283034949fe9cf79106b7ea221439a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#ddc93c0539a8ffd2c2c9439e5ccd8628">~ContextProperty</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsubscribes from the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> and destroys it. <a href="#ddc93c0539a8ffd2c2c9439e5ccd8628"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#fc2a01b6895b75e73a049e9143a16a22">key</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the key. <a href="#fc2a01b6895b75e73a049e9143a16a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#9853332036f43724b65162acc432753a">value</a> (const QVariant &amp;def) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current value, or the value <em>def</em> if the current value is <code>null</code>. <a href="#9853332036f43724b65162acc432753a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#4c295fefdf793557472959f9e2f3e18c">value</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current value. <a href="#4c295fefdf793557472959f9e2f3e18c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#f5d07cd67b0c7a94d0912900e2729cbb">info</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the metadata about this property, please refer to <a class="el" href="introspection.html">Introspection</a> for details. <a href="#f5d07cd67b0c7a94d0912900e2729cbb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326">subscribe</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts subscribtion to the context property, if it isn't subscribed already. <a href="#5e6f52ce5ba6e7d07240ce84c2cc7326"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350">unsubscribe</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsubscribes from the context property, if it is currently subscribed. <a href="#fa0ef21efe3c1c5d2b5936cda8feb350"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888">waitForSubscription</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suspends the execution of the current thread until subcription is complete for this context property. <a href="#8377eacd97cfccf349b7167f33414888"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#8654f1a0b2e6e3e58d6fc2830a5fbb8b">ignoreCommander</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets all of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances immune to 'external commanding'. <a href="#8654f1a0b2e6e3e58d6fc2830a5fbb8b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#47a70ecc83ea7b819728a3430d860100">setTypeCheck</a> (bool typeCheck)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables or disables all of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances' type-check feature. <a href="#47a70ecc83ea7b819728a3430d860100"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">priv</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class allows access to keys and their values.
+<p>
+The value is available with the <a class="el" href="class_context_property.html#9853332036f43724b65162acc432753a" title="Returns the current value, or the value def if the current value is null.">value()</a> member function and change notifications are delivered via the <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal.<p>
+You can explicity subscribe and unsubscribe using the <a class="el" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326" title="Starts subscribtion to the context property, if it isn&#39;t subscribed already.">subscribe()</a> and <a class="el" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350" title="Unsubscribes from the context property, if it is currently subscribed.">unsubscribe()</a> member functions. A <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> is initially subscribed.<p>
+When a <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> is in the unsubscribed state, it usually keeps its last value. This is not guaranteed however: more than one <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> might exist in your process for the same key, and as long as one of them is subscribed, all of them might receive new values. The <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal is never emitted if the property is unsubscribed.<p>
+A <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> is generally asynchronous and relies on a running event loop. Subscriptions and unsubcriptions are only handled and new values are only received when your program enters the event loop.<p>
+<a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects can be created only after the Q(Core)Application is constructed.<p>
+When a <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> is first created or goes from the unsubcribed to the subscribed state later on, it is temporarily in an intermediate 'subscribing' state. This state lasts until the negotiations with the provider of the key are over (or an error occurs) and the key's current value is known to the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a>.<p>
+Thus, there is a time after creating a <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> (or subscribing it again) where <a class="el" href="class_context_property.html#9853332036f43724b65162acc432753a" title="Returns the current value, or the value def if the current value is null.">value()</a> might be out of sync with the provider of the key. If you need to wait for this time to be over, you can not rely on the <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal being emitted. This signal is only emitted when the value actually changes, which might not happen when subscription is over.<p>
+Instead, you can use the <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a> member function. This function runs a recursive event loop, if necessary, until the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> is fully subscribed.<p>
+Thus, the recommended way is to first create all <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances that your program needs and QObject::connect their <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signals, then to call <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a> on those values that are needed to create the initial user interface.<p>
+It is important to create all needed <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances before calling <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a> on any of them. Subscriptions are usually bundled together behind the scenes so that they can all be done with a single round trip to the provider. Interleaving creation of ContextProperties with calls to <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a> would prevent this optimization.<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The <code><a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a></code> class follows the usual QObject rules for non-GUI classes in multi-threaded programs. In Qt terminology, the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class is reentrant but not thread-safe. This means that you can create <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances in any thread and then freely use these instance in their threads, but you can not use a single instance concurrently from multiple threads.<p>
+Please pay special attention to how signals and slots work in a multi-threaded program: by default, a slot is emitted in the thread that called QObject::connect(). For this to happen reliably, the thread needs to run a event loop.<p>
+See the Qt documentation for <code>QThread</code> and related classes for more details. </dd></dl>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="79283034949fe9cf79106b7ea221439a"></a><!-- doxytag: member="ContextProperty::ContextProperty" ref="79283034949fe9cf79106b7ea221439a" args="(const QString &amp;key, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProperty::ContextProperty </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs a new <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> for <em>key</em> and subscribes to it.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ddc93c0539a8ffd2c2c9439e5ccd8628"></a><!-- doxytag: member="ContextProperty::~ContextProperty" ref="ddc93c0539a8ffd2c2c9439e5ccd8628" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProperty::~ContextProperty </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Unsubscribes from the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> and destroys it.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8654f1a0b2e6e3e58d6fc2830a5fbb8b"></a><!-- doxytag: member="ContextProperty::ignoreCommander" ref="8654f1a0b2e6e3e58d6fc2830a5fbb8b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::ignoreCommander </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets all of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances immune to 'external commanding'.
+<p>
+This is only intended to be used by the Context Commander itself, so that it can use ContextProperties without tripping over itself. Don't use this.
+</div>
+</div><p>
+<a class="anchor" name="f5d07cd67b0c7a94d0912900e2729cbb"></a><!-- doxytag: member="ContextProperty::info" ref="f5d07cd67b0c7a94d0912900e2729cbb" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> * ContextProperty::info </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the metadata about this property, please refer to <a class="el" href="introspection.html">Introspection</a> for details.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fc2a01b6895b75e73a049e9143a16a22"></a><!-- doxytag: member="ContextProperty::key" ref="fc2a01b6895b75e73a049e9143a16a22" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextProperty::key </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="47a70ecc83ea7b819728a3430d860100"></a><!-- doxytag: member="ContextProperty::setTypeCheck" ref="47a70ecc83ea7b819728a3430d860100" args="(bool typeCheck)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::setTypeCheck </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>newTypeCheck</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Enables or disables all of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instances' type-check feature.
+<p>
+If it is enabled and the received value from the provider doesn't match the expected type, you will get an error message on the stderr and the value won't be updated. If you use this method, you have to use it before starting any threads.
+</div>
+</div><p>
+<a class="anchor" name="5e6f52ce5ba6e7d07240ce84c2cc7326"></a><!-- doxytag: member="ContextProperty::subscribe" ref="5e6f52ce5ba6e7d07240ce84c2cc7326" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::subscribe </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Starts subscribtion to the context property, if it isn't subscribed already.
+<p>
+If you need to wait for it to be complete, use <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a>.
+</div>
+</div><p>
+<a class="anchor" name="fa0ef21efe3c1c5d2b5936cda8feb350"></a><!-- doxytag: member="ContextProperty::unsubscribe" ref="fa0ef21efe3c1c5d2b5936cda8feb350" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::unsubscribe </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Unsubscribes from the context property, if it is currently subscribed.
+<p>
+Unsubscribing informs the rest of the system that no effort needs to be spent to keep the value up-to-date. However, the value might still change when it can happen 'for free'. In this case the <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal won't be emitted.
+</div>
+</div><p>
+<a class="anchor" name="4c295fefdf793557472959f9e2f3e18c"></a><!-- doxytag: member="ContextProperty::value" ref="4c295fefdf793557472959f9e2f3e18c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextProperty::value </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the current value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9853332036f43724b65162acc432753a"></a><!-- doxytag: member="ContextProperty::value" ref="9853332036f43724b65162acc432753a" args="(const QVariant &amp;def) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextProperty::value </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>def</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the current value, or the value <em>def</em> if the current value is <code>null</code>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="dee3726fee9fbbcb92c7fb3ba2e04c49"></a><!-- doxytag: member="ContextProperty::valueChanged" ref="dee3726fee9fbbcb92c7fb3ba2e04c49" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::valueChanged </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted whenever the value of the property changes and the property is subscribed.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="8377eacd97cfccf349b7167f33414888"></a><!-- doxytag: member="ContextProperty::waitForSubscription" ref="8377eacd97cfccf349b7167f33414888" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::waitForSubscription </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Suspends the execution of the current thread until subcription is complete for this context property.
+<p>
+This might cause the main event loop of your program to run and consequently signals might get emitted (including the <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal of this property). Calling this function while the subscription is not in progress (because it has completed already or because the property is currently unsubscribed) does nothing. Calling this function from a thread which is not the main thread results in busy looping.
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="de52af7df11f1b01893f99aef56ecd10"></a><!-- doxytag: member="ContextProperty::priv" ref="de52af7df11f1b01893f99aef56ecd10" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a>* <a class="el" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">ContextProperty::priv</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contextproperty_8h-source.html">contextproperty.h</a><li><a class="el" href="contextproperty_8cpp.html">contextproperty.cpp</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_property_info-members.html b/libcontextsubscriber/doc/html/class_context_property_info-members.html
new file mode 100644
index 00000000..d3b047bd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property_info-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextPropertyInfo Member List</h1>This is the complete list of members for <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26">cachedDeclared</a></td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601">cachedDoc</a></td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4">cachedProviders</a></td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16">cachedType</a></td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e">cacheLock</a></td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [mutable, private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1">changed</a>(QString key)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#2453fc77a1afba74a661d8c15836e69d">connectNotify</a>(const char *signal)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#c638ba6bd9336c58174fa8bb20fa7d4e">constructionString</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#36db2252d9263d4f45aafaf57392d467">constructionString_i</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#dd1b6db4bfb5c36cd6ae9b9352112c4c">ContextPropertyInfo</a>(const QString &amp;key, QObject *parent=0)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#b6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfoUnitTest</a> class</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#054dbdee21942623bf6e9679903e4384">declared</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#d8b0cd1c2e29b63a0a672fd407ce4150">doc</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#c5540a24a4610bb641f8e64a48d4f356">exists</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#9d4c44c032c884821a3cc643f759cbb2">existsChanged</a>(bool exists)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9">key</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f">keyName</a></td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6">LastValue</a> enum value</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#4dedbecfb6d9c0c0b2be0329c20e405a">onKeyChanged</a>(const QString &amp;key)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#b67e0d20a267bae467bd449358273fbc">plugin</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#38e61db02d8f588924d59b60a74a468a">plugin_i</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#9523b5b197a619e783b8ba3780a391aa">pluginChanged</a>(QString plugin, QString constructionString)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#9d270042f069bafc0f994b3b19804d8a">provided</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#37c67d07a2f0c361378ac79e6589a968">providedChanged</a>(bool provided)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#19bb4eb5067f8bd9504db7733b02be26">providerChanged</a>(const QString &amp;newProvider)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#f2e6ee62ab7203f3750dc9851bf67868">providerDBusName</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#f09ce2c166d9fa87ec4c3cba6b0cabee">providerDBusName_i</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#ee09f09db9cc631bc3d175cae7f0f671">providerDBusType</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#d4dc52a73150d57b19b2b37a07ff1342">providerDBusType_i</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#5c03f07e13e9decec21d9bcc415bd35c">providerDBusTypeChanged</a>(QDBusConnection::BusType newBusType)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f">providers</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> enum name</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#4afd9d028d9d13f6e3fb9b7be1cb84d3">resolutionStrategy</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#7f8e0cc9c8439e6ec109a16a80a2d3fc">type</a>() const </td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#ffead559621ed710667dddafd240db58">typeChanged</a>(const QString &amp;newType)</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#1c06eaa93db43664c42435c4a0394d8d">~ContextPropertyInfo</a>()</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td><td><code> [inline, virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_property_info.html b/libcontextsubscriber/doc/html/class_context_property_info.html
new file mode 100644
index 00000000..3f35a1fb
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property_info.html
@@ -0,0 +1,920 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextPropertyInfo Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextPropertyInfo Class Reference</h1><!-- doxytag: class="ContextPropertyInfo" -->A class to introspect a context property details.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="contextpropertyinfo_8h-source.html">contextpropertyinfo.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_property_info-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> { <a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6">LastValue</a>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#19bb4eb5067f8bd9504db7733b02be26">providerChanged</a> (const QString &amp;newProvider)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#19bb4eb5067f8bd9504db7733b02be26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#5c03f07e13e9decec21d9bcc415bd35c">providerDBusTypeChanged</a> (QDBusConnection::BusType newBusType)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#5c03f07e13e9decec21d9bcc415bd35c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ffead559621ed710667dddafd240db58">typeChanged</a> (const QString &amp;newType)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#ffead559621ed710667dddafd240db58"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#9d4c44c032c884821a3cc643f759cbb2">existsChanged</a> (bool exists)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#9d4c44c032c884821a3cc643f759cbb2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#37c67d07a2f0c361378ac79e6589a968">providedChanged</a> (bool provided)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#37c67d07a2f0c361378ac79e6589a968"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#9523b5b197a619e783b8ba3780a391aa">pluginChanged</a> (QString plugin, QString constructionString)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#9523b5b197a619e783b8ba3780a391aa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1">changed</a> (QString key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when any of the key parameters/data changes. <a href="#9d85cc8d48f34bb01e168dac265b65a1"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#dd1b6db4bfb5c36cd6ae9b9352112c4c">ContextPropertyInfo</a> (const QString &amp;key, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a new <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> for <em>key</em> with the given <em>parent</em>. <a href="#dd1b6db4bfb5c36cd6ae9b9352112c4c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#1c06eaa93db43664c42435c4a0394d8d">~ContextPropertyInfo</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the object. <a href="#1c06eaa93db43664c42435c4a0394d8d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9">key</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full name of the introspected key. <a href="#81b41c6e79e7914c78de43a0dc642eb9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#d8b0cd1c2e29b63a0a672fd407ce4150">doc</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the doc (documentation) for the introspected key. <a href="#d8b0cd1c2e29b63a0a672fd407ce4150"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#7f8e0cc9c8439e6ec109a16a80a2d3fc">type</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type name for the introspected key. <a href="#7f8e0cc9c8439e6ec109a16a80a2d3fc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#c5540a24a4610bb641f8e64a48d4f356">exists</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns true if the key exists in the registry. <a href="#c5540a24a4610bb641f8e64a48d4f356"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#054dbdee21942623bf6e9679903e4384">declared</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the key is declared in the registry (it "exists"). <a href="#054dbdee21942623bf6e9679903e4384"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#9d270042f069bafc0f994b3b19804d8a">provided</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the key is provided by someone. <a href="#9d270042f069bafc0f994b3b19804d8a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#f2e6ee62ab7203f3750dc9851bf67868">providerDBusName</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the dbus name of the provider supplying this property/key. <a href="#f2e6ee62ab7203f3750dc9851bf67868"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusConnection::BusType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ee09f09db9cc631bc3d175cae7f0f671">providerDBusType</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the bus type of the provider supplying this property/key. <a href="#ee09f09db9cc631bc3d175cae7f0f671"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#b67e0d20a267bae467bd449358273fbc">plugin</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the name of the plugin supplying this property. <a href="#b67e0d20a267bae467bd449358273fbc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#c638ba6bd9336c58174fa8bb20fa7d4e">constructionString</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the construction parameter for the Provider supplying this property This function is deprecated, use <a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead. <a href="#c638ba6bd9336c58174fa8bb20fa7d4e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const QList<br class="typebreak">
+&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f">providers</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a list of providers that provide this key. <a href="#9260be377cc7d8124140701a7d72e62f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#4afd9d028d9d13f6e3fb9b7be1cb84d3">resolutionStrategy</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns resolution strategy for this property. <a href="#4afd9d028d9d13f6e3fb9b7be1cb84d3"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#2453fc77a1afba74a661d8c15836e69d">connectNotify</a> (const char *signal)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when people connect to signals. <a href="#2453fc77a1afba74a661d8c15836e69d"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#4dedbecfb6d9c0c0b2be0329c20e405a">onKeyChanged</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This slot is connected to the <em>keyChanged</em> signal of the actual infobackend instance. <a href="#4dedbecfb6d9c0c0b2be0329c20e405a"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#f09ce2c166d9fa87ec4c3cba6b0cabee">providerDBusName_i</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the dbus name of the provider supplying this property/key. <a href="#f09ce2c166d9fa87ec4c3cba6b0cabee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusConnection::BusType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#d4dc52a73150d57b19b2b37a07ff1342">providerDBusType_i</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#38e61db02d8f588924d59b60a74a468a">plugin_i</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#36db2252d9263d4f45aafaf57392d467">constructionString_i</a> () const </td></tr>
+
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f">keyName</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the key his <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> represents. <a href="#c3d71c5189748d3eee041c82864f995f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601">cachedDoc</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached documentation of the key. <a href="#d0b09926f8b67dd4bb2d9f2bc2a2c601"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16">cachedType</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached (stored) type of the key. <a href="#cf9a9eaef12257a6086db1f19d6cec16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26">cachedDeclared</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached state of the key (existance). <a href="#d304f8389a3d9864af0fe795282a8c26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QList&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4">cachedProviders</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached list of providers for this key. <a href="#9892898881029c982aa6003bd16c70d4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e">cacheLock</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock for the cache. <a href="#8f23781855ffcfbcbd979d9e410c493e"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#b6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfoUnitTest</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class to introspect a context property details.
+<p>
+This class is used to obtain information about a given key in the context registry. The information can be provided either from xml files or from a cdb database. It's possible to query the type, the provider and the documentation of the given key/property. <hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="28c493f959d7a48c85dc86281c78479c"></a><!-- doxytag: member="ContextPropertyInfo::ResolutionStrategy" ref="28c493f959d7a48c85dc86281c78479c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo::ResolutionStrategy</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6"></a><!-- doxytag: member="LastValue" ref="28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6" args="" -->LastValue</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="dd1b6db4bfb5c36cd6ae9b9352112c4c"></a><!-- doxytag: member="ContextPropertyInfo::ContextPropertyInfo" ref="dd1b6db4bfb5c36cd6ae9b9352112c4c" args="(const QString &amp;key, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextPropertyInfo::ContextPropertyInfo </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs a new <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> for <em>key</em> with the given <em>parent</em>.
+<p>
+The object can be used to perform introspection on the given <em>key</em>. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The full name of the key. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1c06eaa93db43664c42435c4a0394d8d"></a><!-- doxytag: member="ContextPropertyInfo::~ContextPropertyInfo" ref="1c06eaa93db43664c42435c4a0394d8d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual ContextPropertyInfo::~ContextPropertyInfo </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destroys the object.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="9d85cc8d48f34bb01e168dac265b65a1"></a><!-- doxytag: member="ContextPropertyInfo::changed" ref="9d85cc8d48f34bb01e168dac265b65a1" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::changed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when any of the key parameters/data changes.
+<p>
+This is not a strict signal - it might be emitted even when no actual change happened.
+</div>
+</div><p>
+<a class="anchor" name="2453fc77a1afba74a661d8c15836e69d"></a><!-- doxytag: member="ContextPropertyInfo::connectNotify" ref="2453fc77a1afba74a661d8c15836e69d" args="(const char *signal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::connectNotify </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>_signal</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when people connect to signals.
+<p>
+Used to emit deprecation warnings when people connect to deprecated signals.
+</div>
+</div><p>
+<a class="anchor" name="c638ba6bd9336c58174fa8bb20fa7d4e"></a><!-- doxytag: member="ContextPropertyInfo::constructionString" ref="c638ba6bd9336c58174fa8bb20fa7d4e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::constructionString </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the construction parameter for the Provider supplying this property This function is deprecated, use <a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="36db2252d9263d4f45aafaf57392d467"></a><!-- doxytag: member="ContextPropertyInfo::constructionString_i" ref="36db2252d9263d4f45aafaf57392d467" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::constructionString_i </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="054dbdee21942623bf6e9679903e4384"></a><!-- doxytag: member="ContextPropertyInfo::declared" ref="054dbdee21942623bf6e9679903e4384" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextPropertyInfo::declared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the key is declared in the registry (it "exists").
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d8b0cd1c2e29b63a0a672fd407ce4150"></a><!-- doxytag: member="ContextPropertyInfo::doc" ref="d8b0cd1c2e29b63a0a672fd407ce4150" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::doc </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the doc (documentation) for the introspected key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c5540a24a4610bb641f8e64a48d4f356"></a><!-- doxytag: member="ContextPropertyInfo::exists" ref="c5540a24a4610bb641f8e64a48d4f356" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextPropertyInfo::exists </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns true if the key exists in the registry.
+<p>
+This function is deprecated, use <a class="el" href="class_context_property_info.html#054dbdee21942623bf6e9679903e4384" title="Returns true if the key is declared in the registry (it &quot;exists&quot;).">declared()</a> instead.
+</div>
+</div><p>
+<a class="anchor" name="9d4c44c032c884821a3cc643f759cbb2"></a><!-- doxytag: member="ContextPropertyInfo::existsChanged" ref="9d4c44c032c884821a3cc643f759cbb2" args="(bool exists)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::existsChanged </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>exists</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal.
+<p>
+Emitted when the key existance in the registry changes. The <em>exists</em> is the new state of the introspected key. This is a strict signal - it's emitted only when there was an actual change in the state. Using this signal you can wait (watch) for various keys to become available. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>exists</em>&nbsp;</td><td>The new state of the key. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="81b41c6e79e7914c78de43a0dc642eb9"></a><!-- doxytag: member="ContextPropertyInfo::key" ref="81b41c6e79e7914c78de43a0dc642eb9" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::key </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the full name of the introspected key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4dedbecfb6d9c0c0b2be0329c20e405a"></a><!-- doxytag: member="ContextPropertyInfo::onKeyChanged" ref="4dedbecfb6d9c0c0b2be0329c20e405a" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::onKeyChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This slot is connected to the <em>keyChanged</em> signal of the actual infobackend instance.
+<p>
+It's executed on every change to any of the keys. We first check if the data concerns us. Next we update the cached values and fire the actual signals.
+</div>
+</div><p>
+<a class="anchor" name="b67e0d20a267bae467bd449358273fbc"></a><!-- doxytag: member="ContextPropertyInfo::plugin" ref="b67e0d20a267bae467bd449358273fbc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::plugin </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the name of the plugin supplying this property.
+<p>
+This function is deprecated, use <a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead.
+</div>
+</div><p>
+<a class="anchor" name="38e61db02d8f588924d59b60a74a468a"></a><!-- doxytag: member="ContextPropertyInfo::plugin_i" ref="38e61db02d8f588924d59b60a74a468a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::plugin_i </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9523b5b197a619e783b8ba3780a391aa"></a><!-- doxytag: member="ContextPropertyInfo::pluginChanged" ref="9523b5b197a619e783b8ba3780a391aa" args="(QString plugin, QString constructionString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::pluginChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>plugin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>constructionString</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal.
+<p>
+Emitted when the libcontextsubscriber plugin providing the key changes, or the construction parameter to give to the plugin changes.. The <em>plugin</em> is the name of the new plugin providing the key and the <em>constructionString</em> is the new construction parameter to give to the plugin.
+</div>
+</div><p>
+<a class="anchor" name="9d270042f069bafc0f994b3b19804d8a"></a><!-- doxytag: member="ContextPropertyInfo::provided" ref="9d270042f069bafc0f994b3b19804d8a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextPropertyInfo::provided </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the key is provided by someone.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="37c67d07a2f0c361378ac79e6589a968"></a><!-- doxytag: member="ContextPropertyInfo::providedChanged" ref="37c67d07a2f0c361378ac79e6589a968" args="(bool provided)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::providedChanged </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>provided</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal.
+<p>
+Emitted when the key gets a provider or loses a provider. The <em>provided</em> is the new state of the introspected key. This is a strict signal - it's emitted only when there was an actual change in the state. Using this signal you can wait (watch) for various keys to become available. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>provided</em>&nbsp;</td><td>The new state of the key. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="19bb4eb5067f8bd9504db7733b02be26"></a><!-- doxytag: member="ContextPropertyInfo::providerChanged" ref="19bb4eb5067f8bd9504db7733b02be26" args="(const QString &amp;newProvider)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::providerChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>newProvider</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal.
+<p>
+Emitted when the provider of the key changes. The <em>newProvider</em> contains the name of the new provider. This is a strict signal - it's emitted only when there was an actual change in the value. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>newProvider</em>&nbsp;</td><td>The DBus name of the new provider. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="f2e6ee62ab7203f3750dc9851bf67868"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusName" ref="f2e6ee62ab7203f3750dc9851bf67868" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::providerDBusName </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the dbus name of the provider supplying this property/key.
+<p>
+This function is maintained for backwards compatibility. Use listProviders() instead.
+</div>
+</div><p>
+<a class="anchor" name="f09ce2c166d9fa87ec4c3cba6b0cabee"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusName_i" ref="f09ce2c166d9fa87ec4c3cba6b0cabee" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::providerDBusName_i </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the dbus name of the provider supplying this property/key.
+<p>
+This function is maintained for backwards compatibility. Use <a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead.
+</div>
+</div><p>
+<a class="anchor" name="ee09f09db9cc631bc3d175cae7f0f671"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusType" ref="ee09f09db9cc631bc3d175cae7f0f671" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusConnection::BusType ContextPropertyInfo::providerDBusType </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the bus type of the provider supplying this property/key.
+<p>
+Ie. if it's a session bus or a system bus. This function is maintained for backwards compatibility. Use listProviders() instead.
+</div>
+</div><p>
+<a class="anchor" name="d4dc52a73150d57b19b2b37a07ff1342"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusType_i" ref="d4dc52a73150d57b19b2b37a07ff1342" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusConnection::BusType ContextPropertyInfo::providerDBusType_i </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5c03f07e13e9decec21d9bcc415bd35c"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusTypeChanged" ref="5c03f07e13e9decec21d9bcc415bd35c" args="(QDBusConnection::BusType newBusType)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::providerDBusTypeChanged </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection::BusType&nbsp;</td>
+ <td class="paramname"> <em>newBusType</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal.
+<p>
+Emitted when the bus type of provider of the key changes. The <em>newBusType</em> is the type of new bus This is a strict signal - it's emitted only when there was an actual change in the value. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>newBusType</em>&nbsp;</td><td>The DBus bus type of the provider. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="9260be377cc7d8124140701a7d72e62f"></a><!-- doxytag: member="ContextPropertyInfo::providers" ref="9260be377cc7d8124140701a7d72e62f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QList&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt; ContextPropertyInfo::providers </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a list of providers that provide this key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4afd9d028d9d13f6e3fb9b7be1cb84d3"></a><!-- doxytag: member="ContextPropertyInfo::resolutionStrategy" ref="4afd9d028d9d13f6e3fb9b7be1cb84d3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo::ResolutionStrategy</a> ContextPropertyInfo::resolutionStrategy </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns resolution strategy for this property.
+<p>
+Resolution strategy defines how values are computed in relation to multiple providers being present for one property.
+</div>
+</div><p>
+<a class="anchor" name="7f8e0cc9c8439e6ec109a16a80a2d3fc"></a><!-- doxytag: member="ContextPropertyInfo::type" ref="7f8e0cc9c8439e6ec109a16a80a2d3fc" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextPropertyInfo::type </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the type name for the introspected key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ffead559621ed710667dddafd240db58"></a><!-- doxytag: member="ContextPropertyInfo::typeChanged" ref="ffead559621ed710667dddafd240db58" args="(const QString &amp;newType)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextPropertyInfo::typeChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>newType</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED, use <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal.
+<p>
+Emitted when the key type changes. The <em>newType</em> is the new type of the introspected key. This is a strict signal - it's emitted only when there was an actual change in the value. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>newType</em>&nbsp;</td><td>The new type of the key. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="b6564dd36e6061c758e4af95c313ef9b"></a><!-- doxytag: member="ContextPropertyInfo::ContextPropertyInfoUnitTest" ref="b6564dd36e6061c758e4af95c313ef9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class ContextPropertyInfoUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="d304f8389a3d9864af0fe795282a8c26"></a><!-- doxytag: member="ContextPropertyInfo::cachedDeclared" ref="d304f8389a3d9864af0fe795282a8c26" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26">ContextPropertyInfo::cachedDeclared</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Cached state of the key (existance).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d0b09926f8b67dd4bb2d9f2bc2a2c601"></a><!-- doxytag: member="ContextPropertyInfo::cachedDoc" ref="d0b09926f8b67dd4bb2d9f2bc2a2c601" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601">ContextPropertyInfo::cachedDoc</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Cached documentation of the key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9892898881029c982aa6003bd16c70d4"></a><!-- doxytag: member="ContextPropertyInfo::cachedProviders" ref="9892898881029c982aa6003bd16c70d4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QList&lt;<a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>&gt; <a class="el" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4">ContextPropertyInfo::cachedProviders</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Cached list of providers for this key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cf9a9eaef12257a6086db1f19d6cec16"></a><!-- doxytag: member="ContextPropertyInfo::cachedType" ref="cf9a9eaef12257a6086db1f19d6cec16" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16">ContextPropertyInfo::cachedType</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Cached (stored) type of the key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="8f23781855ffcfbcbd979d9e410c493e"></a><!-- doxytag: member="ContextPropertyInfo::cacheLock" ref="8f23781855ffcfbcbd979d9e410c493e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMutex <a class="el" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e">ContextPropertyInfo::cacheLock</a><code> [mutable, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Lock for the cache.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c3d71c5189748d3eee041c82864f995f"></a><!-- doxytag: member="ContextPropertyInfo::keyName" ref="c3d71c5189748d3eee041c82864f995f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f">ContextPropertyInfo::keyName</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The name of the key his <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> represents.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contextpropertyinfo_8h-source.html">contextpropertyinfo.h</a><li><a class="el" href="contextpropertyinfo_8cpp.html">contextpropertyinfo.cpp</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_property_private-members.html b/libcontextsubscriber/doc/html/class_context_property_private-members.html
new file mode 100644
index 00000000..3268e584
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property_private-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextPropertyPrivate Member List</h1>This is the complete list of members for <a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_context_property_private.html#c2610b423813eb22e45a7136ed932713">handle</a></td><td><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_property_private.html#8fa3197617a450a91c4c4bbca5cdbecd">subscribed</a></td><td><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_real_logger-members.html b/libcontextsubscriber/doc/html/class_context_real_logger-members.html
new file mode 100644
index 00000000..2e4adb49
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_real_logger-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextRealLogger Member List</h1>This is the complete list of members for <a class="el" href="class_context_real_logger.html">ContextRealLogger</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#1f6e0152e1e606b00e45f720d4eeba99">appendFeatures</a>()</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>(int msgType, const char *module, const char *func, const char *file, int line)</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e">data</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">features</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">hideFeatures</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">hideModule</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">hideTimestamps</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">initialize</a>()</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">initialized</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707">moduleName</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">msgType</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b">operator&lt;&lt;</a>(const ContextFeature &amp;)</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">operator&lt;&lt;</a>(const T &amp;qSomething)</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#db17a18fe2b4e07d23484b3e62661d4b">shouldPrint</a>()</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">showCritical</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">showDebug</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">showFeatures</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">showModule</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">showTest</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">showWarning</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">useColor</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">vanilla</a></td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">~ContextRealLogger</a>()</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_real_logger.html b/libcontextsubscriber/doc/html/class_context_real_logger.html
new file mode 100644
index 00000000..bc321716
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_real_logger.html
@@ -0,0 +1,568 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextRealLogger Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextRealLogger Class Reference</h1><!-- doxytag: class="ContextRealLogger" -->A real logging class.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="logging_8h-source.html">logging.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_real_logger-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a> (int <a class="el" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">msgType</a>, const char *module, const char *func, const char *file, int line)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#ee3a7c4dac60f4ec39165edf96466637"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">~ContextRealLogger</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor, prints <b>end-of-line</b> before going down. <a href="#d45b7a29bfd04c8678e2336964621b16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b">operator&lt;&lt;</a> (const <a class="el" href="class_context_feature.html">ContextFeature</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operator for appending features. <a href="#4a3d4d64fb340a1f4adb698106ee6d4b"></a><br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">operator&lt;&lt;</a> (const T &amp;qSomething)</td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">initialize</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the class by checking the enviornment variables and setting the message output params. <a href="#e753079d62a886dd09c0576ad524c8f4"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">showTest</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test messages enabled at runtime. <a href="#dbf345abfa4979dad50fa64587d8b12b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">showDebug</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug messages enabled at runtime. <a href="#149b4fa211448303b24806071a010e07"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">showWarning</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Warning messages enabled at runtime. <a href="#cf5deaf1c001736730952794379c9fb2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">showCritical</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Critical messages enabled at runtime. <a href="#7ffcc463d565ee93eadef3d95b388ac0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">initialized</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class initialized/env vars parsed. <a href="#ca946deec46d8e37f40b20a978d92ee8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">hideTimestamps</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Don't print timestamps. <a href="#73b4d5021ffae90cbe7e9f914e307c45"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">useColor</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use simple colors for output (yellow for warnings, red for criticals). <a href="#681ec8a8c8151a6e76de1b1b3aebe902"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">showModule</a> = NULL</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show messages <b>only</b> from the specified module. <a href="#261f1adeed09c748431d960c009280e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">hideModule</a> = NULL</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages from the specified module. <a href="#29217f7733d4f5a8d73fa20dea9c2b8f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">showFeatures</a> = QStringList()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Show messages with <b>only</b> the specified features. <a href="#d3e0dc8c801098e35a385d712369b486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">hideFeatures</a> = QStringList()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages with the specified features. <a href="#1ad94fcbdca55015db01b33566642d61"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">vanilla</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use vanilla (stripped-down) logging. <a href="#11114df34f0dc06d4261a98db0c1a413"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#db17a18fe2b4e07d23484b3e62661d4b">shouldPrint</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#1f6e0152e1e606b00e45f720d4eeba99">appendFeatures</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append (print) all the features, separated with commas and wrapped in brackets. <a href="#1f6e0152e1e606b00e45f720d4eeba99"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">msgType</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of message we're representing. <a href="#2ee1b0baea9a178ad3b84b13342b0127"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707">moduleName</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The module name. <a href="#25735132cf3de872624cd42f0c667707"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e">data</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the stream data. <a href="#1ade8a975d63f4e178eba2e2d4a26f1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">features</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A real logging class.
+<p>
+This is used by the actual macros to print messages. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="ee3a7c4dac60f4ec39165edf96466637"></a><!-- doxytag: member="ContextRealLogger::ContextRealLogger" ref="ee3a7c4dac60f4ec39165edf96466637" args="(int msgType, const char *module, const char *func, const char *file, int line)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextRealLogger::ContextRealLogger </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>module</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>func</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>file</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>line</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor.
+<p>
+Called by the macros. <em>func</em> is the function name, <em>file</em> is is the current source file and <em>line</em> specifies the line number.
+</div>
+</div><p>
+<a class="anchor" name="d45b7a29bfd04c8678e2336964621b16"></a><!-- doxytag: member="ContextRealLogger::~ContextRealLogger" ref="d45b7a29bfd04c8678e2336964621b16" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextRealLogger::~ContextRealLogger </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor, prints <b>end-of-line</b> before going down.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1f6e0152e1e606b00e45f720d4eeba99"></a><!-- doxytag: member="ContextRealLogger::appendFeatures" ref="1f6e0152e1e606b00e45f720d4eeba99" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRealLogger::appendFeatures </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Append (print) all the features, separated with commas and wrapped in brackets.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e753079d62a886dd09c0576ad524c8f4"></a><!-- doxytag: member="ContextRealLogger::initialize" ref="e753079d62a886dd09c0576ad524c8f4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRealLogger::initialize </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize the class by checking the enviornment variables and setting the message output params.
+<p>
+The log level is set from <code>CONTEXT_LOG_VERBOSITY</code> and from this env var the showTest, showDebug, showWarning... are set. By default everything is displayed at runtime. It's also possible to not show timestamps in messages and spice-up the output with some color.
+</div>
+</div><p>
+<a class="anchor" name="83a9a63cef3753053154b86da8da52bb"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="83a9a63cef3753053154b86da8da52bb" args="(const T &amp;qSomething)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a>&amp; ContextRealLogger::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>qSomething</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4a3d4d64fb340a1f4adb698106ee6d4b"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="4a3d4d64fb340a1f4adb698106ee6d4b" args="(const ContextFeature &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a> &amp; ContextRealLogger::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_feature.html">ContextFeature</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>f</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Operator for appending features.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="db17a18fe2b4e07d23484b3e62661d4b"></a><!-- doxytag: member="ContextRealLogger::shouldPrint" ref="db17a18fe2b4e07d23484b3e62661d4b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextRealLogger::shouldPrint </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="1ade8a975d63f4e178eba2e2d4a26f1e"></a><!-- doxytag: member="ContextRealLogger::data" ref="1ade8a975d63f4e178eba2e2d4a26f1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e">ContextRealLogger::data</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Holds the stream data.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9aaf9fde5617bf1f71630f2d3c74fb6f"></a><!-- doxytag: member="ContextRealLogger::features" ref="9aaf9fde5617bf1f71630f2d3c74fb6f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">ContextRealLogger::features</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1ad94fcbdca55015db01b33566642d61"></a><!-- doxytag: member="ContextRealLogger::hideFeatures" ref="1ad94fcbdca55015db01b33566642d61" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">ContextRealLogger::hideFeatures</a> = QStringList()<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Hide messages with the specified features.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="29217f7733d4f5a8d73fa20dea9c2b8f"></a><!-- doxytag: member="ContextRealLogger::hideModule" ref="29217f7733d4f5a8d73fa20dea9c2b8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger::hideModule</a> = NULL<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Hide messages from the specified module.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="73b4d5021ffae90cbe7e9f914e307c45"></a><!-- doxytag: member="ContextRealLogger::hideTimestamps" ref="73b4d5021ffae90cbe7e9f914e307c45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger::hideTimestamps</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Don't print timestamps.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ca946deec46d8e37f40b20a978d92ee8"></a><!-- doxytag: member="ContextRealLogger::initialized" ref="ca946deec46d8e37f40b20a978d92ee8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">ContextRealLogger::initialized</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Class initialized/env vars parsed.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="25735132cf3de872624cd42f0c667707"></a><!-- doxytag: member="ContextRealLogger::moduleName" ref="25735132cf3de872624cd42f0c667707" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* <a class="el" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707">ContextRealLogger::moduleName</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The module name.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2ee1b0baea9a178ad3b84b13342b0127"></a><!-- doxytag: member="ContextRealLogger::msgType" ref="2ee1b0baea9a178ad3b84b13342b0127" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">ContextRealLogger::msgType</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Type of message we're representing.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7ffcc463d565ee93eadef3d95b388ac0"></a><!-- doxytag: member="ContextRealLogger::showCritical" ref="7ffcc463d565ee93eadef3d95b388ac0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger::showCritical</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Critical messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="149b4fa211448303b24806071a010e07"></a><!-- doxytag: member="ContextRealLogger::showDebug" ref="149b4fa211448303b24806071a010e07" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">ContextRealLogger::showDebug</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Debug messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d3e0dc8c801098e35a385d712369b486"></a><!-- doxytag: member="ContextRealLogger::showFeatures" ref="d3e0dc8c801098e35a385d712369b486" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">ContextRealLogger::showFeatures</a> = QStringList()<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Show messages with <b>only</b> the specified features.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="261f1adeed09c748431d960c009280e2"></a><!-- doxytag: member="ContextRealLogger::showModule" ref="261f1adeed09c748431d960c009280e2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">ContextRealLogger::showModule</a> = NULL<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Show messages <b>only</b> from the specified module.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="dbf345abfa4979dad50fa64587d8b12b"></a><!-- doxytag: member="ContextRealLogger::showTest" ref="dbf345abfa4979dad50fa64587d8b12b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">ContextRealLogger::showTest</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Test messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cf5deaf1c001736730952794379c9fb2"></a><!-- doxytag: member="ContextRealLogger::showWarning" ref="cf5deaf1c001736730952794379c9fb2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">ContextRealLogger::showWarning</a> = true<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Warning messages enabled at runtime.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="681ec8a8c8151a6e76de1b1b3aebe902"></a><!-- doxytag: member="ContextRealLogger::useColor" ref="681ec8a8c8151a6e76de1b1b3aebe902" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger::useColor</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Use simple colors for output (yellow for warnings, red for criticals).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="11114df34f0dc06d4261a98db0c1a413"></a><!-- doxytag: member="ContextRealLogger::vanilla" ref="11114df34f0dc06d4261a98db0c1a413" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">ContextRealLogger::vanilla</a> = false<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Use vanilla (stripped-down) logging.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="logging_8h-source.html">logging.h</a><li><a class="el" href="logging_8cpp.html">logging.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_registry_info-members.html b/libcontextsubscriber/doc/html/class_context_registry_info-members.html
new file mode 100644
index 00000000..26f7ac8e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_registry_info-members.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextRegistryInfo Member List</h1>This is the complete list of members for <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#8af42fc0ba5306234d06a238056cce99">backendName</a>() const </td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#b812fc743282bca20289cd6b28f7de14">changed</a>()</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#a25ae78e991e72aba1442487e3a7661d">connectNotify</a>(const char *signal)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>()</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [inline, private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#706d267298633d4e7e8a64bb9f51d37a">ContextRegistryInfo</a>(const ContextRegistryInfo &amp;)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#af710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfoUnitTest</a> class</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247">instance</a>(const QString &amp;backendName=&quot;&quot;)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#89e54a28e6293e102d3c6cc1c56203a8">keysAdded</a>(const QStringList &amp;newKeys)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#455bf52414fc5b7e0be384769af4dc0b">keysChanged</a>(const QStringList &amp;currentKeys)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#93f77b8ca933babf05a1f26d488a5093">keysRemoved</a>(const QStringList &amp;removedKeys)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060">listKeys</a>() const </td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#bd90db03eb9976cab3562da345d50c19">listKeys</a>(QString providername) const </td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#195777381facfb937a992c08c8647519">listKeysForPlugin</a>(QString plugin) const </td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#288081af4423fdc54c0e6db4591a8f34">listPlugins</a>() const </td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#cd9c94071cdd4e01e1b3f42d0e240e25">listProviders</a>() const </td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#2dee38dbb2c673b1ddab29fbe578dd44">onKeysAdded</a>(const QStringList &amp;newKeys)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#93732cc21af7bfaf26a89a34c9855e26">onKeysChanged</a>(const QStringList &amp;currentKeys)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#a9bd4d704c5cda390b7186bdca213dbc">onKeysRemoved</a>(const QStringList &amp;removedKeys)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#3edf9b27770690632f8950a832a726a0">onListChanged</a>()</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#3f47c39171329446d574da87b18b49ad">operator=</a>(const ContextRegistryInfo &amp;)</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a">registryInstance</a></td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td><td><code> [private, static]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_registry_info.html b/libcontextsubscriber/doc/html/class_context_registry_info.html
new file mode 100644
index 00000000..6788627d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_registry_info.html
@@ -0,0 +1,582 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextRegistryInfo Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextRegistryInfo Class Reference</h1><!-- doxytag: class="ContextRegistryInfo" -->A class to introspect the registry contents.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="contextregistryinfo_8h-source.html">contextregistryinfo.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_registry_info-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#455bf52414fc5b7e0be384769af4dc0b">keysChanged</a> (const QStringList &amp;currentKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED use changed signal instead. <a href="#455bf52414fc5b7e0be384769af4dc0b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#89e54a28e6293e102d3c6cc1c56203a8">keysAdded</a> (const QStringList &amp;newKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED use changed signal instead. <a href="#89e54a28e6293e102d3c6cc1c56203a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#93f77b8ca933babf05a1f26d488a5093">keysRemoved</a> (const QStringList &amp;removedKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED use changed signal instead. <a href="#93f77b8ca933babf05a1f26d488a5093"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#b812fc743282bca20289cd6b28f7de14">changed</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the list of provided keys changes (keys were added or removed). <a href="#b812fc743282bca20289cd6b28f7de14"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060">listKeys</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of all the keys currently availible in the registry. <a href="#963309761292d39921da3fb06cb31060"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#bd90db03eb9976cab3562da345d50c19">listKeys</a> (QString providername) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of all the keys associated with the given provider. <a href="#bd90db03eb9976cab3562da345d50c19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#195777381facfb937a992c08c8647519">listKeysForPlugin</a> (QString plugin) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the list of all the keys associated with the given plugin. <a href="#195777381facfb937a992c08c8647519"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#cd9c94071cdd4e01e1b3f42d0e240e25">listProviders</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the list of all unique providers in the registry. <a href="#cd9c94071cdd4e01e1b3f42d0e240e25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#288081af4423fdc54c0e6db4591a8f34">listPlugins</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED Returns the list of all unique plugins in the registry. <a href="#288081af4423fdc54c0e6db4591a8f34"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#8af42fc0ba5306234d06a238056cce99">backendName</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the currently used registry backend. Ie. "cdb" or "xml". <a href="#8af42fc0ba5306234d06a238056cce99"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247">instance</a> (const QString &amp;backendName=&quot;&quot;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the singleton instance of the <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>. <a href="#93a34519ddb495338876ba0e1d1a4247"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a25ae78e991e72aba1442487e3a7661d">connectNotify</a> (const char *signal)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when people connect to signals. <a href="#a25ae78e991e72aba1442487e3a7661d"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#93732cc21af7bfaf26a89a34c9855e26">onKeysChanged</a> (const QStringList &amp;currentKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is connected to the <em>keysChanged</em> of the actual info backend instance. <a href="#93732cc21af7bfaf26a89a34c9855e26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#2dee38dbb2c673b1ddab29fbe578dd44">onKeysAdded</a> (const QStringList &amp;newKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is connected to the <em>keysAdded</em> of the actual info backend instance. <a href="#2dee38dbb2c673b1ddab29fbe578dd44"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a9bd4d704c5cda390b7186bdca213dbc">onKeysRemoved</a> (const QStringList &amp;removedKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is connected to the <em>keysRemoved</em> of the actual info backend instance. <a href="#a9bd4d704c5cda390b7186bdca213dbc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#3edf9b27770690632f8950a832a726a0">onListChanged</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is connected to the <em>listChanged</em> of the actual info backend instance. <a href="#3edf9b27770690632f8950a832a726a0"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#706d267298633d4e7e8a64bb9f51d37a">ContextRegistryInfo</a> (const <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor. Do not use. <a href="#706d267298633d4e7e8a64bb9f51d37a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#3f47c39171329446d574da87b18b49ad">operator=</a> (const <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private operator. Do not use. <a href="#3f47c39171329446d574da87b18b49ad"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a">registryInstance</a> = NULL</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the actual pointer to the singelton instance. <a href="#26fbeceb6cc6034badaa3593a93c086a"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#af710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfoUnitTest</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class to introspect the registry contents.
+<p>
+This is a singelton class used to obtain information about the keys (properties) in the registry database. The information can be provided either from xml files or from a cdb database. It's possible to list all the keys in the registry and also list all keys belonging to a one particular provider. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="09177765ce970e704de078ea8a8e364c"></a><!-- doxytag: member="ContextRegistryInfo::ContextRegistryInfo" ref="09177765ce970e704de078ea8a8e364c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextRegistryInfo::ContextRegistryInfo </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="706d267298633d4e7e8a64bb9f51d37a"></a><!-- doxytag: member="ContextRegistryInfo::ContextRegistryInfo" ref="706d267298633d4e7e8a64bb9f51d37a" args="(const ContextRegistryInfo &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextRegistryInfo::ContextRegistryInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Private constructor. Do not use.
+<p>
+Private constructor. Do not use.
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8af42fc0ba5306234d06a238056cce99"></a><!-- doxytag: member="ContextRegistryInfo::backendName" ref="8af42fc0ba5306234d06a238056cce99" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextRegistryInfo::backendName </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the name of the currently used registry backend. Ie. "cdb" or "xml".
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b812fc743282bca20289cd6b28f7de14"></a><!-- doxytag: member="ContextRegistryInfo::changed" ref="b812fc743282bca20289cd6b28f7de14" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::changed </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the list of provided keys changes (keys were added or removed).
+<p>
+This is not a strict signal - it's possible for the emission to happen even if no actual change happened.
+</div>
+</div><p>
+<a class="anchor" name="a25ae78e991e72aba1442487e3a7661d"></a><!-- doxytag: member="ContextRegistryInfo::connectNotify" ref="a25ae78e991e72aba1442487e3a7661d" args="(const char *signal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::connectNotify </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>signal</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when people connect to signals.
+<p>
+Used to emit deprecation warnings when people connect to deprecated signals.
+</div>
+</div><p>
+<a class="anchor" name="93a34519ddb495338876ba0e1d1a4247"></a><!-- doxytag: member="ContextRegistryInfo::instance" ref="93a34519ddb495338876ba0e1d1a4247" args="(const QString &amp;backendName=&quot;&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> * ContextRegistryInfo::instance </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>backendName</em> = <code>&quot;&quot;</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the singleton instance of the <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>.
+<p>
+The object is constructed automaticall on first access. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>backendName</em>&nbsp;</td><td>the optional name of the backend to use (force). </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="89e54a28e6293e102d3c6cc1c56203a8"></a><!-- doxytag: member="ContextRegistryInfo::keysAdded" ref="89e54a28e6293e102d3c6cc1c56203a8" args="(const QStringList &amp;newKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::keysAdded </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>newKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED use changed signal instead.
+<p>
+Emitted when new keys become availible in the registry. The list contains only the new keys. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>newKeys</em>&nbsp;</td><td>New keys that appeared in the regisitry. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="455bf52414fc5b7e0be384769af4dc0b"></a><!-- doxytag: member="ContextRegistryInfo::keysChanged" ref="455bf52414fc5b7e0be384769af4dc0b" args="(const QStringList &amp;currentKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::keysChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>currentKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED use changed signal instead.
+<p>
+Emitted when the registry changes. For performance reasons this is not a strict signal - it's emitted also even when no actual changes happened to the key content. For strict monitoring of a partular key use the <em><a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a></em>. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>currentKeys</em>&nbsp;</td><td>List of all the keys that are now in the registry. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="93f77b8ca933babf05a1f26d488a5093"></a><!-- doxytag: member="ContextRegistryInfo::keysRemoved" ref="93f77b8ca933babf05a1f26d488a5093" args="(const QStringList &amp;removedKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::keysRemoved </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>removedKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED use changed signal instead.
+<p>
+Emitted when keys disappear (are removed) from the registry. The list contains only the removed keys. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>removedKeys</em>&nbsp;</td><td>The list of removed keys. </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bd90db03eb9976cab3562da345d50c19"></a><!-- doxytag: member="ContextRegistryInfo::listKeys" ref="bd90db03eb9976cab3562da345d50c19" args="(QString providername) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextRegistryInfo::listKeys </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>providername</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of all the keys associated with the given provider.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="963309761292d39921da3fb06cb31060"></a><!-- doxytag: member="ContextRegistryInfo::listKeys" ref="963309761292d39921da3fb06cb31060" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextRegistryInfo::listKeys </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of all the keys currently availible in the registry.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="195777381facfb937a992c08c8647519"></a><!-- doxytag: member="ContextRegistryInfo::listKeysForPlugin" ref="195777381facfb937a992c08c8647519" args="(QString plugin) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextRegistryInfo::listKeysForPlugin </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>plugin</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the list of all the keys associated with the given plugin.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="288081af4423fdc54c0e6db4591a8f34"></a><!-- doxytag: member="ContextRegistryInfo::listPlugins" ref="288081af4423fdc54c0e6db4591a8f34" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextRegistryInfo::listPlugins </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the list of all unique plugins in the registry.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cd9c94071cdd4e01e1b3f42d0e240e25"></a><!-- doxytag: member="ContextRegistryInfo::listProviders" ref="cd9c94071cdd4e01e1b3f42d0e240e25" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextRegistryInfo::listProviders </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+DEPRECATED Returns the list of all unique providers in the registry.
+<p>
+The lists consist of strings with dbus names of the providers.
+</div>
+</div><p>
+<a class="anchor" name="2dee38dbb2c673b1ddab29fbe578dd44"></a><!-- doxytag: member="ContextRegistryInfo::onKeysAdded" ref="2dee38dbb2c673b1ddab29fbe578dd44" args="(const QStringList &amp;newKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::onKeysAdded </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>newKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is connected to the <em>keysAdded</em> of the actual info backend instance.
+<p>
+Will be removed when deprecated <a class="el" href="class_context_registry_info.html#89e54a28e6293e102d3c6cc1c56203a8" title="DEPRECATED use changed signal instead.">keysAdded()</a> signal is removed.
+</div>
+</div><p>
+<a class="anchor" name="93732cc21af7bfaf26a89a34c9855e26"></a><!-- doxytag: member="ContextRegistryInfo::onKeysChanged" ref="93732cc21af7bfaf26a89a34c9855e26" args="(const QStringList &amp;currentKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::onKeysChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>currentKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is connected to the <em>keysChanged</em> of the actual info backend instance.
+<p>
+Will be removed when deprecated <a class="el" href="class_context_registry_info.html#455bf52414fc5b7e0be384769af4dc0b" title="DEPRECATED use changed signal instead.">keysChanged()</a> signal is removed.
+</div>
+</div><p>
+<a class="anchor" name="a9bd4d704c5cda390b7186bdca213dbc"></a><!-- doxytag: member="ContextRegistryInfo::onKeysRemoved" ref="a9bd4d704c5cda390b7186bdca213dbc" args="(const QStringList &amp;removedKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::onKeysRemoved </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>removedKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is connected to the <em>keysRemoved</em> of the actual info backend instance.
+<p>
+Will be removed when deprecated <a class="el" href="class_context_registry_info.html#93f77b8ca933babf05a1f26d488a5093" title="DEPRECATED use changed signal instead.">keysRemoved()</a> signal is removed.
+</div>
+</div><p>
+<a class="anchor" name="3edf9b27770690632f8950a832a726a0"></a><!-- doxytag: member="ContextRegistryInfo::onListChanged" ref="3edf9b27770690632f8950a832a726a0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextRegistryInfo::onListChanged </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is connected to the <em>listChanged</em> of the actual info backend instance.
+<p>
+Gets called when the list of keys changes.
+</div>
+</div><p>
+<a class="anchor" name="3f47c39171329446d574da87b18b49ad"></a><!-- doxytag: member="ContextRegistryInfo::operator=" ref="3f47c39171329446d574da87b18b49ad" args="(const ContextRegistryInfo &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a>&amp; ContextRegistryInfo::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Private operator. Do not use.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="af710ed7356d597c5a7a04cbe74eb5a4"></a><!-- doxytag: member="ContextRegistryInfo::ContextRegistryInfoUnitTest" ref="af710ed7356d597c5a7a04cbe74eb5a4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class ContextRegistryInfoUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="26fbeceb6cc6034badaa3593a93c086a"></a><!-- doxytag: member="ContextRegistryInfo::registryInstance" ref="26fbeceb6cc6034badaa3593a93c086a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> * <a class="el" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a">ContextRegistryInfo::registryInstance</a> = NULL<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Holds the actual pointer to the singelton instance.
+<p>
+Mutex protected during creation.
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contextregistryinfo_8h-source.html">contextregistryinfo.h</a><li><a class="el" href="contextregistryinfo_8cpp.html">contextregistryinfo.cpp</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin-members.html
new file mode 100644
index 00000000..5341b8d7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::ContextKitPlugin Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">busName</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270">connection</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#b3728dd869ea64e058f4f7c35a4bb067">ContextKitPlugin</a>(const QDBusConnection bus, const QString &amp;busName)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#659b0f0fcb7a740975fadc55c670bbf7">failed</a>(QString error)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523">managerIName</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b">managerInterface</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e">managerPath</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#1f2999785a6f653a95a946bcc09d05ba">mergeNullsWithMap</a>(QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const </td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#192e933ca4f023f84de709e84fbe47e7">onDBusGetSubscriberFailed</a>(QDBusError err)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#9391a2ed305e25493a611c25ed9aa7a2">onDBusGetSubscriberFinished</a>(QDBusObjectPath objectPath)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ca1f1f90efb47950385d5814dadc573d">onDBusSubscribeFailed</a>(QList&lt; QString &gt; keys, QString error)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#83385b7cf39ae293e6e06705f952f9a1">onDBusSubscribeFinished</a>(QList&lt; QString &gt; keys)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#119181d213c126458f065a0b10e7e281">onDBusValuesChanged</a>(QMap&lt; QString, QVariant &gt; values)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ef61e0a51dad4988fe264474cb2bdd7d">onProviderAppeared</a>()</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0ebafac80dca92564323f78a1fbfa6b7">onProviderDisappeared</a>()</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424">providerListener</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#cb1ad4d2dafa9c137acff2a84916686f">ready</a>()</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a45ae69058525f998ed5eb0c275cac75">subscribe</a>(QSet&lt; QString &gt; keys)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#803a4bf54f2017025bc314fc14702513">subscribeFailed</a>(QString failedKey, QString error)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4a3fcd522bbb2cc67c5821bcf15ed3d4">subscribeFinished</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836">subscriberIName</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331">subscriberInterface</a></td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4936904e1483e3f06c86e10d65a39e50">unsubscribe</a>(QSet&lt; QString &gt; keys)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#5603631c4a9e7f6a4cbe05af6dfe5c48">valueChanged</a>(QString key, QVariant value)</td><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td><td><code> [signal]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin.html
new file mode 100644
index 00000000..89fee034
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin.html
@@ -0,0 +1,667 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::ContextKitPlugin Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextKitPlugin</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::ContextKitPlugin Class Reference</h1><!-- doxytag: class="ContextSubscriber::ContextKitPlugin" --><!-- doxytag: inherits="ContextSubscriber::IProviderPlugin" -->Implementation of the ContextKit D-Bus protocol.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="contextkitplugin_8h-source.html">contextkitplugin.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_context_kit_plugin-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#cb1ad4d2dafa9c137acff2a84916686f">ready</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the GetSubscriber call returns successfully. <a href="#cb1ad4d2dafa9c137acff2a84916686f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#659b0f0fcb7a740975fadc55c670bbf7">failed</a> (QString error)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the GetSubscriber call fails or provider not on D-Bus at all. <a href="#659b0f0fcb7a740975fadc55c670bbf7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4a3fcd522bbb2cc67c5821bcf15ed3d4">subscribeFinished</a> (QString key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when Subscribe call succeeds on D-Bus. <a href="#4a3fcd522bbb2cc67c5821bcf15ed3d4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#803a4bf54f2017025bc314fc14702513">subscribeFailed</a> (QString failedKey, QString error)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when Subscribe call fails on D-Bus. <a href="#803a4bf54f2017025bc314fc14702513"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#5603631c4a9e7f6a4cbe05af6dfe5c48">valueChanged</a> (QString key, QVariant value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when ValueChanged signal comes on D-Bus. <a href="#5603631c4a9e7f6a4cbe05af6dfe5c48"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#b3728dd869ea64e058f4f7c35a4bb067">ContextKitPlugin</a> (const QDBusConnection bus, const QString &amp;<a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">busName</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates subscriber and manager interface, tries to get a subscriber instance from the manager and starts listening for provider appearing and disappearing on D-Bus. <a href="#b3728dd869ea64e058f4f7c35a4bb067"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a45ae69058525f998ed5eb0c275cac75">subscribe</a> (QSet&lt; QString &gt; keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards the subscribe request to the wire. <a href="#a45ae69058525f998ed5eb0c275cac75"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4936904e1483e3f06c86e10d65a39e50">unsubscribe</a> (QSet&lt; QString &gt; keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards the unsubscribe request to the wire. <a href="#4936904e1483e3f06c86e10d65a39e50"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#119181d213c126458f065a0b10e7e281">onDBusValuesChanged</a> (QMap&lt; QString, QVariant &gt; values)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards value changes from the wire to the upper layer (<a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a>). <a href="#119181d213c126458f065a0b10e7e281"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#9391a2ed305e25493a611c25ed9aa7a2">onDBusGetSubscriberFinished</a> (QDBusObjectPath objectPath)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts using the fresh subscriber interface when it is returned by the manager in response to the GetSubscriber call. <a href="#9391a2ed305e25493a611c25ed9aa7a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#192e933ca4f023f84de709e84fbe47e7">onDBusGetSubscriberFailed</a> (QDBusError err)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#83385b7cf39ae293e6e06705f952f9a1">onDBusSubscribeFinished</a> (QList&lt; QString &gt; keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signals the <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> that the subscribe is finished. <a href="#83385b7cf39ae293e6e06705f952f9a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ca1f1f90efb47950385d5814dadc573d">onDBusSubscribeFailed</a> (QList&lt; QString &gt; keys, QString error)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signals the <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> that the subscribe is failed. <a href="#ca1f1f90efb47950385d5814dadc573d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ef61e0a51dad4988fe264474cb2bdd7d">onProviderAppeared</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a new subscriber interface from manager when the provider appears. <a href="#ef61e0a51dad4988fe264474cb2bdd7d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0ebafac80dca92564323f78a1fbfa6b7">onProviderDisappeared</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete our subscriber interface when the provider goes away. <a href="#0ebafac80dca92564323f78a1fbfa6b7"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#1f2999785a6f653a95a946bcc09d05ba">mergeNullsWithMap</a> (QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const </td></tr>
+
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424">providerListener</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listens to provider's (dis)appearance over DBus. <a href="#0e34a8c4b3dafd66d2a094cf2ee22424"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331">subscriberInterface</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The D-Bus interface for the Subscriber object. <a href="#c5cf234581bce7834ff86d57b5bcb331"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusAbstractInterface *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b">managerInterface</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The D-Bus interface for the Manager object. <a href="#fde8f2ee5e10b6625f3b023d6ad3523b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusConnection *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270">connection</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The connection to DBus. <a href="#0be51b23a1acd297bb9155d611d37270"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">busName</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The D-Bus service name of the ContextKit provider connected to. <a href="#80103689b09397c9a399987df806af1c"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523">managerIName</a> = &quot;org.freedesktop.ContextKit.Manager&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">org.freedesktop.ContextKit.Manager <a href="#73f07ee2c97993ecefe0b0787cc33523"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836">subscriberIName</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">org.freedesktop.ContextKit.Subscriber <a href="#c65d96beebc2af0eda5b79462c531836"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e">managerPath</a> = &quot;/org/freedesktop/ContextKit/Manager&quot;</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">/org/freedesktop/ContextKit/Manager <a href="#d8141ab741a7d60ba3d1e067f0bb290e"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Implementation of the ContextKit D-Bus protocol. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="b3728dd869ea64e058f4f7c35a4bb067"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::ContextKitPlugin" ref="b3728dd869ea64e058f4f7c35a4bb067" args="(const QDBusConnection bus, const QString &amp;busName)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::ContextKitPlugin::ContextKitPlugin </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>bus</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates subscriber and manager interface, tries to get a subscriber instance from the manager and starts listening for provider appearing and disappearing on D-Bus.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="659b0f0fcb7a740975fadc55c670bbf7"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::failed" ref="659b0f0fcb7a740975fadc55c670bbf7" args="(QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::failed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the GetSubscriber call fails or provider not on D-Bus at all.
+<p>
+
+<p>Reimplemented from <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#2b38e3432ffbe7006ffcbe696e4331dd">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="1f2999785a6f653a95a946bcc09d05ba"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::mergeNullsWithMap" ref="1f2999785a6f653a95a946bcc09d05ba" args="(QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMap&lt;QString, QVariant&gt;&amp; ContextSubscriber::ContextKitPlugin::mergeNullsWithMap </td>
+ <td>(</td>
+ <td class="paramtype">QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>map</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QStringList&nbsp;</td>
+ <td class="paramname"> <em>nulls</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="192e933ca4f023f84de709e84fbe47e7"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusGetSubscriberFailed" ref="192e933ca4f023f84de709e84fbe47e7" args="(QDBusError err)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onDBusGetSubscriberFailed </td>
+ <td>(</td>
+ <td class="paramtype">QDBusError&nbsp;</td>
+ <td class="paramname"> <em>err</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9391a2ed305e25493a611c25ed9aa7a2"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusGetSubscriberFinished" ref="9391a2ed305e25493a611c25ed9aa7a2" args="(QDBusObjectPath objectPath)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onDBusGetSubscriberFinished </td>
+ <td>(</td>
+ <td class="paramtype">QDBusObjectPath&nbsp;</td>
+ <td class="paramname"> <em>objectPath</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Starts using the fresh subscriber interface when it is returned by the manager in response to the GetSubscriber call.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ca1f1f90efb47950385d5814dadc573d"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusSubscribeFailed" ref="ca1f1f90efb47950385d5814dadc573d" args="(QList&lt; QString &gt; keys, QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onDBusSubscribeFailed </td>
+ <td>(</td>
+ <td class="paramtype">QList&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Signals the <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> that the subscribe is failed.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="83385b7cf39ae293e6e06705f952f9a1"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusSubscribeFinished" ref="83385b7cf39ae293e6e06705f952f9a1" args="(QList&lt; QString &gt; keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onDBusSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QList&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Signals the <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> that the subscribe is finished.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="119181d213c126458f065a0b10e7e281"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusValuesChanged" ref="119181d213c126458f065a0b10e7e281" args="(QMap&lt; QString, QVariant &gt; values)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onDBusValuesChanged </td>
+ <td>(</td>
+ <td class="paramtype">QMap&lt; QString, QVariant &gt;&nbsp;</td>
+ <td class="paramname"> <em>values</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Forwards value changes from the wire to the upper layer (<a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a>).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ef61e0a51dad4988fe264474cb2bdd7d"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onProviderAppeared" ref="ef61e0a51dad4988fe264474cb2bdd7d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onProviderAppeared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Gets a new subscriber interface from manager when the provider appears.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0ebafac80dca92564323f78a1fbfa6b7"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onProviderDisappeared" ref="0ebafac80dca92564323f78a1fbfa6b7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onProviderDisappeared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Delete our subscriber interface when the provider goes away.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cb1ad4d2dafa9c137acff2a84916686f"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::ready" ref="cb1ad4d2dafa9c137acff2a84916686f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::ready </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the GetSubscriber call returns successfully.
+<p>
+
+<p>Reimplemented from <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="a45ae69058525f998ed5eb0c275cac75"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscribe" ref="a45ae69058525f998ed5eb0c275cac75" args="(QSet&lt; QString &gt; keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::subscribe </td>
+ <td>(</td>
+ <td class="paramtype">QSet&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Forwards the subscribe request to the wire.
+<p>
+
+<p>Implements <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#96f3f5ea81859ddfef63c0e064cba365">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="803a4bf54f2017025bc314fc14702513"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscribeFailed" ref="803a4bf54f2017025bc314fc14702513" args="(QString failedKey, QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::subscribeFailed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>failedKey</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when Subscribe call fails on D-Bus.
+<p>
+
+<p>Reimplemented from <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#e62e69b51185cb0437230916cc306548">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4a3fcd522bbb2cc67c5821bcf15ed3d4"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscribeFinished" ref="4a3fcd522bbb2cc67c5821bcf15ed3d4" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::subscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when Subscribe call succeeds on D-Bus.
+<p>
+
+<p>Reimplemented from <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#68cf30909195fcadb259056ad8a8d9ba">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4936904e1483e3f06c86e10d65a39e50"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::unsubscribe" ref="4936904e1483e3f06c86e10d65a39e50" args="(QSet&lt; QString &gt; keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::unsubscribe </td>
+ <td>(</td>
+ <td class="paramtype">QSet&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Forwards the unsubscribe request to the wire.
+<p>
+
+<p>Implements <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#9a5410b5898e5d1efde167752696f2f5">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="5603631c4a9e7f6a4cbe05af6dfe5c48"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::valueChanged" ref="5603631c4a9e7f6a4cbe05af6dfe5c48" args="(QString key, QVariant value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::valueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QVariant&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when ValueChanged signal comes on D-Bus.
+<p>
+
+<p>Reimplemented from <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#3a106b2d49454337f9269b2ffb07647e">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="80103689b09397c9a399987df806af1c"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::busName" ref="80103689b09397c9a399987df806af1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">ContextSubscriber::ContextKitPlugin::busName</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The D-Bus service name of the ContextKit provider connected to.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0be51b23a1acd297bb9155d611d37270"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::connection" ref="0be51b23a1acd297bb9155d611d37270" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusConnection* <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270">ContextSubscriber::ContextKitPlugin::connection</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The connection to DBus.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="73f07ee2c97993ecefe0b0787cc33523"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::managerIName" ref="73f07ee2c97993ecefe0b0787cc33523" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QString <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523">ContextSubscriber::ContextKitPlugin::managerIName</a> = &quot;org.freedesktop.ContextKit.Manager&quot;<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+org.freedesktop.ContextKit.Manager
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fde8f2ee5e10b6625f3b023d6ad3523b"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::managerInterface" ref="fde8f2ee5e10b6625f3b023d6ad3523b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusAbstractInterface* <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b">ContextSubscriber::ContextKitPlugin::managerInterface</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The D-Bus interface for the Manager object.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d8141ab741a7d60ba3d1e067f0bb290e"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::managerPath" ref="d8141ab741a7d60ba3d1e067f0bb290e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QString <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e">ContextSubscriber::ContextKitPlugin::managerPath</a> = &quot;/org/freedesktop/ContextKit/Manager&quot;<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+/org/freedesktop/ContextKit/Manager
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0e34a8c4b3dafd66d2a094cf2ee22424"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::providerListener" ref="0e34a8c4b3dafd66d2a094cf2ee22424" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a>* <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424">ContextSubscriber::ContextKitPlugin::providerListener</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Listens to provider's (dis)appearance over DBus.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c65d96beebc2af0eda5b79462c531836"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscriberIName" ref="c65d96beebc2af0eda5b79462c531836" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QString <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836">ContextSubscriber::ContextKitPlugin::subscriberIName</a><code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+org.freedesktop.ContextKit.Subscriber
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c5cf234581bce7834ff86d57b5bcb331"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscriberInterface" ref="c5cf234581bce7834ff86d57b5bcb331" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>* <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331">ContextSubscriber::ContextKitPlugin::subscriberInterface</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The D-Bus interface for the Subscriber object.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contextkitplugin_8h-source.html">contextkitplugin.h</a><li><a class="el" href="contextkitplugin_8cpp.html">contextkitplugin.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener-members.html
new file mode 100644
index 00000000..9361f711
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::DBusNameListener Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">busName</a></td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">busType</a></td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">connection</a></td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#80cd4b4576989625cefc639d21bfee5d">DBusNameListener</a>(QDBusConnection::BusType busType, const QString &amp;busName, QObject *parent=0)</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c9b64a5b065dab20600d600c54cac950">DBusNameListener</a>(const QDBusConnection bus, const QString &amp;busName, QObject *parent=0)</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca">isServicePresent</a>() const </td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">listeningStarted</a></td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">nameAppeared</a>()</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared</a>()</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884">NotPresent</a> enum value</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#fd2c19f9dc41d1e68bc2d22a1e2ac4a7">onNameHasOwnerFinished</a>(QDBusPendingCallWatcher *watcher)</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ca7dd6273d3e2335a436b34b284d1830">onServiceOwnerChanged</a>(const QString &amp;name, const QString &amp;oldOwner, const QString &amp;newOwner)</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab">Present</a> enum value</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> enum name</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52">servicePresent</a></td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2a28de9dd87121d688410053a025c470">setServiceGone</a>()</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#888a8557a7246d7c268e8037220f3156">setServicePresent</a>()</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#29c51998308e0448bee857df8f8206cc">startListening</a>(bool nameHasOwnerCheck)</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c">Unknown</a> enum value</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#0049dbd454615122dcfca92253b7e7d7">~DBusNameListener</a>()</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td><td><code> [virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener.html
new file mode 100644
index 00000000..ea37aca4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener.html
@@ -0,0 +1,479 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::DBusNameListener Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::DBusNameListener Class Reference</h1><!-- doxytag: class="ContextSubscriber::DBusNameListener" -->Listens for changes in a specific service name on a D-Bus bus, optionally gets the initial state of the service name.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dbusnamelistener_8h-source.html">dbusnamelistener.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_d_bus_name_listener-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> { <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884">NotPresent</a> = 0,
+<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab">Present</a>,
+<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c">Unknown</a>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">nameAppeared</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#80cd4b4576989625cefc639d21bfee5d">DBusNameListener</a> (QDBusConnection::BusType <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">busType</a>, const QString &amp;<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">busName</a>, QObject *parent=0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c9b64a5b065dab20600d600c54cac950">DBusNameListener</a> (const QDBusConnection bus, const QString &amp;<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">busName</a>, QObject *parent=0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#0049dbd454615122dcfca92253b7e7d7">~DBusNameListener</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#29c51998308e0448bee857df8f8206cc">startListening</a> (bool nameHasOwnerCheck)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start listening to the NameOwnerChanged signal over D-Bus. <a href="#29c51998308e0448bee857df8f8206cc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca">isServicePresent</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return our current understanding (not present, present, unknown) of the presence of the watched service. <a href="#c6727dbeb9c1f8ef2c101b223ef3acca"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ca7dd6273d3e2335a436b34b284d1830">onServiceOwnerChanged</a> (const QString &amp;name, const QString &amp;oldOwner, const QString &amp;newOwner)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This slot is called when DBusNameOwnerChanged signal arrives and it just filters the name and if we are interested in the name it emits the <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">nameAppeared()</a></code> or <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared()</a></code> signal. <a href="#ca7dd6273d3e2335a436b34b284d1830"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#fd2c19f9dc41d1e68bc2d22a1e2ac4a7">onNameHasOwnerFinished</a> (QDBusPendingCallWatcher *watcher)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handling of the asynchronous reply of the initial query. <a href="#fd2c19f9dc41d1e68bc2d22a1e2ac4a7"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#888a8557a7246d7c268e8037220f3156">setServicePresent</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2a28de9dd87121d688410053a025c470">setServiceGone</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52">servicePresent</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Our current understanding about the service name's state. <a href="#b1dd997605d2d5ef768c1b113ee42c52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusConnection::BusType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">busType</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The service bus type we are interested in. <a href="#4ae2ef44be74c21c952f1bddb2a152f9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">busName</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The service name we are interested in. <a href="#86d18fe068b5a9e7b722aaf76dd897bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">listeningStarted</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QDBusConnection *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">connection</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Listens for changes in a specific service name on a D-Bus bus, optionally gets the initial state of the service name.
+<p>
+When you create an instance of this class, it won't open any D-Bus connections. When startListening is called, the instance connects to the NameOwnerChanged D-Bus signal. It can also check the current status of the service by executing an asynchronous NameHasOwner call.<p>
+If the specified service appears on D-Bus, it will emit the <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">nameAppeared()</a></code> signal, if disappears, then the <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared()</a> signal. An initial query and signal emission will be done if <code>initialCheck</code> is true, which is the default.<p>
+Anytime you can check with <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca" title="Return our current understanding (not present, present, unknown) of the presence...">isServicePresent()</a></code> if according to our current knowledge (last signal emission) the service is present or not. This means that if <code>initialCheck</code> is false, <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca" title="Return our current understanding (not present, present, unknown) of the presence...">isServicePresent()</a></code> can return false, even though the service is present. <hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="c265c0eaa26e4e3b3c3182652563032d"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::ServicePresence" ref="c265c0eaa26e4e3b3c3182652563032d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ContextSubscriber::DBusNameListener::ServicePresence</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884"></a><!-- doxytag: member="NotPresent" ref="c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884" args="" -->NotPresent</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab"></a><!-- doxytag: member="Present" ref="c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab" args="" -->Present</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c"></a><!-- doxytag: member="Unknown" ref="c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c" args="" -->Unknown</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="80cd4b4576989625cefc639d21bfee5d"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::DBusNameListener" ref="80cd4b4576989625cefc639d21bfee5d" args="(QDBusConnection::BusType busType, const QString &amp;busName, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::DBusNameListener::DBusNameListener </td>
+ <td>(</td>
+ <td class="paramtype">QDBusConnection::BusType&nbsp;</td>
+ <td class="paramname"> <em>busType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c9b64a5b065dab20600d600c54cac950"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::DBusNameListener" ref="c9b64a5b065dab20600d600c54cac950" args="(const QDBusConnection bus, const QString &amp;busName, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::DBusNameListener::DBusNameListener </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>bus</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0049dbd454615122dcfca92253b7e7d7"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::~DBusNameListener" ref="0049dbd454615122dcfca92253b7e7d7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::DBusNameListener::~DBusNameListener </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="c6727dbeb9c1f8ef2c101b223ef3acca"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::isServicePresent" ref="c6727dbeb9c1f8ef2c101b223ef3acca" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">DBusNameListener::ServicePresence</a> ContextSubscriber::DBusNameListener::isServicePresent </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return our current understanding (not present, present, unknown) of the presence of the watched service.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="156d249adafb167b396e61786590480b"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::nameAppeared" ref="156d249adafb167b396e61786590480b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::nameAppeared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="96df4b22f35d6e39d0db58e1e26a9550"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::nameDisappeared" ref="96df4b22f35d6e39d0db58e1e26a9550" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::nameDisappeared </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fd2c19f9dc41d1e68bc2d22a1e2ac4a7"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::onNameHasOwnerFinished" ref="fd2c19f9dc41d1e68bc2d22a1e2ac4a7" args="(QDBusPendingCallWatcher *watcher)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::onNameHasOwnerFinished </td>
+ <td>(</td>
+ <td class="paramtype">QDBusPendingCallWatcher *&nbsp;</td>
+ <td class="paramname"> <em>watcher</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Handling of the asynchronous reply of the initial query.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ca7dd6273d3e2335a436b34b284d1830"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::onServiceOwnerChanged" ref="ca7dd6273d3e2335a436b34b284d1830" args="(const QString &amp;name, const QString &amp;oldOwner, const QString &amp;newOwner)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::onServiceOwnerChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>oldOwner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>newOwner</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This slot is called when DBusNameOwnerChanged signal arrives and it just filters the name and if we are interested in the name it emits the <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">nameAppeared()</a></code> or <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared()</a></code> signal.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2a28de9dd87121d688410053a025c470"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::setServiceGone" ref="2a28de9dd87121d688410053a025c470" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::setServiceGone </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="888a8557a7246d7c268e8037220f3156"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::setServicePresent" ref="888a8557a7246d7c268e8037220f3156" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::setServicePresent </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="29c51998308e0448bee857df8f8206cc"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::startListening" ref="29c51998308e0448bee857df8f8206cc" args="(bool nameHasOwnerCheck)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::DBusNameListener::startListening </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>nameHasOwnerCheck</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Start listening to the NameOwnerChanged signal over D-Bus.
+<p>
+If <em>nameHasOwnerCheck</em> is true, also send a NameHasOwner query to D-Bus (asyncronously).
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="86d18fe068b5a9e7b722aaf76dd897bd"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::busName" ref="86d18fe068b5a9e7b722aaf76dd897bd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">ContextSubscriber::DBusNameListener::busName</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The service name we are interested in.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4ae2ef44be74c21c952f1bddb2a152f9"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::busType" ref="4ae2ef44be74c21c952f1bddb2a152f9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusConnection::BusType <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">ContextSubscriber::DBusNameListener::busType</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The service bus type we are interested in.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e09ac9d58b9c15e9ba77bf7f8247a5e7"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::connection" ref="e09ac9d58b9c15e9ba77bf7f8247a5e7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QDBusConnection* <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">ContextSubscriber::DBusNameListener::connection</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2141c57da98b81259101f6e782cf92f5"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::listeningStarted" ref="2141c57da98b81259101f6e782cf92f5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">ContextSubscriber::DBusNameListener::listeningStarted</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b1dd997605d2d5ef768c1b113ee42c52"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::servicePresent" ref="b1dd997605d2d5ef768c1b113ee42c52" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52">ContextSubscriber::DBusNameListener::servicePresent</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Our current understanding about the service name's state.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="dbusnamelistener_8h-source.html">dbusnamelistener.h</a><li><a class="el" href="dbusnamelistener_8cpp.html">dbusnamelistener.cpp</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router-members.html
new file mode 100644
index 00000000..c8a7e6f6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::HandleSignalRouter Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#11cb80bdb993a829a06e7338c014d45b">HandleSignalRouter</a>()</td><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#d22b0b2d41d77e490f86d4979933a0b4">instance</a>()</td><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd">myInstance</a></td><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#1d462671a2aa52359c6699cb643f8c35">onSubscribeFinished</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td><td><code> [slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#f617232398fe317edf8bf00b0e6d430c">onValueChanged</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td><td><code> [slot]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router.html
new file mode 100644
index 00000000..61de8278
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::HandleSignalRouter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::HandleSignalRouter Class Reference</h1><!-- doxytag: class="ContextSubscriber::HandleSignalRouter" -->Routes the <code>valueChanged()</code> and the <code>subscribeFinished()</code> signals to the correct <code><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a></code> object.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="handlesignalrouter_8h-source.html">handlesignalrouter.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_handle_signal_router-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#f617232398fe317edf8bf00b0e6d430c">onValueChanged</a> (QString key)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#1d462671a2aa52359c6699cb643f8c35">onSubscribeFinished</a> (QString key)</td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#d22b0b2d41d77e490f86d4979933a0b4">instance</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#11cb80bdb993a829a06e7338c014d45b">HandleSignalRouter</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd">myInstance</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Singleton instance. <a href="#73ad5f7ecb6fa6c9e2f3b95491859ecd"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Routes the <code>valueChanged()</code> and the <code>subscribeFinished()</code> signals to the correct <code><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a></code> object.
+<p>
+This is an optimization, so we don't have to connect all of the providers to all of the <code><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a></code>s of that provider. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="11cb80bdb993a829a06e7338c014d45b"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::HandleSignalRouter" ref="11cb80bdb993a829a06e7338c014d45b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::HandleSignalRouter::HandleSignalRouter </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d22b0b2d41d77e490f86d4979933a0b4"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::instance" ref="d22b0b2d41d77e490f86d4979933a0b4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a> * ContextSubscriber::HandleSignalRouter::instance </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1d462671a2aa52359c6699cb643f8c35"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::onSubscribeFinished" ref="1d462671a2aa52359c6699cb643f8c35" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::HandleSignalRouter::onSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f617232398fe317edf8bf00b0e6d430c"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::onValueChanged" ref="f617232398fe317edf8bf00b0e6d430c" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::HandleSignalRouter::onValueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="73ad5f7ecb6fa6c9e2f3b95491859ecd"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::myInstance" ref="73ad5f7ecb6fa6c9e2f3b95491859ecd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a> <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd">ContextSubscriber::HandleSignalRouter::myInstance</a><code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Singleton instance.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="handlesignalrouter_8h-source.html">handlesignalrouter.h</a><li><a class="el" href="handlesignalrouter_8cpp.html">handlesignalrouter.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin-members.html
new file mode 100644
index 00000000..54c509f9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::IProviderPlugin Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#2b38e3432ffbe7006ffcbe696e4331dd">failed</a>(QString error)</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ready</a>()</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#96f3f5ea81859ddfef63c0e064cba365">subscribe</a>(QSet&lt; QString &gt; keys)=0</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#e62e69b51185cb0437230916cc306548">subscribeFailed</a>(QString failedKey, QString error)</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#68cf30909195fcadb259056ad8a8d9ba">subscribeFinished</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#9a5410b5898e5d1efde167752696f2f5">unsubscribe</a>(QSet&lt; QString &gt; keys)=0</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#3a106b2d49454337f9269b2ffb07647e">valueChanged</a>(QString key, QVariant value)</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td><td><code> [signal]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin.html
new file mode 100644
index 00000000..034b2c19
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::IProviderPlugin Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::IProviderPlugin Class Reference</h1><!-- doxytag: class="ContextSubscriber::IProviderPlugin" -->Interface for provider plugins.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="iproviderplugin_8h-source.html">iproviderplugin.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_i_provider_plugin-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ready</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#2b38e3432ffbe7006ffcbe696e4331dd">failed</a> (QString error)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#68cf30909195fcadb259056ad8a8d9ba">subscribeFinished</a> (QString key)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#e62e69b51185cb0437230916cc306548">subscribeFailed</a> (QString failedKey, QString error)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#3a106b2d49454337f9269b2ffb07647e">valueChanged</a> (QString key, QVariant value)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#96f3f5ea81859ddfef63c0e064cba365">subscribe</a> (QSet&lt; QString &gt; keys)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#9a5410b5898e5d1efde167752696f2f5">unsubscribe</a> (QSet&lt; QString &gt; keys)=0</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Interface for provider plugins.
+<p>
+Note: this interface is private, currently it is not advised to use it and create ContextKit subscriber plugins on your own, we can and will change this interface anytime in the future even between small bugfix releases.<p>
+Every <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> instance contains exactly one plugin (pointer) with this interface which is constructed on initialization time and never change after that. This way the concrete protocol (dbus, shared memory, etc.) between the library and the provider is abstracted.<p>
+The <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> instance communicates need for subscribe and unsubscribe calls (on the wire) using the <code>subscribe</code> and <code>unsubscribe</code> methods.<p>
+When the plugin is constructed, it should emit the signal <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ready()</a> when it is ready to take in subscriptions. However, the signal <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ready()</a> should not be emitted in the plugin constructor. If the plugin is able to take in subscriptions immediately, you can use QMetaObject::invokeMethod with QueuedConnection to emit the signal when the main loop is entered the next time.<p>
+The plugin can fail or became ready again anytime because of things happening on the wire inside the plugin (socket closed, dbus service appears/disappears). Whenever the plugin has new information about this it should emit the signal <code>ready</code> or <code>failed</code> accordingly.<p>
+When the plugin is ready, it has to be able to handle <code>subscribe</code> and <code>unsubscribe</code> function calls. Also, after emitting <code>ready</code> it should be in a state where it is not subscribed to anything on the wire, since immediately after <code>ready</code> is emitted, the provider will place a subscribe call with all of the properties that should be subscribed.<p>
+Subscription failures or successes can be signaled with emitting <code>subscribeFailed</code> and <code>subscribeFinished</code>.<p>
+At last, but not least, the plugin can emit <code>valueChanged</code>, when it has a new value for any property. It is not required to only signal new values, the library takes care of keeping the old value and only emit change signals to the upper layers if the new value is really new.<p>
+An implementation of this interface doesn't have to care about threads at all, all of the methods, starting from the constructor will be only called from inside the Qt event loop of the main thread. This means that neither the constructor nor the <code>subscribe</code>, <code>unsubscribe</code> calls should block. They have to finish as soon as possible and signal the results later via signals. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="2b38e3432ffbe7006ffcbe696e4331dd"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::failed" ref="2b38e3432ffbe7006ffcbe696e4331dd" args="(QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::IProviderPlugin::failed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#659b0f0fcb7a740975fadc55c670bbf7">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="236ba3dcfb3fd566fffb89e05855dbf8"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::ready" ref="236ba3dcfb3fd566fffb89e05855dbf8" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::IProviderPlugin::ready </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#cb1ad4d2dafa9c137acff2a84916686f">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="96f3f5ea81859ddfef63c0e064cba365"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribe" ref="96f3f5ea81859ddfef63c0e064cba365" args="(QSet&lt; QString &gt; keys)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void ContextSubscriber::IProviderPlugin::subscribe </td>
+ <td>(</td>
+ <td class="paramtype">QSet&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Implemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a45ae69058525f998ed5eb0c275cac75">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="e62e69b51185cb0437230916cc306548"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribeFailed" ref="e62e69b51185cb0437230916cc306548" args="(QString failedKey, QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::IProviderPlugin::subscribeFailed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>failedKey</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#803a4bf54f2017025bc314fc14702513">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="68cf30909195fcadb259056ad8a8d9ba"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribeFinished" ref="68cf30909195fcadb259056ad8a8d9ba" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::IProviderPlugin::subscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4a3fcd522bbb2cc67c5821bcf15ed3d4">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9a5410b5898e5d1efde167752696f2f5"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::unsubscribe" ref="9a5410b5898e5d1efde167752696f2f5" args="(QSet&lt; QString &gt; keys)=0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual void ContextSubscriber::IProviderPlugin::unsubscribe </td>
+ <td>(</td>
+ <td class="paramtype">QSet&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Implemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4936904e1483e3f06c86e10d65a39e50">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3a106b2d49454337f9269b2ffb07647e"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::valueChanged" ref="3a106b2d49454337f9269b2ffb07647e" args="(QString key, QVariant value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::IProviderPlugin::valueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QVariant&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#5603631c4a9e7f6a4cbe05af6dfe5c48">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="iproviderplugin_8h-source.html">iproviderplugin.h</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle-members.html
new file mode 100644
index 00000000..558fa3e7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle-members.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::PropertyHandle Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c">commanderListener</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af">commandingEnabled</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#6001316d6491ca69ca5be43af4a36211">ignoreCommander</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#2626ff2603e1afcd8172008d5932006a">info</a>() const </td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#7f70f0de00c9781d43c99ca5d7f87eb1">instance</a>(const QString &amp;key)</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#22f3af77b3cd883beeab47c5f4365169">isSubscribePending</a>() const </td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#6d4c9e5006a080e7ae645ed15b1edb28">key</a>() const </td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea">myInfo</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d">myKey</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35">myProvider</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df">myValue</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#1d0a471cd063b862fcf09aafd4b125af">onValueChanged</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#1d523c4bc3538073f7f617456cd81a79">PropertyHandle</a>(const QString &amp;key)</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#1d4157822007d94fbdfa3af80a8fc758">setSubscribeFinished</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#3031c1cf5c5d3ccdcf91a2218c2e460e">setTypeCheck</a>(bool typeCheck)</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#0b12828c764b164dc276a84d46c2ae55">subscribe</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f">subscribeCount</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">subscribeCountLock</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16">subscribePending</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4">typeCheckEnabled</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#d1e8961717be9c3a813096092d1837a4">unsubscribe</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#067242c57b142940ba02b1e5a74548d5">updateProvider</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#bfeb2b16704e22adc33c31e162ef4e36">value</a>() const </td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#0ceee4d69e18be36e726af552aaa58ba">valueChanged</a>()</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">valueLock</a></td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td><td><code> [mutable, private]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html
new file mode 100644
index 00000000..114a0b93
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html
@@ -0,0 +1,589 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::PropertyHandle Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::PropertyHandle Class Reference</h1><!-- doxytag: class="ContextSubscriber::PropertyHandle" -->A common handle for a context property.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="propertyhandle_8h-source.html">propertyhandle.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_property_handle-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#0ceee4d69e18be36e726af552aaa58ba">valueChanged</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#0b12828c764b164dc276a84d46c2ae55">subscribe</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increase the <code>subscribeCount</code> of this context property and subscribe to it through the <code>myProvider</code> instance if neccessary. <a href="#0b12828c764b164dc276a84d46c2ae55"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#d1e8961717be9c3a813096092d1837a4">unsubscribe</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease the <code>subscribeCount</code> of this context property and unsubscribe from it through the <code>myProvider</code> instance if neccessary. <a href="#d1e8961717be9c3a813096092d1837a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#6d4c9e5006a080e7ae645ed15b1edb28">key</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#bfeb2b16704e22adc33c31e162ef4e36">value</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#22f3af77b3cd883beeab47c5f4365169">isSubscribePending</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#2626ff2603e1afcd8172008d5932006a">info</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#1d0a471cd063b862fcf09aafd4b125af">onValueChanged</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by the <code><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a></code> to change the value of the property. <a href="#1d0a471cd063b862fcf09aafd4b125af"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#1d4157822007d94fbdfa3af80a8fc758">setSubscribeFinished</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets <code>subscribePending</code> to false. <a href="#1d4157822007d94fbdfa3af80a8fc758"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#7f70f0de00c9781d43c99ca5d7f87eb1">instance</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#6001316d6491ca69ca5be43af4a36211">ignoreCommander</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#3031c1cf5c5d3ccdcf91a2218c2e460e">setTypeCheck</a> (bool typeCheck)</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#067242c57b142940ba02b1e5a74548d5">updateProvider</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decides who is the current provider of this property and sets up <code>myProvider</code> accordingly. <a href="#067242c57b142940ba02b1e5a74548d5"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#1d523c4bc3538073f7f617456cd81a79">PropertyHandle</a> (const QString &amp;key)</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35">myProvider</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> of this property. <a href="#da859c28e9320fcb89328cb5153a3d35"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea">myInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Metadata for this property. <a href="#aa914d9958d6a3f6b69d3b1446307cea"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f">subscribeCount</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of subscribed <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects subscribed to this property. <a href="#809f0eae9aef4ffec99f035b7e0e547f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">subscribeCountLock</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16">subscribePending</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True when the subscription has been started, but hasn't been finished yet (used by the waitForSubscription() feature). <a href="#584bab7e2a167ccf22f45a5cd3f46c16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d">myKey</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key of this property. <a href="#ba3e2fbd0fc8a8ab0db60efe934f7d6d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QReadWriteLock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">valueLock</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df">myValue</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current value of this property. <a href="#984638b2c34c7756fd17ff41de90a2df"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c">commanderListener</a> = new <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a>(commanderDBusType, commanderDBusName)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listener for ContextCommander's (dis)appearance. <a href="#8cb5a37f3a69e7019e9d7559e1e2993c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af">commandingEnabled</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the properties can be directed to ContextCommander. <a href="#cb7a882c3ef0423544754bd6fd5de7af"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4">typeCheckEnabled</a> = false</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether we check the type of the value received from the provider. <a href="#27312e770b51ebf5439e31361ceb46c4"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A common handle for a context property.
+<p>
+Only one handle exists at a time for a context property, no matter how much <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects are created for it.<p>
+Communication with the provider is done through the <code>myProvider</code> <code><a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a></code> instance, which is updated when needed because of registry changes. Handling of disappearance from the DBus and then reappearance on the DBus of the same provider is handled privately by <code><a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a></code>. If we don't know the current provider for this handle, then the <code>myProvider</code> pointer is 0.<p>
+<a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a> and <a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> instances are never deleted; they stick around until the process is terminated.<p>
+All of the <a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a> instances and Property provider instances are always created with the <code>QCoreApplication's</code> thread as the thread where they live. This is needed, because user threads can go away and we would like to have only one DBus connection. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="1d523c4bc3538073f7f617456cd81a79"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::PropertyHandle" ref="1d523c4bc3538073f7f617456cd81a79" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::PropertyHandle::PropertyHandle </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6001316d6491ca69ca5be43af4a36211"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::ignoreCommander" ref="6001316d6491ca69ca5be43af4a36211" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::ignoreCommander </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2626ff2603e1afcd8172008d5932006a"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::info" ref="2626ff2603e1afcd8172008d5932006a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="class_context_property_info.html">ContextPropertyInfo</a> * ContextSubscriber::PropertyHandle::info </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7f70f0de00c9781d43c99ca5d7f87eb1"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::instance" ref="7f70f0de00c9781d43c99ca5d7f87eb1" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a> * ContextSubscriber::PropertyHandle::instance </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="22f3af77b3cd883beeab47c5f4365169"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::isSubscribePending" ref="22f3af77b3cd883beeab47c5f4365169" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextSubscriber::PropertyHandle::isSubscribePending </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6d4c9e5006a080e7ae645ed15b1edb28"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::key" ref="6d4c9e5006a080e7ae645ed15b1edb28" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextSubscriber::PropertyHandle::key </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1d0a471cd063b862fcf09aafd4b125af"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::onValueChanged" ref="1d0a471cd063b862fcf09aafd4b125af" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::onValueChanged </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Used by the <code><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a></code> to change the value of the property.
+<p>
+Before changing the value it checks the type if type checks are enabled. The verification errors are signalled on the stderr. After the check it updates the value and emits the <a class="el" href="class_context_subscriber_1_1_property_handle.html#0ceee4d69e18be36e726af552aaa58ba">valueChanged()</a> signal.
+</div>
+</div><p>
+<a class="anchor" name="1d4157822007d94fbdfa3af80a8fc758"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::setSubscribeFinished" ref="1d4157822007d94fbdfa3af80a8fc758" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::setSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets <code>subscribePending</code> to false.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3031c1cf5c5d3ccdcf91a2218c2e460e"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::setTypeCheck" ref="3031c1cf5c5d3ccdcf91a2218c2e460e" args="(bool typeCheck)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::setTypeCheck </td>
+ <td>(</td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>typeCheck</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0b12828c764b164dc276a84d46c2ae55"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribe" ref="0b12828c764b164dc276a84d46c2ae55" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::subscribe </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Increase the <code>subscribeCount</code> of this context property and subscribe to it through the <code>myProvider</code> instance if neccessary.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d1e8961717be9c3a813096092d1837a4"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::unsubscribe" ref="d1e8961717be9c3a813096092d1837a4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::unsubscribe </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Decrease the <code>subscribeCount</code> of this context property and unsubscribe from it through the <code>myProvider</code> instance if neccessary.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="067242c57b142940ba02b1e5a74548d5"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::updateProvider" ref="067242c57b142940ba02b1e5a74548d5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::updateProvider </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Decides who is the current provider of this property and sets up <code>myProvider</code> accordingly.
+<p>
+If the provider has changed then renews the subscriptions.
+</div>
+</div><p>
+<a class="anchor" name="bfeb2b16704e22adc33c31e162ef4e36"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::value" ref="bfeb2b16704e22adc33c31e162ef4e36" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextSubscriber::PropertyHandle::value </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0ceee4d69e18be36e726af552aaa58ba"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::valueChanged" ref="0ceee4d69e18be36e726af552aaa58ba" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::valueChanged </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="8cb5a37f3a69e7019e9d7559e1e2993c"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::commanderListener" ref="8cb5a37f3a69e7019e9d7559e1e2993c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a> * <a class="el" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c">ContextSubscriber::PropertyHandle::commanderListener</a> = new <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a>(commanderDBusType, commanderDBusName)<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Listener for ContextCommander's (dis)appearance.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cb7a882c3ef0423544754bd6fd5de7af"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::commandingEnabled" ref="cb7a882c3ef0423544754bd6fd5de7af" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af">ContextSubscriber::PropertyHandle::commandingEnabled</a> = true<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Whether the properties can be directed to ContextCommander.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="aa914d9958d6a3f6b69d3b1446307cea"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myInfo" ref="aa914d9958d6a3f6b69d3b1446307cea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a>* <a class="el" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle::myInfo</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Metadata for this property.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ba3e2fbd0fc8a8ab0db60efe934f7d6d"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myKey" ref="ba3e2fbd0fc8a8ab0db60efe934f7d6d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle::myKey</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Key of this property.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="da859c28e9320fcb89328cb5153a3d35"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myProvider" ref="da859c28e9320fcb89328cb5153a3d35" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a>* <a class="el" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35">ContextSubscriber::PropertyHandle::myProvider</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<a class="el" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> of this property.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="984638b2c34c7756fd17ff41de90a2df"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myValue" ref="984638b2c34c7756fd17ff41de90a2df" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant <a class="el" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle::myValue</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Current value of this property.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="809f0eae9aef4ffec99f035b7e0e547f"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribeCount" ref="809f0eae9aef4ffec99f035b7e0e547f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int <a class="el" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f">ContextSubscriber::PropertyHandle::subscribeCount</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Number of subscribed <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> objects subscribed to this property.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e7fb88f203671edb264655c06bc2e1f0"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribeCountLock" ref="e7fb88f203671edb264655c06bc2e1f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMutex <a class="el" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle::subscribeCountLock</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="584bab7e2a167ccf22f45a5cd3f46c16"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribePending" ref="584bab7e2a167ccf22f45a5cd3f46c16" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16">ContextSubscriber::PropertyHandle::subscribePending</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+True when the subscription has been started, but hasn't been finished yet (used by the waitForSubscription() feature).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="27312e770b51ebf5439e31361ceb46c4"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::typeCheckEnabled" ref="27312e770b51ebf5439e31361ceb46c4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4">ContextSubscriber::PropertyHandle::typeCheckEnabled</a> = false<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Whether we check the type of the value received from the provider.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d3d31e74ac2b7e1727ff0947895f4fc1"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::valueLock" ref="d3d31e74ac2b7e1727ff0947895f4fc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QReadWriteLock <a class="el" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle::valueLock</a><code> [mutable, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="propertyhandle_8h-source.html">propertyhandle.h</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a><li><a class="el" href="propertyhandle_8cpp.html">propertyhandle.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider-members.html
new file mode 100644
index 00000000..c8c8090d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::Provider Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#1e2136dc7c4ad62b020c7ed95914bb67">constructPlugin</a>()</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f">FAILED</a> enum value</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#34d90db9ddc691d2b687bcbeabb65d7e">get</a>(const QString &amp;key) const </td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#b78d5f8ff72bedb037f1f2b15cbda9b9">handleSubscribes</a>()</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46">INITIALIZING</a> enum value</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#cf3f43a824c33ffaf349feeb9c34b5d0">instance</a>(const ContextProviderInfo &amp;providerInfo)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#0b9a9637b9bdd8a3989cfccb14c8a24b">onPluginFailed</a>(QString error)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#c87916df512014e5048eda7ae9daf3b9">onPluginReady</a>()</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#d18a07fdfb76dfa71f15f4b3e1200793">onPluginSubscribeFailed</a>(QString failedKey, QString error)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#cbbadf63086f6b37ff9a9e8e64180032">onPluginSubscribeFinished</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#c04c071faa737c9b7f029ef0125f6a1c">onPluginValueChanged</a>(QString key, QVariant newValue)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e">plugin</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">PluginState</a> enum name</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">pluginState</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#e4221b5f1438404820abee8de2ed3daa">Provider</a>(const ContextProviderInfo &amp;providerInfo)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">providerInfo</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#9e3fb1afd2eea8cb4b588f3d80bf2e3e">queuedCall</a>(const char *method)</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#15135b7f30c409e3b8d0cd856444803a">QueuedInvoker</a>()</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff">queueOnce</a>(const char *method)</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1">READY</a> enum value</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#3046efee2679aa33602deb4f27877eba">signalSubscribeFinished</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#063cf90bfd10f0bca4ed471f2c3a9c1e">subscribe</a>(const QString &amp;key)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9">subscribedKeys</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#cdb674013818463a88ce1799885258be">subscribeFinished</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">subscribeLock</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d">toSubscribe</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c">toUnsubscribe</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#a6aa042d4a006eb0930d7805139e801f">unsubscribe</a>(const QString &amp;key)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#6288252eecf25f879ecb7c1a507a9088">valueChanged</a>(QString key)</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed">values</a></td><td><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td><td><code> [private]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider.html
new file mode 100644
index 00000000..9e63947d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider.html
@@ -0,0 +1,627 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::Provider Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::Provider Class Reference</h1><!-- doxytag: class="ContextSubscriber::Provider" --><!-- doxytag: inherits="ContextSubscriber::QueuedInvoker" -->Connects to a group of properties via the help of a plugin.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="provider_8h-source.html">provider.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_provider-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#cdb674013818463a88ce1799885258be">subscribeFinished</a> (QString key)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#6288252eecf25f879ecb7c1a507a9088">valueChanged</a> (QString key)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#063cf90bfd10f0bca4ed471f2c3a9c1e">subscribe</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Schedules a property to be subscribed to. <a href="#063cf90bfd10f0bca4ed471f2c3a9c1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a6aa042d4a006eb0930d7805139e801f">unsubscribe</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Schedules a property to be unsubscribed from when the main loop is entered the next time. <a href="#a6aa042d4a006eb0930d7805139e801f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#34d90db9ddc691d2b687bcbeabb65d7e">get</a> (const QString &amp;key) const </td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#cf3f43a824c33ffaf349feeb9c34b5d0">instance</a> (const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;<a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">providerInfo</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a singleton for the named <code>plugin</code> with the <code>constructionString</code>. <a href="#cf3f43a824c33ffaf349feeb9c34b5d0"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">PluginState</a> { <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46">INITIALIZING</a>,
+<a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1">READY</a>,
+<a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f">FAILED</a>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#c87916df512014e5048eda7ae9daf3b9">onPluginReady</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates <code>pluginState</code> to <code>READY</code> and requests subscription for the keys that should be subscribed. <a href="#c87916df512014e5048eda7ae9daf3b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#0b9a9637b9bdd8a3989cfccb14c8a24b">onPluginFailed</a> (QString error)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates <code>pluginState</code> to <code>FAILED</code> and signals subscribeFinished for keys we are trying to subscribe to. <a href="#0b9a9637b9bdd8a3989cfccb14c8a24b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#cbbadf63086f6b37ff9a9e8e64180032">onPluginSubscribeFinished</a> (QString key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards the call to <code>signalSubscribeFinished</code>. <a href="#cbbadf63086f6b37ff9a9e8e64180032"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#d18a07fdfb76dfa71f15f4b3e1200793">onPluginSubscribeFailed</a> (QString failedKey, QString error)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards the call to <code>signalSubscribeFinished</code>, after logging a warning. <a href="#d18a07fdfb76dfa71f15f4b3e1200793"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#c04c071faa737c9b7f029ef0125f6a1c">onPluginValueChanged</a> (QString key, QVariant newValue)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards the <code>newValue</code> for <code>key</code> received from the plugin to the upper layers via <code><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a></code>. <a href="#c04c071faa737c9b7f029ef0125f6a1c"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#e4221b5f1438404820abee8de2ed3daa">Provider</a> (const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;<a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">providerInfo</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores the passed plugin name and construction paramater, then moves into the main thread and queues a constructPlugin call. <a href="#e4221b5f1438404820abee8de2ed3daa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Q_INVOKABLE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#b78d5f8ff72bedb037f1f2b15cbda9b9">handleSubscribes</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Executed when the main loop is entered and we have previously scheduled subscriptions / unsubscriptions. <a href="#b78d5f8ff72bedb037f1f2b15cbda9b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Q_INVOKABLE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#1e2136dc7c4ad62b020c7ed95914bb67">constructPlugin</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decides which plugin to instantiate based on the <code>plugin</code> passed to the constructor. <a href="#1e2136dc7c4ad62b020c7ed95914bb67"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#3046efee2679aa33602deb4f27877eba">signalSubscribeFinished</a> (QString key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The plugin has finished subscribing to a key, signals this fact to the upper layer. <a href="#3046efee2679aa33602deb4f27877eba"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e">plugin</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plugin instance communicating with the concrete provider. <a href="#620db59b31c197b98ee64369fd46b30e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">PluginState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">pluginState</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">providerInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameters used to initialize the plugin. <a href="#6e8a91f8a673fb8f2f645212844eb421"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">subscribeLock</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QSet&lt; QString &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d">toSubscribe</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keys pending for subscription. <a href="#cbf130166861d576d906fc99da9b2d6d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QSet&lt; QString &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c">toUnsubscribe</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keys pending for unsubscription. <a href="#ee2cca89bff8d2bc65039a42cb32563c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QSet&lt; QString &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9">subscribedKeys</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The keys that should be currently subscribed to. <a href="#6b07417f7e024f8dac5b3b327383dbe9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMap&lt; QString, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed">values</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cache of values already received from the plugin. <a href="#6e41ed2ec544fc16bd399d8fbcec46ed"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Connects to a group of properties via the help of a plugin.
+<p>
+Each instance of this class keeps a plugin dependent communication channel (DBus, shared memory, etc.) open and handles subscriptions, value changes of the properties belonging to the provider on the other end of the channel.<p>
+This class is thread safe, the <code>instance</code>, <code>subscribe</code> and <code>unsubscribe</code> methods can be called from any threads. However this class also guarantees that the signal <code>subscribeFinished</code> and <code>valueChanged</code> will be always emitted from inside the main thread's main loop. <hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="18f291fc00e50055a02525f70e38a52b"></a><!-- doxytag: member="ContextSubscriber::Provider::PluginState" ref="18f291fc00e50055a02525f70e38a52b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">ContextSubscriber::Provider::PluginState</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46"></a><!-- doxytag: member="INITIALIZING" ref="18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46" args="" -->INITIALIZING</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1"></a><!-- doxytag: member="READY" ref="18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1" args="" -->READY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f"></a><!-- doxytag: member="FAILED" ref="18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f" args="" -->FAILED</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+</div>
+</div><p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="e4221b5f1438404820abee8de2ed3daa"></a><!-- doxytag: member="ContextSubscriber::Provider::Provider" ref="e4221b5f1438404820abee8de2ed3daa" args="(const ContextProviderInfo &amp;providerInfo)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::Provider::Provider </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>providerInfo</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stores the passed plugin name and construction paramater, then moves into the main thread and queues a constructPlugin call.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1e2136dc7c4ad62b020c7ed95914bb67"></a><!-- doxytag: member="ContextSubscriber::Provider::constructPlugin" ref="1e2136dc7c4ad62b020c7ed95914bb67" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::constructPlugin </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Decides which plugin to instantiate based on the <code>plugin</code> passed to the constructor.
+<p>
+Always called in the main loop after the constructor is finished. Each plugin library implements a function which can create new instances of that plugin (TODO: come up with the name of the function).
+</div>
+</div><p>
+<a class="anchor" name="34d90db9ddc691d2b687bcbeabb65d7e"></a><!-- doxytag: member="ContextSubscriber::Provider::get" ref="34d90db9ddc691d2b687bcbeabb65d7e" args="(const QString &amp;key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> ContextSubscriber::Provider::get </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b78d5f8ff72bedb037f1f2b15cbda9b9"></a><!-- doxytag: member="ContextSubscriber::Provider::handleSubscribes" ref="b78d5f8ff72bedb037f1f2b15cbda9b9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::handleSubscribes </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Executed when the main loop is entered and we have previously scheduled subscriptions / unsubscriptions.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cf3f43a824c33ffaf349feeb9c34b5d0"></a><!-- doxytag: member="ContextSubscriber::Provider::instance" ref="cf3f43a824c33ffaf349feeb9c34b5d0" args="(const ContextProviderInfo &amp;providerInfo)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> * ContextSubscriber::Provider::instance </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>providerInfo</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a singleton for the named <code>plugin</code> with the <code>constructionString</code>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0b9a9637b9bdd8a3989cfccb14c8a24b"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginFailed" ref="0b9a9637b9bdd8a3989cfccb14c8a24b" args="(QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::onPluginFailed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Updates <code>pluginState</code> to <code>FAILED</code> and signals subscribeFinished for keys we are trying to subscribe to.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c87916df512014e5048eda7ae9daf3b9"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginReady" ref="c87916df512014e5048eda7ae9daf3b9" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::onPluginReady </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Updates <code>pluginState</code> to <code>READY</code> and requests subscription for the keys that should be subscribed.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d18a07fdfb76dfa71f15f4b3e1200793"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginSubscribeFailed" ref="d18a07fdfb76dfa71f15f4b3e1200793" args="(QString failedKey, QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::onPluginSubscribeFailed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Forwards the call to <code>signalSubscribeFinished</code>, after logging a warning.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cbbadf63086f6b37ff9a9e8e64180032"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginSubscribeFinished" ref="cbbadf63086f6b37ff9a9e8e64180032" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::onPluginSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Forwards the call to <code>signalSubscribeFinished</code>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c04c071faa737c9b7f029ef0125f6a1c"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginValueChanged" ref="c04c071faa737c9b7f029ef0125f6a1c" args="(QString key, QVariant newValue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::onPluginValueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QVariant&nbsp;</td>
+ <td class="paramname"> <em>newValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Forwards the <code>newValue</code> for <code>key</code> received from the plugin to the upper layers via <code><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a></code>.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3046efee2679aa33602deb4f27877eba"></a><!-- doxytag: member="ContextSubscriber::Provider::signalSubscribeFinished" ref="3046efee2679aa33602deb4f27877eba" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::signalSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The plugin has finished subscribing to a key, signals this fact to the upper layer.
+<p>
+The final API for this is the <code>waitForSubscription()</code> method in <code><a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a></code>.
+</div>
+</div><p>
+<a class="anchor" name="063cf90bfd10f0bca4ed471f2c3a9c1e"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribe" ref="063cf90bfd10f0bca4ed471f2c3a9c1e" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextSubscriber::Provider::subscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Schedules a property to be subscribed to.
+<p>
+Returns true if and only if the main loop has to run for the subscription to be finalized.
+</div>
+</div><p>
+<a class="anchor" name="cdb674013818463a88ce1799885258be"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribeFinished" ref="cdb674013818463a88ce1799885258be" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::subscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a6aa042d4a006eb0930d7805139e801f"></a><!-- doxytag: member="ContextSubscriber::Provider::unsubscribe" ref="a6aa042d4a006eb0930d7805139e801f" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::unsubscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Schedules a property to be unsubscribed from when the main loop is entered the next time.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6288252eecf25f879ecb7c1a507a9088"></a><!-- doxytag: member="ContextSubscriber::Provider::valueChanged" ref="6288252eecf25f879ecb7c1a507a9088" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::valueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="620db59b31c197b98ee64369fd46b30e"></a><!-- doxytag: member="ContextSubscriber::Provider::plugin" ref="620db59b31c197b98ee64369fd46b30e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a>* <a class="el" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e">ContextSubscriber::Provider::plugin</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Plugin instance communicating with the concrete provider.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="904cca899aba13b6d356fea73737169e"></a><!-- doxytag: member="ContextSubscriber::Provider::pluginState" ref="904cca899aba13b6d356fea73737169e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">PluginState</a> <a class="el" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">ContextSubscriber::Provider::pluginState</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6e8a91f8a673fb8f2f645212844eb421"></a><!-- doxytag: member="ContextSubscriber::Provider::providerInfo" ref="6e8a91f8a673fb8f2f645212844eb421" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> <a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">ContextSubscriber::Provider::providerInfo</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parameters used to initialize the plugin.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6b07417f7e024f8dac5b3b327383dbe9"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribedKeys" ref="6b07417f7e024f8dac5b3b327383dbe9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;QString&gt; <a class="el" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9">ContextSubscriber::Provider::subscribedKeys</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The keys that should be currently subscribed to.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="154fa6041cd471ac46c1038f312ffde6"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribeLock" ref="154fa6041cd471ac46c1038f312ffde6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMutex <a class="el" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">ContextSubscriber::Provider::subscribeLock</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cbf130166861d576d906fc99da9b2d6d"></a><!-- doxytag: member="ContextSubscriber::Provider::toSubscribe" ref="cbf130166861d576d906fc99da9b2d6d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;QString&gt; <a class="el" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d">ContextSubscriber::Provider::toSubscribe</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Keys pending for subscription.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ee2cca89bff8d2bc65039a42cb32563c"></a><!-- doxytag: member="ContextSubscriber::Provider::toUnsubscribe" ref="ee2cca89bff8d2bc65039a42cb32563c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;QString&gt; <a class="el" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c">ContextSubscriber::Provider::toUnsubscribe</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Keys pending for unsubscription.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6e41ed2ec544fc16bd399d8fbcec46ed"></a><!-- doxytag: member="ContextSubscriber::Provider::values" ref="6e41ed2ec544fc16bd399d8fbcec46ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMap&lt;QString, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&gt; <a class="el" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed">ContextSubscriber::Provider::values</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A cache of values already received from the plugin.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="provider_8h-source.html">provider.h</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a><li><a class="el" href="provider_8cpp.html">provider.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker-members.html
new file mode 100644
index 00000000..6c3b513e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::QueuedInvoker Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32">callQueue</a></td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c">callQueueLock</a></td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#b58352ea20647142ba50d529fc1b651b">onQueuedCall</a>(const char *method)</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#9e3fb1afd2eea8cb4b588f3d80bf2e3e">queuedCall</a>(const char *method)</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#15135b7f30c409e3b8d0cd856444803a">QueuedInvoker</a>()</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff">queueOnce</a>(const char *method)</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td><td><code> [protected]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker.html
new file mode 100644
index 00000000..4f2ebb94
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::QueuedInvoker Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_queued_invoker.html">QueuedInvoker</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::QueuedInvoker Class Reference</h1><!-- doxytag: class="ContextSubscriber::QueuedInvoker" -->A class that can invoke its own methods in a delayed way.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_queued_invoker-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#9e3fb1afd2eea8cb4b588f3d80bf2e3e">queuedCall</a> (const char *method)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#15135b7f30c409e3b8d0cd856444803a">QueuedInvoker</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff">queueOnce</a> (const char *method)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the method <em>method</em> to be invoked when the event loop of this object runs next time. <a href="#431ca591c990aa22bffb1cfed4b42aff"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#b58352ea20647142ba50d529fc1b651b">onQueuedCall</a> (const char *method)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Slot which is executed when the event loop of this object runs. <a href="#b58352ea20647142ba50d529fc1b651b"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c">callQueueLock</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Protects the callQueue. <a href="#ea2e2e6956a76f58083214bbb327a04c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QSet&lt; QString &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32">callQueue</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Methods to be invoked. <a href="#c786085eae3605b42b0e7f3cda99fe32"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A class that can invoke its own methods in a delayed way.
+<p>
+Via the method <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff" title="Sets the method method to be invoked when the event loop of this object runs next...">QueuedInvoker::queueOnce</a>, the given method is set to be invoked when the event loop of the object is entered. Each method is queued at most once. <a class="el" href="class_context_subscriber_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a> sends a signal to itself, and when the signal is processed, the method is invoked.<p>
+<a class="el" href="class_context_subscriber_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a> is normally used by subclassing it. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="15135b7f30c409e3b8d0cd856444803a"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::QueuedInvoker" ref="15135b7f30c409e3b8d0cd856444803a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::QueuedInvoker::QueuedInvoker </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="b58352ea20647142ba50d529fc1b651b"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::onQueuedCall" ref="b58352ea20647142ba50d529fc1b651b" args="(const char *method)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::QueuedInvoker::onQueuedCall </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>method</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Slot which is executed when the event loop of this object runs.
+<p>
+Calls all the methods in the queue.
+</div>
+</div><p>
+<a class="anchor" name="9e3fb1afd2eea8cb4b588f3d80bf2e3e"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::queuedCall" ref="9e3fb1afd2eea8cb4b588f3d80bf2e3e" args="(const char *method)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::QueuedInvoker::queuedCall </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>method</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="431ca591c990aa22bffb1cfed4b42aff"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::queueOnce" ref="431ca591c990aa22bffb1cfed4b42aff" args="(const char *method)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::QueuedInvoker::queueOnce </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>method</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the method <em>method</em> to be invoked when the event loop of this object runs next time.
+<p>
+If the method was already in the queue, it won't be inserted again.
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="c786085eae3605b42b0e7f3cda99fe32"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::callQueue" ref="c786085eae3605b42b0e7f3cda99fe32" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;QString&gt; <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32">ContextSubscriber::QueuedInvoker::callQueue</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Methods to be invoked.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ea2e2e6956a76f58083214bbb327a04c"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::callQueueLock" ref="ea2e2e6956a76f58083214bbb327a04c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMutex <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c">ContextSubscriber::QueuedInvoker::callQueueLock</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Protects the callQueue.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a><li><a class="el" href="queuedinvoker_8cpp.html">queuedinvoker.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface-members.html
new file mode 100644
index 00000000..e14faaf1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::SubscriberInterface Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#af5cbaccd8318fd13389b2da11b03e7c">Changed</a>(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1c7ee2c99941a60bc1a3d43aa794063b">connectNotify</a>(const char *signal)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#9f726b29f65d7340ac2df345cf462c66">disconnectNotify</a>(const char *signal)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [protected]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">interfaceName</a></td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [protected, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#913f90d59398e97fbb363c84b0d3c403">mergeNullsWithMap</a>(QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const </td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#20de105eef3bdd1de40708536a7f4238">onChanged</a>(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#5405b720d8596ab0abbc2ce817a61b14">onSubscribeFinished</a>(QDBusPendingCallWatcher *watcher)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9b18edfb5899e8884a1c3c7c7d5caff">operator=</a>(const SubscriberInterface &amp;other)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#da9126ec7363321f97124a4edc6553ec">subscribe</a>(QSet&lt; QString &gt; keys)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#0e99f03c74e942caed4a12013771a4d2">subscribeFailed</a>(QList&lt; QString &gt; keys, QString error)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1705fc2b48624313ef52f279ede97e5b">subscribeFinished</a>(QList&lt; QString &gt; keys)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#87e096c9a1ecfb1453d29722731fbb51">SubscriberInterface</a>(const QDBusConnection connection, const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#7acaf30ea27426e6aa00207e0310980c">SubscriberInterface</a>(const SubscriberInterface &amp;other)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#4227c404be7915805dbab93e0704914d">unsubscribe</a>(QSet&lt; QString &gt; keys)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#960dc79d9b47fbbda16e6eed05826c5d">valuesChanged</a>(QMap&lt; QString, QVariant &gt; values)</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td><td><code> [signal]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface.html
new file mode 100644
index 00000000..019739a5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface.html
@@ -0,0 +1,453 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::SubscriberInterface Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::SubscriberInterface Class Reference</h1><!-- doxytag: class="ContextSubscriber::SubscriberInterface" --><code>#include &lt;<a class="el" href="subscriberinterface_8h-source.html">subscriberinterface.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_subscriber_1_1_subscriber_interface-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#960dc79d9b47fbbda16e6eed05826c5d">valuesChanged</a> (QMap&lt; QString, QVariant &gt; values)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1705fc2b48624313ef52f279ede97e5b">subscribeFinished</a> (QList&lt; QString &gt; keys)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#0e99f03c74e942caed4a12013771a4d2">subscribeFailed</a> (QList&lt; QString &gt; keys, QString error)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#af5cbaccd8318fd13389b2da11b03e7c">Changed</a> (const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#87e096c9a1ecfb1453d29722731fbb51">SubscriberInterface</a> (const QDBusConnection connection, const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs the <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>. <a href="#87e096c9a1ecfb1453d29722731fbb51"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#da9126ec7363321f97124a4edc6553ec">subscribe</a> (QSet&lt; QString &gt; keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls the Subscribe function over DBus asynchronously. <a href="#da9126ec7363321f97124a4edc6553ec"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#4227c404be7915805dbab93e0704914d">unsubscribe</a> (QSet&lt; QString &gt; keys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls the Unsubscribe function over DBus asynchronously. <a href="#4227c404be7915805dbab93e0704914d"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1c7ee2c99941a60bc1a3d43aa794063b">connectNotify</a> (const char *signal)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#9f726b29f65d7340ac2df345cf462c66">disconnectNotify</a> (const char *signal)</td></tr>
+
+<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">interfaceName</a> = &quot;org.freedesktop.ContextKit.Subscriber&quot;</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#5405b720d8596ab0abbc2ce817a61b14">onSubscribeFinished</a> (QDBusPendingCallWatcher *watcher)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is called when the asynchronous DBus call to Subscribe has finished. <a href="#5405b720d8596ab0abbc2ce817a61b14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#20de105eef3bdd1de40708536a7f4238">onChanged</a> (const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Processes the results of the Changed signal which comes over DBus. <a href="#20de105eef3bdd1de40708536a7f4238"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#7acaf30ea27426e6aa00207e0310980c">SubscriberInterface</a> (const <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> &amp;other)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9b18edfb5899e8884a1c3c7c7d5caff">operator=</a> (const <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> &amp;other)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#913f90d59398e97fbb363c84b0d3c403">mergeNullsWithMap</a> (QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A helper function. Sets the values of given keys to a null QVariant in a QMap. <a href="#913f90d59398e97fbb363c84b0d3c403"></a><br></td></tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="87e096c9a1ecfb1453d29722731fbb51"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::SubscriberInterface" ref="87e096c9a1ecfb1453d29722731fbb51" args="(const QDBusConnection connection, const QString &amp;busName, const QString &amp;objectPath, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SubscriberInterface::SubscriberInterface </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusConnection&nbsp;</td>
+ <td class="paramname"> <em>connection</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>busName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>objectPath</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs the <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>.
+<p>
+Connects to the DBus object specified by <em>busType</em> (session or system bus), <em>busName</em> and <em>objectPath</em>.
+</div>
+</div><p>
+<a class="anchor" name="7acaf30ea27426e6aa00207e0310980c"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::SubscriberInterface" ref="7acaf30ea27426e6aa00207e0310980c" args="(const SubscriberInterface &amp;other)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::SubscriberInterface::SubscriberInterface </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="af5cbaccd8318fd13389b2da11b03e7c"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::Changed" ref="af5cbaccd8318fd13389b2da11b03e7c" args="(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::Changed </td>
+ <td>(</td>
+ <td class="paramtype">const QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>unknownKeys</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1c7ee2c99941a60bc1a3d43aa794063b"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::connectNotify" ref="1c7ee2c99941a60bc1a3d43aa794063b" args="(const char *signal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::connectNotify </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>signal</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9f726b29f65d7340ac2df345cf462c66"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::disconnectNotify" ref="9f726b29f65d7340ac2df345cf462c66" args="(const char *signal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::disconnectNotify </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>signal</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="913f90d59398e97fbb363c84b0d3c403"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::mergeNullsWithMap" ref="913f90d59398e97fbb363c84b0d3c403" args="(QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMap&lt; QString, QVariant &gt; &amp; SubscriberInterface::mergeNullsWithMap </td>
+ <td>(</td>
+ <td class="paramtype">QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>map</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QStringList&nbsp;</td>
+ <td class="paramname"> <em>nulls</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A helper function. Sets the values of given keys to a null QVariant in a QMap.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="20de105eef3bdd1de40708536a7f4238"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::onChanged" ref="20de105eef3bdd1de40708536a7f4238" args="(const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::onChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QMap&lt; QString, QVariant &gt; &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>unknownKeys</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Processes the results of the Changed signal which comes over DBus.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5405b720d8596ab0abbc2ce817a61b14"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::onSubscribeFinished" ref="5405b720d8596ab0abbc2ce817a61b14" args="(QDBusPendingCallWatcher *watcher)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::onSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QDBusPendingCallWatcher *&nbsp;</td>
+ <td class="paramname"> <em>watcher</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Is called when the asynchronous DBus call to Subscribe has finished.
+<p>
+Emits the signal valuesChanged with the return values of the subscribed keys.
+</div>
+</div><p>
+<a class="anchor" name="a9b18edfb5899e8884a1c3c7c7d5caff"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::operator=" ref="a9b18edfb5899e8884a1c3c7c7d5caff" args="(const SubscriberInterface &amp;other)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>&amp; ContextSubscriber::SubscriberInterface::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="da9126ec7363321f97124a4edc6553ec"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::subscribe" ref="da9126ec7363321f97124a4edc6553ec" args="(QSet&lt; QString &gt; keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::subscribe </td>
+ <td>(</td>
+ <td class="paramtype">QSet&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls the Subscribe function over DBus asynchronously.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0e99f03c74e942caed4a12013771a4d2"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::subscribeFailed" ref="0e99f03c74e942caed4a12013771a4d2" args="(QList&lt; QString &gt; keys, QString error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::subscribeFailed </td>
+ <td>(</td>
+ <td class="paramtype">QList&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>error</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1705fc2b48624313ef52f279ede97e5b"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::subscribeFinished" ref="1705fc2b48624313ef52f279ede97e5b" args="(QList&lt; QString &gt; keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::subscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QList&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4227c404be7915805dbab93e0704914d"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::unsubscribe" ref="4227c404be7915805dbab93e0704914d" args="(QSet&lt; QString &gt; keys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::unsubscribe </td>
+ <td>(</td>
+ <td class="paramtype">QSet&lt; QString &gt;&nbsp;</td>
+ <td class="paramname"> <em>keys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calls the Unsubscribe function over DBus asynchronously.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="960dc79d9b47fbbda16e6eed05826c5d"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::valuesChanged" ref="960dc79d9b47fbbda16e6eed05826c5d" args="(QMap&lt; QString, QVariant &gt; values)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void SubscriberInterface::valuesChanged </td>
+ <td>(</td>
+ <td class="paramtype">QMap&lt; QString, QVariant &gt;&nbsp;</td>
+ <td class="paramname"> <em>values</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="6ebfcf76e474281993e681afb15975c9"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::interfaceName" ref="6ebfcf76e474281993e681afb15975c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char * <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">SubscriberInterface::interfaceName</a> = &quot;org.freedesktop.ContextKit.Subscriber&quot;<code> [static, protected]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="subscriberinterface_8h-source.html">subscriberinterface.h</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a><li><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_zero_logger-members.html b/libcontextsubscriber/doc/html/class_context_zero_logger-members.html
new file mode 100644
index 00000000..d9e02b9c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_zero_logger-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextZeroLogger Member List</h1>This is the complete list of members for <a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>()</td><td><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">operator&lt;&lt;</a>(const T &amp;)</td><td><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_zero_logger.html b/libcontextsubscriber/doc/html/class_context_zero_logger.html
new file mode 100644
index 00000000..20fa743d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_zero_logger.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextZeroLogger Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextZeroLogger Class Reference</h1><!-- doxytag: class="ContextZeroLogger" -->A fake logging class.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="logging_8h-source.html">logging.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_context_zero_logger-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Does nothing. <a href="#95e0d40b90ed9c3f360067a3dadaa0c7"></a><br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">operator&lt;&lt;</a> (const T &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does nothing. <a href="#ae39e44e016d29a07bd076470bc171bb"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A fake logging class.
+<p>
+When a certain debug message is disabled at a compile-time the debug macros expand to this class. It has all functions declared as <b>inline</b> and fundamentally kills all input targeted at it. The compiler optimizes the <b>inline</b> by not calling the functions at all and not storing the strings at all. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="95e0d40b90ed9c3f360067a3dadaa0c7"></a><!-- doxytag: member="ContextZeroLogger::ContextZeroLogger" ref="95e0d40b90ed9c3f360067a3dadaa0c7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextZeroLogger::ContextZeroLogger </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor. Does nothing.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ae39e44e016d29a07bd076470bc171bb"></a><!-- doxytag: member="ContextZeroLogger::operator&lt;&lt;" ref="ae39e44e016d29a07bd076470bc171bb" args="(const T &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>&amp; ContextZeroLogger::operator&lt;&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Does nothing.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="logging_8h-source.html">logging.h</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_info_backend-members.html b/libcontextsubscriber/doc/html/class_info_backend-members.html
new file mode 100644
index 00000000..c10ce600
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_backend-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoBackend Member List</h1>This is the complete list of members for <a class="el" href="class_info_backend.html">InfoBackend</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8">backendInstance</a></td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#d770d30f718c8110a6e14371293829b9">checkAndEmitKeyChanged</a>(const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#26dea7269e293f178ca7a855bd8085eb">checkAndEmitKeysAdded</a>(const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#2229c5a5b2c85b50746497bed16735c2">checkAndEmitKeysRemoved</a>(const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af">connectCount</a></td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd">connectNotify</a>(const char *signal)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#e8204b17f82806015d23088f8c6776da">destroyInstance</a>()</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3">disconnectNotify</a>(const char *signal)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d">docForKey</a>(QString key) const =0</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#4b9aafee7309b9e3a82eb3ca99ca173f">InfoBackend</a>(QObject *parent=0)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#9a4973dbc3ed8a08af2cc60e39d1e455">InfoBackend</a>(const InfoBackend &amp;)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackendUnitTest</a> class</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#84aa2becdb5d27499636a31d69e66683">InfoCdbBackend</a> class</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#d3b9d468ea4d158bc8f3a258ab5d72be">InfoCdbBackendUnitTest</a> class</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#53ddc2857121c7ec9f2e1205ea05802f">InfoTestBackend</a> class</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#0fa89bc3c8483b7168bf136420b43fa4">InfoXmlBackend</a> class</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#905a056999dd60bfa46a1cc023ee9066">InfoXmlBackendUnitTest</a> class</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94">instance</a>(const QString &amp;backendName=&quot;&quot;)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52">keyChanged</a>(const QString &amp;key)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303">keyDeclared</a>(QString key) const =0</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd">keysAdded</a>(const QStringList &amp;newKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63">keysChanged</a>(const QStringList &amp;currentKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245">keysRemoved</a>(const QStringList &amp;removedKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4">listChanged</a>()</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95">listKeys</a>() const =0</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3">name</a>() const =0</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#90791486e0755836a52ff3f59279dc95">operator=</a>(const InfoBackend &amp;)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8">providersForKey</a>(QString key) const =0</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [pure virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315">typeForKey</a>(QString key) const =0</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [pure virtual]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_info_backend.html b/libcontextsubscriber/doc/html/class_info_backend.html
new file mode 100644
index 00000000..4d929890
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_backend.html
@@ -0,0 +1,764 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: InfoBackend Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoBackend Class Reference</h1><!-- doxytag: class="InfoBackend" -->An abstract (pure virtual) singleton class that represents the actual registry backend.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_info_backend-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63">keysChanged</a> (const QStringList &amp;currentKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when key list changes. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that. <a href="#cdad993095c6538cd80cdd418a09fd63"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd">keysAdded</a> (const QStringList &amp;newKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when new keys are added. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that. <a href="#159354ed05ba53b30feb861362c97ecd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245">keysRemoved</a> (const QStringList &amp;removedKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when keys are removed. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that. <a href="#abad9b345fa7dda6c4b3630a5afda245"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52">keyChanged</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when key data/info changes. <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> instances listen on that. <a href="#3962e7c993113bf00ac4fa983109aa52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4">listChanged</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the key list changes. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that. <a href="#ebe6133efbd7ee2a8c70afe44cdb06e4"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3">name</a> () const =0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the backend, ie: 'xml'. <a href="#fa40871167e96ccc256e33b79a628ed3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95">listKeys</a> () const =0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of all the keys in the registry. <a href="#b982301f28a9655255683ad66c8f0c95"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315">typeForKey</a> (QString key) const =0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a type for the given <em>key</em>. <a href="#accf0ff06a36c5f8edaab3013eaf8315"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d">docForKey</a> (QString key) const =0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the documentation for the given <em>key</em> name. <a href="#f90947cb65d219d1f703683a471f649d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303">keyDeclared</a> (QString key) const =0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the given key exists. <a href="#4ff58350a0f16796b0704353f554d303"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const QList<br class="typebreak">
+&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8">providersForKey</a> (QString key) const =0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a list of providers for the given key. <a href="#29733f7d3ba8bf62a932eae5b851d2f8"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_info_backend.html">InfoBackend</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94">instance</a> (const QString &amp;backendName=&quot;&quot;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the actual singleton instance, creates it on first access. <a href="#7c627815ff574b54ecd60191468fcc94"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd">connectNotify</a> (const char *signal)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called each time we have a signal connection. Increases the connect count. <a href="#b0db0c312a540b4b6d49c434c8cf64bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3">disconnectNotify</a> (const char *signal)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called each time we have a signal disconnection. Decreases the connect count. <a href="#4800fc55302f0c049c11ce3a93a204d3"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#4b9aafee7309b9e3a82eb3ca99ca173f">InfoBackend</a> (QObject *parent=0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs the object. The <em>connectCount</em> is 0 on start. <a href="#4b9aafee7309b9e3a82eb3ca99ca173f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#9a4973dbc3ed8a08af2cc60e39d1e455">InfoBackend</a> (const <a class="el" href="class_info_backend.html">InfoBackend</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor. Do not use. <a href="#9a4973dbc3ed8a08af2cc60e39d1e455"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#26dea7269e293f178ca7a855bd8085eb">checkAndEmitKeysAdded</a> (const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given the <em>currentKeys</em> list of keys and the <em>oldKeys</em> list of keys, emit a signal containing the new keys (keys that are in <em>currentKeys</em> but are no in <em>oldKeys</em>). <a href="#26dea7269e293f178ca7a855bd8085eb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#2229c5a5b2c85b50746497bed16735c2">checkAndEmitKeysRemoved</a> (const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given the <em>currentKeys</em> list of keys and the <em>oldKeys</em> list of keys, emit a signal containing the removed keys (keys that are in <em>oldKeys</em> but are no in <em>currentKeys</em>). <a href="#2229c5a5b2c85b50746497bed16735c2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#d770d30f718c8110a6e14371293829b9">checkAndEmitKeyChanged</a> (const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given the <em>currentKeys</em> list of keys and the <em>oldKeys</em> list of keys, emit a keyChanged signal containing the union of those two lists. <a href="#d770d30f718c8110a6e14371293829b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_info_backend.html">InfoBackend</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#90791486e0755836a52ff3f59279dc95">operator=</a> (const <a class="el" href="class_info_backend.html">InfoBackend</a> &amp;)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private operator. Do not use. <a href="#90791486e0755836a52ff3f59279dc95"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#e8204b17f82806015d23088f8c6776da">destroyInstance</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before the application is destroyed. <a href="#e8204b17f82806015d23088f8c6776da"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af">connectCount</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of connections to signals. Used to optimized signal emission when 0. <a href="#463dc4b191efca9c44035cb52798e0af"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_info_backend.html">InfoBackend</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8">backendInstance</a> = NULL</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a pointer to the instance of the singelton. <a href="#f56386ab44960a7646b5a2585688c8d8"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#0fa89bc3c8483b7168bf136420b43fa4">InfoXmlBackend</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#84aa2becdb5d27499636a31d69e66683">InfoCdbBackend</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#53ddc2857121c7ec9f2e1205ea05802f">InfoTestBackend</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#905a056999dd60bfa46a1cc023ee9066">InfoXmlBackendUnitTest</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#d3b9d468ea4d158bc8f3a258ab5d72be">InfoCdbBackendUnitTest</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackendUnitTest</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+An abstract (pure virtual) singleton class that represents the actual registry backend.
+<p>
+This class is not exported in the public API. It provides a list methods that need to be implemented by a concrete registry backend implementation. The <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> instance is a singleton that is created on first access. This class (the instance of it) is used by <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> and <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> classes. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="4b9aafee7309b9e3a82eb3ca99ca173f"></a><!-- doxytag: member="InfoBackend::InfoBackend" ref="4b9aafee7309b9e3a82eb3ca99ca173f" args="(QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">InfoBackend::InfoBackend </td>
+ <td>(</td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructs the object. The <em>connectCount</em> is 0 on start.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9a4973dbc3ed8a08af2cc60e39d1e455"></a><!-- doxytag: member="InfoBackend::InfoBackend" ref="9a4973dbc3ed8a08af2cc60e39d1e455" args="(const InfoBackend &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">InfoBackend::InfoBackend </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_info_backend.html">InfoBackend</a> &amp;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Private constructor. Do not use.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d770d30f718c8110a6e14371293829b9"></a><!-- doxytag: member="InfoBackend::checkAndEmitKeyChanged" ref="d770d30f718c8110a6e14371293829b9" args="(const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::checkAndEmitKeyChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>currentKeys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>oldKeys</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Given the <em>currentKeys</em> list of keys and the <em>oldKeys</em> list of keys, emit a keyChanged signal containing the union of those two lists.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="26dea7269e293f178ca7a855bd8085eb"></a><!-- doxytag: member="InfoBackend::checkAndEmitKeysAdded" ref="26dea7269e293f178ca7a855bd8085eb" args="(const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::checkAndEmitKeysAdded </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>currentKeys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>oldKeys</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Given the <em>currentKeys</em> list of keys and the <em>oldKeys</em> list of keys, emit a signal containing the new keys (keys that are in <em>currentKeys</em> but are no in <em>oldKeys</em>).
+<p>
+To be removed in future.
+</div>
+</div><p>
+<a class="anchor" name="2229c5a5b2c85b50746497bed16735c2"></a><!-- doxytag: member="InfoBackend::checkAndEmitKeysRemoved" ref="2229c5a5b2c85b50746497bed16735c2" args="(const QStringList &amp;currentKeys, const QStringList &amp;oldKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::checkAndEmitKeysRemoved </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>currentKeys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>oldKeys</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Given the <em>currentKeys</em> list of keys and the <em>oldKeys</em> list of keys, emit a signal containing the removed keys (keys that are in <em>oldKeys</em> but are no in <em>currentKeys</em>).
+<p>
+To be removed in future.
+</div>
+</div><p>
+<a class="anchor" name="b0db0c312a540b4b6d49c434c8cf64bd"></a><!-- doxytag: member="InfoBackend::connectNotify" ref="b0db0c312a540b4b6d49c434c8cf64bd" args="(const char *signal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::connectNotify </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>signal</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called each time we have a signal connection. Increases the connect count.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e8204b17f82806015d23088f8c6776da"></a><!-- doxytag: member="InfoBackend::destroyInstance" ref="e8204b17f82806015d23088f8c6776da" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::destroyInstance </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called before the application is destroyed.
+<p>
+Deletes the backend instance. This is to ensure that the QFileSystemWatcher in backends gets deleted before the application terminates (otherwise weird issues follow).
+</div>
+</div><p>
+<a class="anchor" name="4800fc55302f0c049c11ce3a93a204d3"></a><!-- doxytag: member="InfoBackend::disconnectNotify" ref="4800fc55302f0c049c11ce3a93a204d3" args="(const char *signal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::disconnectNotify </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>signal</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [protected, virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called each time we have a signal disconnection. Decreases the connect count.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f90947cb65d219d1f703683a471f649d"></a><!-- doxytag: member="InfoBackend::docForKey" ref="f90947cb65d219d1f703683a471f649d" args="(QString key) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual QString InfoBackend::docForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the documentation for the given <em>key</em> name.
+<p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#96b65379f588dc602406449012a9ceae">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#3b0753cd69c99c2fe188e7fd912a072a">InfoXmlBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7c627815ff574b54ecd60191468fcc94"></a><!-- doxytag: member="InfoBackend::instance" ref="7c627815ff574b54ecd60191468fcc94" args="(const QString &amp;backendName=&quot;&quot;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_info_backend.html">InfoBackend</a> * InfoBackend::instance </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>backendName</em> = <code>&quot;&quot;</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the actual singleton instance, creates it on first access.
+<p>
+Mutex-protected. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> and <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> use this method to access the backend. The optional <em>backendName</em> specifies the backend to force, ie: 'xml' or 'cdb'.
+</div>
+</div><p>
+<a class="anchor" name="3962e7c993113bf00ac4fa983109aa52"></a><!-- doxytag: member="InfoBackend::keyChanged" ref="3962e7c993113bf00ac4fa983109aa52" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::keyChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when key data/info changes. <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> instances listen on that.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4ff58350a0f16796b0704353f554d303"></a><!-- doxytag: member="InfoBackend::keyDeclared" ref="4ff58350a0f16796b0704353f554d303" args="(QString key) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual bool InfoBackend::keyDeclared </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the given key exists.
+<p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#79ee60153f6d7113ee7c454495ed3d87">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#34f0f40564466e150f433aced83af71a">InfoXmlBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="159354ed05ba53b30feb861362c97ecd"></a><!-- doxytag: member="InfoBackend::keysAdded" ref="159354ed05ba53b30feb861362c97ecd" args="(const QStringList &amp;newKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::keysAdded </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>newKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when new keys are added. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cdad993095c6538cd80cdd418a09fd63"></a><!-- doxytag: member="InfoBackend::keysChanged" ref="cdad993095c6538cd80cdd418a09fd63" args="(const QStringList &amp;currentKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::keysChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>currentKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when key list changes. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="abad9b345fa7dda6c4b3630a5afda245"></a><!-- doxytag: member="InfoBackend::keysRemoved" ref="abad9b345fa7dda6c4b3630a5afda245" args="(const QStringList &amp;removedKeys)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::keysRemoved </td>
+ <td>(</td>
+ <td class="paramtype">const QStringList &amp;&nbsp;</td>
+ <td class="paramname"> <em>removedKeys</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when keys are removed. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ebe6133efbd7ee2a8c70afe44cdb06e4"></a><!-- doxytag: member="InfoBackend::listChanged" ref="ebe6133efbd7ee2a8c70afe44cdb06e4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoBackend::listChanged </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Emitted when the key list changes. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> listens on that.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b982301f28a9655255683ad66c8f0c95"></a><!-- doxytag: member="InfoBackend::listKeys" ref="b982301f28a9655255683ad66c8f0c95" args="() const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual QStringList InfoBackend::listKeys </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of all the keys in the registry.
+<p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#16a29a2335e21a73b8317d23eadb3069">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#74d2b52119a26ca60203ecf86721e38c">InfoXmlBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fa40871167e96ccc256e33b79a628ed3"></a><!-- doxytag: member="InfoBackend::name" ref="fa40871167e96ccc256e33b79a628ed3" args="() const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual QString InfoBackend::name </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the name of the backend, ie: 'xml'.
+<p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#98707e9504d1719000fec1d31de01174">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#83ac8d65786de855c402b426222ab72b">InfoXmlBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="90791486e0755836a52ff3f59279dc95"></a><!-- doxytag: member="InfoBackend::operator=" ref="90791486e0755836a52ff3f59279dc95" args="(const InfoBackend &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_info_backend.html">InfoBackend</a>&amp; InfoBackend::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_info_backend.html">InfoBackend</a> &amp;&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Private operator. Do not use.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="29733f7d3ba8bf62a932eae5b851d2f8"></a><!-- doxytag: member="InfoBackend::providersForKey" ref="29733f7d3ba8bf62a932eae5b851d2f8" args="(QString key) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual const QList&lt;<a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>&gt; InfoBackend::providersForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a list of providers for the given key.
+<p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#c28d61755c842e1226fbd4e44f69a040">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#f72852cc9ec862658d2be1d59be536c0">InfoXmlBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="accf0ff06a36c5f8edaab3013eaf8315"></a><!-- doxytag: member="InfoBackend::typeForKey" ref="accf0ff06a36c5f8edaab3013eaf8315" args="(QString key) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual QString InfoBackend::typeForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [pure virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a type for the given <em>key</em>.
+<p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#ca1274681b8a808f1827d08b44f71319">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#184e0e51db9b59a05cb8267206064e58">InfoXmlBackend</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="9b2a7e8cfb6a2cfcb8c31f86a1a35aa6"></a><!-- doxytag: member="InfoBackend::InfoBackendUnitTest" ref="9b2a7e8cfb6a2cfcb8c31f86a1a35aa6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class InfoBackendUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="84aa2becdb5d27499636a31d69e66683"></a><!-- doxytag: member="InfoBackend::InfoCdbBackend" ref="84aa2becdb5d27499636a31d69e66683" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class <a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a><code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d3b9d468ea4d158bc8f3a258ab5d72be"></a><!-- doxytag: member="InfoBackend::InfoCdbBackendUnitTest" ref="d3b9d468ea4d158bc8f3a258ab5d72be" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class InfoCdbBackendUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="53ddc2857121c7ec9f2e1205ea05802f"></a><!-- doxytag: member="InfoBackend::InfoTestBackend" ref="53ddc2857121c7ec9f2e1205ea05802f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class InfoTestBackend<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0fa89bc3c8483b7168bf136420b43fa4"></a><!-- doxytag: member="InfoBackend::InfoXmlBackend" ref="0fa89bc3c8483b7168bf136420b43fa4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class <a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a><code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="905a056999dd60bfa46a1cc023ee9066"></a><!-- doxytag: member="InfoBackend::InfoXmlBackendUnitTest" ref="905a056999dd60bfa46a1cc023ee9066" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class InfoXmlBackendUnitTest<code> [friend]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="f56386ab44960a7646b5a2585688c8d8"></a><!-- doxytag: member="InfoBackend::backendInstance" ref="f56386ab44960a7646b5a2585688c8d8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_info_backend.html">InfoBackend</a> * <a class="el" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8">InfoBackend::backendInstance</a> = NULL<code> [static, private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Holds a pointer to the instance of the singelton.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="463dc4b191efca9c44035cb52798e0af"></a><!-- doxytag: member="InfoBackend::connectCount" ref="463dc4b191efca9c44035cb52798e0af" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af">InfoBackend::connectCount</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Number of connections to signals. Used to optimized signal emission when 0.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="infobackend_8h-source.html">infobackend.h</a><li><a class="el" href="infobackend_8cpp.html">infobackend.cpp</a><li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_info_cdb_backend-members.html b/libcontextsubscriber/doc/html/class_info_cdb_backend-members.html
new file mode 100644
index 00000000..856ab2e7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_cdb_backend-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoCdbBackend Member List</h1>This is the complete list of members for <a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd">connectNotify</a>(const char *signal)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#2ec440b4df1e409e6cf74f5fd514fb6c">databaseDirectory</a>()</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#99e18dd002d2fdf388914721eb53599f">databaseExists</a>()</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#1a31a6076fc78a72e0bc00135d110fa2">databasePath</a>()</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3">disconnectNotify</a>(const char *signal)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#96b65379f588dc602406449012a9ceae">docForKey</a>(QString key) const </td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a>(QObject *parent=0)</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94">instance</a>(const QString &amp;backendName=&quot;&quot;)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52">keyChanged</a>(const QString &amp;key)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#79ee60153f6d7113ee7c454495ed3d87">keyDeclared</a>(QString key) const </td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd">keysAdded</a>(const QStringList &amp;newKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63">keysChanged</a>(const QStringList &amp;currentKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245">keysRemoved</a>(const QStringList &amp;removedKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4">listChanged</a>()</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#16a29a2335e21a73b8317d23eadb3069">listKeys</a>() const </td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#98707e9504d1719000fec1d31de01174">name</a>() const </td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#9a95be7eb4456ff22f28a37fd5eb1945">onDatabaseDirectoryChanged</a>(const QString &amp;path)</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#809ba5fe86160dd85c3221b91f480a8d">onDatabaseFileChanged</a>(const QString &amp;path)</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#c28d61755c842e1226fbd4e44f69a040">providersForKey</a>(QString key) const </td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738">reader</a></td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#ca1274681b8a808f1827d08b44f71319">typeForKey</a>(QString key) const </td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#8d422f8e80ad4feb74620c6dd793cefd">variantListToStringList</a>(const QVariantList &amp;l)</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#f9a982a33f464a0579357fbc53e3305c">watch</a>()</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45">watcher</a></td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td><td><code> [private]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_info_cdb_backend.html b/libcontextsubscriber/doc/html/class_info_cdb_backend.html
new file mode 100644
index 00000000..8c847cb8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_cdb_backend.html
@@ -0,0 +1,445 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: InfoCdbBackend Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoCdbBackend Class Reference</h1><!-- doxytag: class="InfoCdbBackend" --><!-- doxytag: inherits="InfoBackend" -->Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a cdb database.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="infocdbbackend_8h-source.html">infocdbbackend.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_info_cdb_backend-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a> (QObject *parent=0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#98707e9504d1719000fec1d31de01174">name</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 'cdb'. <a href="#98707e9504d1719000fec1d31de01174"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#16a29a2335e21a73b8317d23eadb3069">listKeys</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of all the keys in the registry. <a href="#16a29a2335e21a73b8317d23eadb3069"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#ca1274681b8a808f1827d08b44f71319">typeForKey</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a type for the given <em>key</em>. <a href="#ca1274681b8a808f1827d08b44f71319"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#96b65379f588dc602406449012a9ceae">docForKey</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the documentation for the given <em>key</em> name. <a href="#96b65379f588dc602406449012a9ceae"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#79ee60153f6d7113ee7c454495ed3d87">keyDeclared</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the given key exists. <a href="#79ee60153f6d7113ee7c454495ed3d87"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const QList<br class="typebreak">
+&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#c28d61755c842e1226fbd4e44f69a040">providersForKey</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a list of providers for the given key. <a href="#c28d61755c842e1226fbd4e44f69a040"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#2ec440b4df1e409e6cf74f5fd514fb6c">databaseDirectory</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the database directory. <a href="#2ec440b4df1e409e6cf74f5fd514fb6c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#1a31a6076fc78a72e0bc00135d110fa2">databasePath</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the database. <a href="#1a31a6076fc78a72e0bc00135d110fa2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#99e18dd002d2fdf388914721eb53599f">databaseExists</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the database file is present. <a href="#99e18dd002d2fdf388914721eb53599f"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#809ba5fe86160dd85c3221b91f480a8d">onDatabaseFileChanged</a> (const QString &amp;path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the database changes. <a href="#809ba5fe86160dd85c3221b91f480a8d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#9a95be7eb4456ff22f28a37fd5eb1945">onDatabaseDirectoryChanged</a> (const QString &amp;path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the directory with cache.db chanes. <a href="#9a95be7eb4456ff22f28a37fd5eb1945"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#f9a982a33f464a0579357fbc53e3305c">watch</a> ()</td></tr>
+
+<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#8d422f8e80ad4feb74620c6dd793cefd">variantListToStringList</a> (const QVariantList &amp;l)</td></tr>
+
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QFileSystemWatcher&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45">watcher</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A watched object obsering the database file. Delivers synced notifications. <a href="#b3f82f73e8f0c453716cfe0142b19d45"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_d_b_reader.html">CDBReader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738">reader</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The cdb reader object used to access the cdb database. <a href="#c58abb26efac881051ae758d57aa3738"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a cdb database.
+<p>
+This class is not exported in the public API. It does not cache any data to optimize the memory consumption. It's assumed that most data is anyways cached (as needed) in the <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> and the cdb key-based access (no enumetation) is fast anyways. It observers the <code>cache.cdb</code> with a file system watcher. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="8e31c8ded7f1620ab626d17f23bf3042"></a><!-- doxytag: member="InfoCdbBackend::InfoCdbBackend" ref="8e31c8ded7f1620ab626d17f23bf3042" args="(QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">InfoCdbBackend::InfoCdbBackend </td>
+ <td>(</td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="2ec440b4df1e409e6cf74f5fd514fb6c"></a><!-- doxytag: member="InfoCdbBackend::databaseDirectory" ref="2ec440b4df1e409e6cf74f5fd514fb6c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoCdbBackend::databaseDirectory </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the full path to the database directory.
+<p>
+Takes the <code>CONTEXT_PROVIDERS</code> env variable into account.
+</div>
+</div><p>
+<a class="anchor" name="99e18dd002d2fdf388914721eb53599f"></a><!-- doxytag: member="InfoCdbBackend::databaseExists" ref="99e18dd002d2fdf388914721eb53599f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool InfoCdbBackend::databaseExists </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the database file is present.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="1a31a6076fc78a72e0bc00135d110fa2"></a><!-- doxytag: member="InfoCdbBackend::databasePath" ref="1a31a6076fc78a72e0bc00135d110fa2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoCdbBackend::databasePath </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the full path to the database.
+<p>
+Takes the <code>CONTEXT_PROVIDERS</code> env variable into account.
+</div>
+</div><p>
+<a class="anchor" name="96b65379f588dc602406449012a9ceae"></a><!-- doxytag: member="InfoCdbBackend::docForKey" ref="96b65379f588dc602406449012a9ceae" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoCdbBackend::docForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the documentation for the given <em>key</em> name.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="79ee60153f6d7113ee7c454495ed3d87"></a><!-- doxytag: member="InfoCdbBackend::keyDeclared" ref="79ee60153f6d7113ee7c454495ed3d87" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool InfoCdbBackend::keyDeclared </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the given key exists.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="16a29a2335e21a73b8317d23eadb3069"></a><!-- doxytag: member="InfoCdbBackend::listKeys" ref="16a29a2335e21a73b8317d23eadb3069" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList InfoCdbBackend::listKeys </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of all the keys in the registry.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="98707e9504d1719000fec1d31de01174"></a><!-- doxytag: member="InfoCdbBackend::name" ref="98707e9504d1719000fec1d31de01174" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoCdbBackend::name </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns 'cdb'.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9a95be7eb4456ff22f28a37fd5eb1945"></a><!-- doxytag: member="InfoCdbBackend::onDatabaseDirectoryChanged" ref="9a95be7eb4456ff22f28a37fd5eb1945" args="(const QString &amp;path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoCdbBackend::onDatabaseDirectoryChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when the directory with cache.db chanes.
+<p>
+We start to observe this directory only when we don't have the cache.db in the first place.
+</div>
+</div><p>
+<a class="anchor" name="809ba5fe86160dd85c3221b91f480a8d"></a><!-- doxytag: member="InfoCdbBackend::onDatabaseFileChanged" ref="809ba5fe86160dd85c3221b91f480a8d" args="(const QString &amp;path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoCdbBackend::onDatabaseFileChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when the database changes.
+<p>
+Reopens the database and emits the change signals. If database does not exist it bails out but keeps observing.
+</div>
+</div><p>
+<a class="anchor" name="c28d61755c842e1226fbd4e44f69a040"></a><!-- doxytag: member="InfoCdbBackend::providersForKey" ref="c28d61755c842e1226fbd4e44f69a040" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QList&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt; InfoCdbBackend::providersForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a list of providers for the given key.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ca1274681b8a808f1827d08b44f71319"></a><!-- doxytag: member="InfoCdbBackend::typeForKey" ref="ca1274681b8a808f1827d08b44f71319" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoCdbBackend::typeForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a type for the given <em>key</em>.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8d422f8e80ad4feb74620c6dd793cefd"></a><!-- doxytag: member="InfoCdbBackend::variantListToStringList" ref="8d422f8e80ad4feb74620c6dd793cefd" args="(const QVariantList &amp;l)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList InfoCdbBackend::variantListToStringList </td>
+ <td>(</td>
+ <td class="paramtype">const QVariantList &amp;&nbsp;</td>
+ <td class="paramname"> <em>l</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f9a982a33f464a0579357fbc53e3305c"></a><!-- doxytag: member="InfoCdbBackend::watch" ref="f9a982a33f464a0579357fbc53e3305c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoCdbBackend::watch </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="c58abb26efac881051ae758d57aa3738"></a><!-- doxytag: member="InfoCdbBackend::reader" ref="c58abb26efac881051ae758d57aa3738" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_c_d_b_reader.html">CDBReader</a> <a class="el" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738">InfoCdbBackend::reader</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The cdb reader object used to access the cdb database.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b3f82f73e8f0c453716cfe0142b19d45"></a><!-- doxytag: member="InfoCdbBackend::watcher" ref="b3f82f73e8f0c453716cfe0142b19d45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QFileSystemWatcher <a class="el" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45">InfoCdbBackend::watcher</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A watched object obsering the database file. Delivers synced notifications.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="infocdbbackend_8h-source.html">infocdbbackend.h</a><li><a class="el" href="infocdbbackend_8cpp.html">infocdbbackend.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_info_xml_backend-members.html b/libcontextsubscriber/doc/html/class_info_xml_backend-members.html
new file mode 100644
index 00000000..e1f87eb3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_xml_backend-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoXmlBackend Member List</h1>This is the complete list of members for <a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#eb7d7c04426594b8ec25cbfd1152e7ed">canonicalizeType</a>(const QString &amp;type)</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd">connectNotify</a>(const char *signal)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#e919a19ac7fc38f60048b900d49c41d5">coreDeclPath</a>()</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672">countOfFilesInLastParse</a></td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3">disconnectNotify</a>(const char *signal)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [protected, virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#3b0753cd69c99c2fe188e7fd912a072a">docForKey</a>(QString key) const </td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>(QObject *parent=0)</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94">instance</a>(const QString &amp;backendName=&quot;&quot;)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52">keyChanged</a>(const QString &amp;key)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513">keyDataHash</a></td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#34f0f40564466e150f433aced83af71a">keyDeclared</a>(QString key) const </td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef">keyProvidersHash</a></td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd">keysAdded</a>(const QStringList &amp;newKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63">keysChanged</a>(const QStringList &amp;currentKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245">keysRemoved</a>(const QStringList &amp;removedKeys)</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4">listChanged</a>()</td><td><a class="el" href="class_info_backend.html">InfoBackend</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#74d2b52119a26ca60203ecf86721e38c">listKeys</a>() const </td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#83ac8d65786de855c402b426222ab72b">name</a>() const </td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#edf432bc14783ab4e9f2858a088e0643">onDirectoryChanged</a>(const QString &amp;path)</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#b2155f5c965bc1249987f6ae942d004b">onFileChanged</a>(const QString &amp;path)</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#f3f5503ae521393069206f1498102421">parseKey</a>(const QVariant &amp;keyTree, const QVariant &amp;providerTree)</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#f72852cc9ec862658d2be1d59be536c0">providersForKey</a>(QString key) const </td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#b5d85a566993462042838c786700f7f8">readKeyDataFromXml</a>(const QString &amp;path)</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#1407eccac5cb06f88fc6014d4ee25f48">regenerateKeyDataList</a>()</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#eba0f378c01b6740c53ea977c10947b0">registryPath</a>()</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#184e0e51db9b59a05cb8267206064e58">typeForKey</a>(QString key) const </td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7">watcher</a></td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td><td><code> [private]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_info_xml_backend.html b/libcontextsubscriber/doc/html/class_info_xml_backend.html
new file mode 100644
index 00000000..78d95bd8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_xml_backend.html
@@ -0,0 +1,526 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: InfoXmlBackend Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoXmlBackend Class Reference</h1><!-- doxytag: class="InfoXmlBackend" --><!-- doxytag: inherits="InfoBackend" -->Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a directory with xml files.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="infoxmlbackend_8h-source.html">infoxmlbackend.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_info_xml_backend-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a> (QObject *parent=0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#83ac8d65786de855c402b426222ab72b">name</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 'xml'. <a href="#83ac8d65786de855c402b426222ab72b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#74d2b52119a26ca60203ecf86721e38c">listKeys</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of all the keys in the registry. <a href="#74d2b52119a26ca60203ecf86721e38c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#184e0e51db9b59a05cb8267206064e58">typeForKey</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a type for the given <em>key</em>. <a href="#184e0e51db9b59a05cb8267206064e58"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#3b0753cd69c99c2fe188e7fd912a072a">docForKey</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the documentation for the given <em>key</em> name. <a href="#3b0753cd69c99c2fe188e7fd912a072a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#34f0f40564466e150f433aced83af71a">keyDeclared</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the given key exists. <a href="#34f0f40564466e150f433aced83af71a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const QList<br class="typebreak">
+&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#f72852cc9ec862658d2be1d59be536c0">providersForKey</a> (QString key) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a list of providers for the given key. <a href="#f72852cc9ec862658d2be1d59be536c0"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#eba0f378c01b6740c53ea977c10947b0">registryPath</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the registry directory. <a href="#eba0f378c01b6740c53ea977c10947b0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#e919a19ac7fc38f60048b900d49c41d5">coreDeclPath</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the core property declaration file. <a href="#e919a19ac7fc38f60048b900d49c41d5"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#edf432bc14783ab4e9f2858a088e0643">onDirectoryChanged</a> (const QString &amp;path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the registry directory changed (ie. <a href="#edf432bc14783ab4e9f2858a088e0643"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#b2155f5c965bc1249987f6ae942d004b">onFileChanged</a> (const QString &amp;path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when one of the parsed XML files changed. <a href="#b2155f5c965bc1249987f6ae942d004b"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#1407eccac5cb06f88fc6014d4ee25f48">regenerateKeyDataList</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears all the stored data about the registry and parses it all over again. <a href="#1407eccac5cb06f88fc6014d4ee25f48"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#b5d85a566993462042838c786700f7f8">readKeyDataFromXml</a> (const QString &amp;path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parses a given <em>path</em> file and adds it's contents to the hash. <a href="#b5d85a566993462042838c786700f7f8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#eb7d7c04426594b8ec25cbfd1152e7ed">canonicalizeType</a> (const QString &amp;type)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a subset of new-style type names to the currently used old-style type names. <a href="#eb7d7c04426594b8ec25cbfd1152e7ed"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#f3f5503ae521393069206f1498102421">parseKey</a> (const QVariant &amp;keyTree, const QVariant &amp;providerTree)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the given QVariant tree which is supposed to be a key tree. <a href="#f3f5503ae521393069206f1498102421"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QFileSystemWatcher&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7">watcher</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A watched object obsering the database file. Delivers synced notifications. <a href="#6ed00727580f66f06f33ecdb2a7581e7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QHash&lt; QString, <a class="el" href="struct_info_key_data.html">InfoKeyData</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513">keyDataHash</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This hash contains the full state of registry in memory. <a href="#60f512bdb81310502e5d80c2b738d513"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QHash&lt; QString, QList<br class="typebreak">
+&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef">keyProvidersHash</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This hash contains providers for keys. <a href="#6bc7baa201268651c5203c8ddf9f1eef"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672">countOfFilesInLastParse</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of xml files we parsed in last registry update. <a href="#c61fad8518de174500caaaa278bf1672"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a directory with xml files.
+<p>
+This class is not exported in the public API. It keeps all the data cached in the memory. It's assumed that this backend is not going to be used live in production systems and does not need to be ultra-fast (instead, implementation simplicity and corectness are preffered). For fast backend see the <a class="el" href="class_info_cdb_backend.html" title="Implements the InfoBackend for reading data from a cdb database.">InfoCdbBackend</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="85f5bb72b4841d7012ff63bd7627f2d0"></a><!-- doxytag: member="InfoXmlBackend::InfoXmlBackend" ref="85f5bb72b4841d7012ff63bd7627f2d0" args="(QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">InfoXmlBackend::InfoXmlBackend </td>
+ <td>(</td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [explicit]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="eb7d7c04426594b8ec25cbfd1152e7ed"></a><!-- doxytag: member="InfoXmlBackend::canonicalizeType" ref="eb7d7c04426594b8ec25cbfd1152e7ed" args="(const QString &amp;type)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoXmlBackend::canonicalizeType </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>type</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Convert a subset of new-style type names to the currently used old-style type names.
+<p>
+This way we can slowly fade in new-style types.
+</div>
+</div><p>
+<a class="anchor" name="e919a19ac7fc38f60048b900d49c41d5"></a><!-- doxytag: member="InfoXmlBackend::coreDeclPath" ref="e919a19ac7fc38f60048b900d49c41d5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoXmlBackend::coreDeclPath </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the full path to the core property declaration file.
+<p>
+Takes the <code>CONTEXT_CORE_DECLARATIONS</code> env variable into account.
+</div>
+</div><p>
+<a class="anchor" name="3b0753cd69c99c2fe188e7fd912a072a"></a><!-- doxytag: member="InfoXmlBackend::docForKey" ref="3b0753cd69c99c2fe188e7fd912a072a" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoXmlBackend::docForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the documentation for the given <em>key</em> name.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="34f0f40564466e150f433aced83af71a"></a><!-- doxytag: member="InfoXmlBackend::keyDeclared" ref="34f0f40564466e150f433aced83af71a" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool InfoXmlBackend::keyDeclared </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if the given key exists.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="74d2b52119a26ca60203ecf86721e38c"></a><!-- doxytag: member="InfoXmlBackend::listKeys" ref="74d2b52119a26ca60203ecf86721e38c" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList InfoXmlBackend::listKeys </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of all the keys in the registry.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="83ac8d65786de855c402b426222ab72b"></a><!-- doxytag: member="InfoXmlBackend::name" ref="83ac8d65786de855c402b426222ab72b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoXmlBackend::name </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns 'xml'.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="edf432bc14783ab4e9f2858a088e0643"></a><!-- doxytag: member="InfoXmlBackend::onDirectoryChanged" ref="edf432bc14783ab4e9f2858a088e0643" args="(const QString &amp;path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoXmlBackend::onDirectoryChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when the registry directory changed (ie.
+<p>
+file removed or added). Triggers a whole registry rebuild + signal emissions. It detects a situation when a added/removed file was not a parsed(xml) file.
+</div>
+</div><p>
+<a class="anchor" name="b2155f5c965bc1249987f6ae942d004b"></a><!-- doxytag: member="InfoXmlBackend::onFileChanged" ref="b2155f5c965bc1249987f6ae942d004b" args="(const QString &amp;path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoXmlBackend::onFileChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when one of the parsed XML files changed.
+<p>
+This triggers a whole registry rebuild + signal emissions.
+</div>
+</div><p>
+<a class="anchor" name="f3f5503ae521393069206f1498102421"></a><!-- doxytag: member="InfoXmlBackend::parseKey" ref="f3f5503ae521393069206f1498102421" args="(const QVariant &amp;keyTree, const QVariant &amp;providerTree)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoXmlBackend::parseKey </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>keyTree</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>providerTree</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parse the given QVariant tree which is supposed to be a key tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f72852cc9ec862658d2be1d59be536c0"></a><!-- doxytag: member="InfoXmlBackend::providersForKey" ref="f72852cc9ec862658d2be1d59be536c0" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QList&lt; <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &gt; InfoXmlBackend::providersForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a list of providers for the given key.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="b5d85a566993462042838c786700f7f8"></a><!-- doxytag: member="InfoXmlBackend::readKeyDataFromXml" ref="b5d85a566993462042838c786700f7f8" args="(const QString &amp;path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoXmlBackend::readKeyDataFromXml </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parses a given <em>path</em> file and adds it's contents to the hash.
+<p>
+Also adds the file to the watcher (starts observing it).
+</div>
+</div><p>
+<a class="anchor" name="1407eccac5cb06f88fc6014d4ee25f48"></a><!-- doxytag: member="InfoXmlBackend::regenerateKeyDataList" ref="1407eccac5cb06f88fc6014d4ee25f48" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoXmlBackend::regenerateKeyDataList </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Clears all the stored data about the registry and parses it all over again.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="eba0f378c01b6740c53ea977c10947b0"></a><!-- doxytag: member="InfoXmlBackend::registryPath" ref="eba0f378c01b6740c53ea977c10947b0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoXmlBackend::registryPath </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the full path to the registry directory.
+<p>
+Takes the <code>CONTEXT_PROVIDERS</code> env variable into account.
+</div>
+</div><p>
+<a class="anchor" name="184e0e51db9b59a05cb8267206064e58"></a><!-- doxytag: member="InfoXmlBackend::typeForKey" ref="184e0e51db9b59a05cb8267206064e58" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString InfoXmlBackend::typeForKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns a type for the given <em>key</em>.
+<p>
+
+<p>Implements <a class="el" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315">InfoBackend</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="c61fad8518de174500caaaa278bf1672"></a><!-- doxytag: member="InfoXmlBackend::countOfFilesInLastParse" ref="c61fad8518de174500caaaa278bf1672" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672">InfoXmlBackend::countOfFilesInLastParse</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The number of xml files we parsed in last registry update.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="60f512bdb81310502e5d80c2b738d513"></a><!-- doxytag: member="InfoXmlBackend::keyDataHash" ref="60f512bdb81310502e5d80c2b738d513" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QHash&lt;QString, <a class="el" href="struct_info_key_data.html">InfoKeyData</a>&gt; <a class="el" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513">InfoXmlBackend::keyDataHash</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This hash contains the full state of registry in memory.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6bc7baa201268651c5203c8ddf9f1eef"></a><!-- doxytag: member="InfoXmlBackend::keyProvidersHash" ref="6bc7baa201268651c5203c8ddf9f1eef" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QHash&lt;QString, QList&lt;<a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>&gt; &gt; <a class="el" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef">InfoXmlBackend::keyProvidersHash</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This hash contains providers for keys.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6ed00727580f66f06f33ecdb2a7581e7"></a><!-- doxytag: member="InfoXmlBackend::watcher" ref="6ed00727580f66f06f33ecdb2a7581e7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QFileSystemWatcher <a class="el" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7">InfoXmlBackend::watcher</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+A watched object obsering the database file. Delivers synced notifications.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="infoxmlbackend_8h-source.html">infoxmlbackend.h</a><li><a class="el" href="infoxmlbackend_8cpp.html">infoxmlbackend.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_nano_xml-members.html b/libcontextsubscriber/doc/html/class_nano_xml-members.html
new file mode 100644
index 00000000..7b4a1924
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_nano_xml-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NanoXml Member List</h1>This is the complete list of members for <a class="el" href="class_nano_xml.html">NanoXml</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#0820f7cc298465a54350f998af40d929">addValue</a>(const QString &amp;v)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#d051fdc20099f73a6595cb229e5c5854">characters</a>(const QString &amp;chars)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551">current</a></td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#b5729afbebfb708cab217298891fe31b">didFail</a>()</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#4966386ef78c065e9fad50a6382770b0">dumpTree</a>(const QVariant &amp;tree, int level)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#e2884ebc5e4c6e60c2419ab47fb05d37">endElement</a>(const QString &amp;, const QString &amp;, const QString &amp;name)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295">failed</a></td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#fb90496573500eaa24180d37c180dcee">keySub</a>(const QString &amp;key)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#5029be111f8fab5d35549fa43530c37c">keySub</a>(const QString &amp;key, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450">keyValue</a>(const QString &amp;key)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#2d2e32befe640d263f29884346dcad58">keyValue</a>(const QString &amp;key1, const QString &amp;key2)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#38d843231b0917b667ff2011d3ffb7ad">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#9a891d7d6611308ac436bb6ffddbe22c">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#962a4910a7b381b47afbd66b603ea279">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QString &amp;key5)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#a03ebbef1a268c346519b6df4b1937f6">keyValue</a>(const QString &amp;key, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#024ebb8682aad1f091e5a7bbd546e1a6">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#db7d4191ae2dbb969ca70fc747beb525">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#c6e83786d06889453c11365286f9437b">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#bd83d6201126d39d1061e74cdd0a2b72">keyValue</a>(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QString &amp;key5, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#ba42a9094fb57418e62b21d134095a8f">keyValues</a>(const QString &amp;key)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#3956749eb3393b245b77a8a9c5c892e1">keyValues</a>(const QString &amp;key, const QVariant &amp;dom)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#ae6e7c0a8785f75cb06abb27c348833b">namespaceUri</a>()</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#6bba582991cf13e4af332ae999f650e0">NanoXml</a>(const QString &amp;path)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21">nspace</a></td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#db05786203f23b7a96ee1db103582729">popList</a>()</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#750f872971e1b36ecffc4ead3250e17d">pushList</a>()</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#34bebe2d3d74159d94c4d4b3abd6480f">root</a>()</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624">rootVariant</a></td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563">stack</a></td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#9a53418260e9b9ae8bc3da9b0fae2b35">startElement</a>(const QString &amp;, const QString &amp;, const QString &amp;name, const QXmlAttributes &amp;attrs)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#bb825f9876e40c023c0b3b1ab0b09828">startPrefixMapping</a>(const QString &amp;prefix, const QString &amp;uri)</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#940fbfce7d0fab29a5ba6b5b840c4d71">~NanoXml</a>()</td><td><a class="el" href="class_nano_xml.html">NanoXml</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_nano_xml.html b/libcontextsubscriber/doc/html/class_nano_xml.html
new file mode 100644
index 00000000..26789ce8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_nano_xml.html
@@ -0,0 +1,1098 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: NanoXml Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NanoXml Class Reference</h1><!-- doxytag: class="NanoXml" -->Parses XML files into a nano dom.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="nanoxml_8h-source.html">nanoxml.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_nano_xml-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#6bba582991cf13e4af332ae999f650e0">NanoXml</a> (const QString &amp;path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#6bba582991cf13e4af332ae999f650e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#940fbfce7d0fab29a5ba6b5b840c4d71">~NanoXml</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#940fbfce7d0fab29a5ba6b5b840c4d71"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const QVariant &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#34bebe2d3d74159d94c4d4b3abd6480f">root</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the root of the nanodom tree. <a href="#34bebe2d3d74159d94c4d4b3abd6480f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#ae6e7c0a8785f75cb06abb27c348833b">namespaceUri</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the namespace URI of the parsed (source) XML document. <a href="#ae6e7c0a8785f75cb06abb27c348833b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#b5729afbebfb708cab217298891fe31b">didFail</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if parsing failed. <a href="#b5729afbebfb708cab217298891fe31b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#fb90496573500eaa24180d37c180dcee">keySub</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the sub (the trailing) after a given <em>key</em> in the root nanodom tree. <a href="#fb90496573500eaa24180d37c180dcee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450">keyValue</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">1st level accessor. Returns a value for a <em>key</em> in the root nanodom tree. <a href="#064d4d3a52e05535a18305a4612c0450"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#2d2e32befe640d263f29884346dcad58">keyValue</a> (const QString &amp;key1, const QString &amp;key2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">2nd level accessor. Returns a value for a <em>key1</em> <em>key2</em> in the root nanodom tree. <a href="#2d2e32befe640d263f29884346dcad58"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#38d843231b0917b667ff2011d3ffb7ad">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QString &amp;key3)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">3rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> in the root nanodom tree. <a href="#38d843231b0917b667ff2011d3ffb7ad"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#9a891d7d6611308ac436bb6ffddbe22c">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">4rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> in the root nanodom tree. <a href="#9a891d7d6611308ac436bb6ffddbe22c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#962a4910a7b381b47afbd66b603ea279">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QString &amp;key5)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">5th level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> <em>key5</em> in the root nanodom tree. <a href="#962a4910a7b381b47afbd66b603ea279"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariantList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#ba42a9094fb57418e62b21d134095a8f">keyValues</a> (const QString &amp;key)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of QVariants matching the <em>key</em> in the root tree. <a href="#ba42a9094fb57418e62b21d134095a8f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#9a53418260e9b9ae8bc3da9b0fae2b35">startElement</a> (const QString &amp;, const QString &amp;, const QString &amp;name, const QXmlAttributes &amp;attrs)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called by the XML parser when parsing starts. <a href="#9a53418260e9b9ae8bc3da9b0fae2b35"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#e2884ebc5e4c6e60c2419ab47fb05d37">endElement</a> (const QString &amp;, const QString &amp;, const QString &amp;name)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called by the XML parser when parsing starts. <a href="#e2884ebc5e4c6e60c2419ab47fb05d37"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#bb825f9876e40c023c0b3b1ab0b09828">startPrefixMapping</a> (const QString &amp;prefix, const QString &amp;uri)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a namespace prefix mapping starts. <a href="#bb825f9876e40c023c0b3b1ab0b09828"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#d051fdc20099f73a6595cb229e5c5854">characters</a> (const QString &amp;chars)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called by the XML parser when parsing starts. <a href="#d051fdc20099f73a6595cb229e5c5854"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#5029be111f8fab5d35549fa43530c37c">keySub</a> (const QString &amp;key, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the sub (the trailing) after a given <em>key</em> in the specified <em>dom</em> tree. <a href="#5029be111f8fab5d35549fa43530c37c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a03ebbef1a268c346519b6df4b1937f6">keyValue</a> (const QString &amp;key, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">1st level accessor. Returns a value for a <em>key</em> in the given <em>dom</em> tree. <a href="#a03ebbef1a268c346519b6df4b1937f6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#024ebb8682aad1f091e5a7bbd546e1a6">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">2nd level accessor. Returns a value for a <em>key1</em> <em>key2</em> in the given <em>dom</em> tree. <a href="#024ebb8682aad1f091e5a7bbd546e1a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#db7d4191ae2dbb969ca70fc747beb525">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">3rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> in the given <em>dom</em> tree. <a href="#db7d4191ae2dbb969ca70fc747beb525"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#c6e83786d06889453c11365286f9437b">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">4rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> in the given <em>dom</em> tree. <a href="#c6e83786d06889453c11365286f9437b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#bd83d6201126d39d1061e74cdd0a2b72">keyValue</a> (const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QString &amp;key5, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">5th level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> <em>key5</em> in the given <em>dom</em> tree. <a href="#bd83d6201126d39d1061e74cdd0a2b72"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QVariantList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#3956749eb3393b245b77a8a9c5c892e1">keyValues</a> (const QString &amp;key, const QVariant &amp;dom)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of QVariants matching the <em>key</em> in a given tree. <a href="#3956749eb3393b245b77a8a9c5c892e1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#4966386ef78c065e9fad50a6382770b0">dumpTree</a> (const QVariant &amp;tree, int level)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps a QVariant into a multi-line string for debugging purposes. <a href="#4966386ef78c065e9fad50a6382770b0"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#750f872971e1b36ecffc4ead3250e17d">pushList</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parser internal. Creates a new list and pushes it to the top of the stack. <a href="#750f872971e1b36ecffc4ead3250e17d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#0820f7cc298465a54350f998af40d929">addValue</a> (const QString &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parser internal. Add a value (item) <em>v</em> to the current list on the stack. <a href="#0820f7cc298465a54350f998af40d929"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#db05786203f23b7a96ee1db103582729">popList</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parser internal. <a href="#db05786203f23b7a96ee1db103582729"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QList&lt; QVariant &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551">current</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The current list that we're adding to. Top of the stack, kinda. <a href="#bfef8deeba2c746ee63ae4f1e64f7551"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QStack&lt; QList&lt; QVariant &gt; * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563">stack</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The stack of lists. <a href="#fec8c67035475122807dfacfcd0c3563"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624">rootVariant</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The nanodom root. A list of QVariants usually. <a href="#2e0c55cb00dfdfcb09191b685c9c7624"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295">failed</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is set by the parser to signify an error. <a href="#4d517f665a6ffe310ba89b94f5252295"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21">nspace</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores the namespace uri. <a href="#80322fd3991316e0c5d9e42dbc024a21"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Parses XML files into a nano dom.
+<p>
+This class is not exported in the public API. It's used to parse a formatted XML into a nanodom tree. To learn about the nanadom please read the documentation on the desktop types.<p>
+Short overview - the following XML is being turned into the following semantic structure:<p>
+<div class="fragment"><pre class="fragment"> &lt;key name=<span class="stringliteral">"Example.Random"</span> type=<span class="stringliteral">"string"</span>&gt;
+ &lt;doc&gt;A random <span class="keyword">property</span>.&lt;/doc&gt;
+ &lt;/key&gt;
+
+ [<span class="stringliteral">'key'</span>,
+ [<span class="stringliteral">'name'</span>, <span class="stringliteral">'Example.Random'</span> ],
+ [<span class="stringliteral">'type'</span>, <span class="stringliteral">'string'</span> ],
+ [<span class="stringliteral">'doc'</span>, <span class="stringliteral">'A random property.'</span>]
+ ]
+</pre></div><p>
+Another example:<p>
+<div class="fragment"><pre class="fragment"> &lt;key name=<span class="stringliteral">"Example.Random"</span>&gt;
+ &lt;type&gt;
+ &lt;uniform-list type=<span class="stringliteral">"number"</span>/&gt;
+ &lt;/type&gt;
+ &lt;/key&gt;
+
+ [<span class="stringliteral">'key'</span>,
+ [<span class="stringliteral">'name'</span>, <span class="stringliteral">'Example.Random'</span> ],
+ [<span class="stringliteral">'type'</span>,
+ [<span class="stringliteral">'uniform-list'</span>, [<span class="stringliteral">'type'</span>, <span class="stringliteral">'number'</span> ] ]
+ ]
+ ]
+</pre></div> <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="6bba582991cf13e4af332ae999f650e0"></a><!-- doxytag: member="NanoXml::NanoXml" ref="6bba582991cf13e4af332ae999f650e0" args="(const QString &amp;path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NanoXml::NanoXml </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>path</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor.
+<p>
+Creates a new nanodom tree reading XML data from path. After creating the object you should check the didFail to see if parsing succeded.
+</div>
+</div><p>
+<a class="anchor" name="940fbfce7d0fab29a5ba6b5b840c4d71"></a><!-- doxytag: member="NanoXml::~NanoXml" ref="940fbfce7d0fab29a5ba6b5b840c4d71" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NanoXml::~NanoXml </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0820f7cc298465a54350f998af40d929"></a><!-- doxytag: member="NanoXml::addValue" ref="0820f7cc298465a54350f998af40d929" args="(const QString &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NanoXml::addValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parser internal. Add a value (item) <em>v</em> to the current list on the stack.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d051fdc20099f73a6595cb229e5c5854"></a><!-- doxytag: member="NanoXml::characters" ref="d051fdc20099f73a6595cb229e5c5854" args="(const QString &amp;chars)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NanoXml::characters </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>chars</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called by the XML parser when parsing starts.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b5729afbebfb708cab217298891fe31b"></a><!-- doxytag: member="NanoXml::didFail" ref="b5729afbebfb708cab217298891fe31b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NanoXml::didFail </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns true if parsing failed.
+<p>
+Fals otherwise. Use it to check if the nanodom tree is fine and usable.
+</div>
+</div><p>
+<a class="anchor" name="4966386ef78c065e9fad50a6382770b0"></a><!-- doxytag: member="NanoXml::dumpTree" ref="4966386ef78c065e9fad50a6382770b0" args="(const QVariant &amp;tree, int level)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString NanoXml::dumpTree </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>tree</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>level</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Dumps a QVariant into a multi-line string for debugging purposes.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e2884ebc5e4c6e60c2419ab47fb05d37"></a><!-- doxytag: member="NanoXml::endElement" ref="e2884ebc5e4c6e60c2419ab47fb05d37" args="(const QString &amp;, const QString &amp;, const QString &amp;name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NanoXml::endElement </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called by the XML parser when parsing starts.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5029be111f8fab5d35549fa43530c37c"></a><!-- doxytag: member="NanoXml::keySub" ref="5029be111f8fab5d35549fa43530c37c" args="(const QString &amp;key, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keySub </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the sub (the trailing) after a given <em>key</em> in the specified <em>dom</em> tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fb90496573500eaa24180d37c180dcee"></a><!-- doxytag: member="NanoXml::keySub" ref="fb90496573500eaa24180d37c180dcee" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keySub </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the sub (the trailing) after a given <em>key</em> in the root nanodom tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="bd83d6201126d39d1061e74cdd0a2b72"></a><!-- doxytag: member="NanoXml::keyValue" ref="bd83d6201126d39d1061e74cdd0a2b72" args="(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QString &amp;key5, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key4</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key5</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+5th level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> <em>key5</em> in the given <em>dom</em> tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c6e83786d06889453c11365286f9437b"></a><!-- doxytag: member="NanoXml::keyValue" ref="c6e83786d06889453c11365286f9437b" args="(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key4</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+4rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> in the given <em>dom</em> tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="db7d4191ae2dbb969ca70fc747beb525"></a><!-- doxytag: member="NanoXml::keyValue" ref="db7d4191ae2dbb969ca70fc747beb525" args="(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+3rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> in the given <em>dom</em> tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="024ebb8682aad1f091e5a7bbd546e1a6"></a><!-- doxytag: member="NanoXml::keyValue" ref="024ebb8682aad1f091e5a7bbd546e1a6" args="(const QString &amp;key1, const QString &amp;key2, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+2nd level accessor. Returns a value for a <em>key1</em> <em>key2</em> in the given <em>dom</em> tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a03ebbef1a268c346519b6df4b1937f6"></a><!-- doxytag: member="NanoXml::keyValue" ref="a03ebbef1a268c346519b6df4b1937f6" args="(const QString &amp;key, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+1st level accessor. Returns a value for a <em>key</em> in the given <em>dom</em> tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="962a4910a7b381b47afbd66b603ea279"></a><!-- doxytag: member="NanoXml::keyValue" ref="962a4910a7b381b47afbd66b603ea279" args="(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4, const QString &amp;key5)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key4</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key5</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+5th level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> <em>key5</em> in the root nanodom tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9a891d7d6611308ac436bb6ffddbe22c"></a><!-- doxytag: member="NanoXml::keyValue" ref="9a891d7d6611308ac436bb6ffddbe22c" args="(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3, const QString &amp;key4)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key4</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+4rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> <em>key4</em> in the root nanodom tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="38d843231b0917b667ff2011d3ffb7ad"></a><!-- doxytag: member="NanoXml::keyValue" ref="38d843231b0917b667ff2011d3ffb7ad" args="(const QString &amp;key1, const QString &amp;key2, const QString &amp;key3)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+3rd level accessor. Returns a value for a <em>key1</em> <em>key2</em> <em>key3</em> in the root nanodom tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2d2e32befe640d263f29884346dcad58"></a><!-- doxytag: member="NanoXml::keyValue" ref="2d2e32befe640d263f29884346dcad58" args="(const QString &amp;key1, const QString &amp;key2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+2nd level accessor. Returns a value for a <em>key1</em> <em>key2</em> in the root nanodom tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="064d4d3a52e05535a18305a4612c0450"></a><!-- doxytag: member="NanoXml::keyValue" ref="064d4d3a52e05535a18305a4612c0450" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant NanoXml::keyValue </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+1st level accessor. Returns a value for a <em>key</em> in the root nanodom tree.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3956749eb3393b245b77a8a9c5c892e1"></a><!-- doxytag: member="NanoXml::keyValues" ref="3956749eb3393b245b77a8a9c5c892e1" args="(const QString &amp;key, const QVariant &amp;dom)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariantList NanoXml::keyValues </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>dom</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of QVariants matching the <em>key</em> in a given tree.
+<p>
+A QVariant node matches if it's a list by and it's first element is <em>key</em>.
+</div>
+</div><p>
+<a class="anchor" name="ba42a9094fb57418e62b21d134095a8f"></a><!-- doxytag: member="NanoXml::keyValues" ref="ba42a9094fb57418e62b21d134095a8f" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariantList NanoXml::keyValues </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>key</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the list of QVariants matching the <em>key</em> in the root tree.
+<p>
+A QVariant node matches if it's a list by and it's first element is <em>key</em>.
+</div>
+</div><p>
+<a class="anchor" name="ae6e7c0a8785f75cb06abb27c348833b"></a><!-- doxytag: member="NanoXml::namespaceUri" ref="ae6e7c0a8785f75cb06abb27c348833b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QString NanoXml::namespaceUri </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the namespace URI of the parsed (source) XML document.
+<p>
+Empty if it wasn't specified.
+</div>
+</div><p>
+<a class="anchor" name="db05786203f23b7a96ee1db103582729"></a><!-- doxytag: member="NanoXml::popList" ref="db05786203f23b7a96ee1db103582729" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NanoXml::popList </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parser internal.
+<p>
+Pops one list from the stack. Closes the list and attaches it to the previoius list on the stack.
+</div>
+</div><p>
+<a class="anchor" name="750f872971e1b36ecffc4ead3250e17d"></a><!-- doxytag: member="NanoXml::pushList" ref="750f872971e1b36ecffc4ead3250e17d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void NanoXml::pushList </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Parser internal. Creates a new list and pushes it to the top of the stack.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="34bebe2d3d74159d94c4d4b3abd6480f"></a><!-- doxytag: member="NanoXml::root" ref="34bebe2d3d74159d94c4d4b3abd6480f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QVariant &amp; NanoXml::root </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the root of the nanodom tree.
+<p>
+If parsing XML failed, it will return and empty QVariant. Otherwise it returns a QVariant containing a list of other QVariants.
+</div>
+</div><p>
+<a class="anchor" name="9a53418260e9b9ae8bc3da9b0fae2b35"></a><!-- doxytag: member="NanoXml::startElement" ref="9a53418260e9b9ae8bc3da9b0fae2b35" args="(const QString &amp;, const QString &amp;, const QString &amp;name, const QXmlAttributes &amp;attrs)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NanoXml::startElement </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname">, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QXmlAttributes &amp;&nbsp;</td>
+ <td class="paramname"> <em>attrs</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called by the XML parser when parsing starts.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="bb825f9876e40c023c0b3b1ab0b09828"></a><!-- doxytag: member="NanoXml::startPrefixMapping" ref="bb825f9876e40c023c0b3b1ab0b09828" args="(const QString &amp;prefix, const QString &amp;uri)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool NanoXml::startPrefixMapping </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>prefix</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>uri</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Called when a namespace prefix mapping starts.
+<p>
+We use this to get the xml version.
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="bfef8deeba2c746ee63ae4f1e64f7551"></a><!-- doxytag: member="NanoXml::current" ref="bfef8deeba2c746ee63ae4f1e64f7551" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QList&lt;QVariant&gt;* <a class="el" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551">NanoXml::current</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The current list that we're adding to. Top of the stack, kinda.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4d517f665a6ffe310ba89b94f5252295"></a><!-- doxytag: member="NanoXml::failed" ref="4d517f665a6ffe310ba89b94f5252295" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295">NanoXml::failed</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+This is set by the parser to signify an error.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="80322fd3991316e0c5d9e42dbc024a21"></a><!-- doxytag: member="NanoXml::nspace" ref="80322fd3991316e0c5d9e42dbc024a21" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21">NanoXml::nspace</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Stores the namespace uri.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2e0c55cb00dfdfcb09191b685c9c7624"></a><!-- doxytag: member="NanoXml::rootVariant" ref="2e0c55cb00dfdfcb09191b685c9c7624" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant <a class="el" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624">NanoXml::rootVariant</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The nanodom root. A list of QVariants usually.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fec8c67035475122807dfacfcd0c3563"></a><!-- doxytag: member="NanoXml::stack" ref="fec8c67035475122807dfacfcd0c3563" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStack&lt;QList &lt;QVariant&gt;* &gt; <a class="el" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563">NanoXml::stack</a><code> [private]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The stack of lists.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="nanoxml_8h-source.html">nanoxml.h</a><li><a class="el" href="nanoxml_8cpp.html">nanoxml.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher-members.html b/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher-members.html
new file mode 100644
index 00000000..5653ee23
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher-members.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>SafeDBusPendingCallWatcher Member List</h1>This is the complete list of members for <a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="class_safe_d_bus_pending_call_watcher.html#42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a>(const QDBusPendingCall &amp;call, QObject *parent=0)</td><td><a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a></td><td><code> [inline]</code></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher.html b/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher.html
new file mode 100644
index 00000000..b6880fe0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: SafeDBusPendingCallWatcher Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>SafeDBusPendingCallWatcher Class Reference</h1><!-- doxytag: class="SafeDBusPendingCallWatcher" -->Deletes itself after the <code>finished()</code> signal is emitted (and the mainloop entered).
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="safedbuspendingcallwatcher_8h-source.html">safedbuspendingcallwatcher.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="class_safe_d_bus_pending_call_watcher-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_safe_d_bus_pending_call_watcher.html#42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a> (const QDBusPendingCall &amp;call, QObject *parent=0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Deletes itself after the <code>finished()</code> signal is emitted (and the mainloop entered).
+<p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="42bd0855e807cce5477ea61f4f094526"></a><!-- doxytag: member="SafeDBusPendingCallWatcher::SafeDBusPendingCallWatcher" ref="42bd0855e807cce5477ea61f4f094526" args="(const QDBusPendingCall &amp;call, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SafeDBusPendingCallWatcher::SafeDBusPendingCallWatcher </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusPendingCall &amp;&nbsp;</td>
+ <td class="paramname"> <em>call</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QObject *&nbsp;</td>
+ <td class="paramname"> <em>parent</em> = <code>0</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="safedbuspendingcallwatcher_8h-source.html">safedbuspendingcallwatcher.h</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_subscriber_interface.html b/libcontextsubscriber/doc/html/class_subscriber_interface.html
new file mode 100644
index 00000000..7b11b2d7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_subscriber_interface.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: SubscriberInterface Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>SubscriberInterface Class Reference</h1><!-- doxytag: class="SubscriberInterface" -->Proxy class for using the DBus interface org.freedesktop.ContextKit.Subscriber asynchronously.
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Proxy class for using the DBus interface org.freedesktop.ContextKit.Subscriber asynchronously.
+<p>
+Implements methods for constructing the interface objects (given the DBus type, session or system, and bus name), calling the functions Subscribe and Unsubscribe asynchronously, and listening to the Changed signal. <hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_subscriber_signalling_interface.html b/libcontextsubscriber/doc/html/class_subscriber_signalling_interface.html
new file mode 100644
index 00000000..3ec73e43
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_subscriber_signalling_interface.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: SubscriberSignallingInterface Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>SubscriberSignallingInterface Class Reference</h1><!-- doxytag: class="SubscriberSignallingInterface" -->Proxy class for the DBus interface org.freedesktop.ContextKit.Subscriber which connects automatically to the Changed signal over DBus.
+<a href="#_details">More...</a>
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Proxy class for the DBus interface org.freedesktop.ContextKit.Subscriber which connects automatically to the Changed signal over DBus.
+<p>
+It has to be a separate class because it needs the connection at initialization time, and we want to pass only the bus type which will be used to create the connection _after_ initialization time. <hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/classes.html b/libcontextsubscriber/doc/html/classes.html
new file mode 100644
index 00000000..96899b33
--- /dev/null
+++ b/libcontextsubscriber/doc/html/classes.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li class="current"><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div><p>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_nano_xml.html">NanoXml</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_subscriber_interface.html">SubscriberInterface</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_c_d_b_reader.html">CDBReader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_real_logger.html">ContextRealLogger</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_info_backend.html">InfoBackend</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_c_d_b_writer.html">CDBWriter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_subscriber_signalling_interface.html">SubscriberSignallingInterface</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_context_feature.html">ContextFeature</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_info_key_data.html">InfoKeyData</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextKitPlugin</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">QueuedInvoker</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="class_context_property.html">ContextProperty</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a></div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextkitplugin_8cpp.html b/libcontextsubscriber/doc/html/contextkitplugin_8cpp.html
new file mode 100644
index 00000000..fec8bfd4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextkitplugin_8cpp.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextkitplugin.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextkitplugin.cpp File Reference</h1><code>#include &quot;<a class="el" href="contextkitplugin_8h-source.html">contextkitplugin.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="subscriberinterface_8h-source.html">subscriberinterface.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QTimer&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextkitplugin_8cpp.html#70307658405a252817d4081fd82eabe9">contextKitPluginFactory</a> (QString constructionString)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new instance, the service to connect to has to be passed in <code>constructionString</code> in the format <code>[session|dbus]:servicename</code>. <a href="#70307658405a252817d4081fd82eabe9"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="70307658405a252817d4081fd82eabe9"></a><!-- doxytag: member="contextkitplugin.cpp::contextKitPluginFactory" ref="70307658405a252817d4081fd82eabe9" args="(QString constructionString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a>* contextKitPluginFactory </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>constructionString</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new instance, the service to connect to has to be passed in <code>constructionString</code> in the format <code>[session|dbus]:servicename</code>.
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextkitplugin_8h-source.html b/libcontextsubscriber/doc/html/contextkitplugin_8h-source.html
new file mode 100644
index 00000000..1c4f9eb3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextkitplugin_8h-source.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextkitplugin.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>contextkitplugin.h</h1><a href="contextkitplugin_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXTKITPLUGIN_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTKITPLUGIN_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="dbusnamelistener_8h.html">dbusnamelistener.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="subscriberinterface_8h.html">subscriberinterface.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="provider_8h.html">provider.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="iproviderplugin_8h.html">iproviderplugin.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="asyncdbusinterface_8h.html">asyncdbusinterface.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;QDBusObjectPath&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;QMap&gt;</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+<a name="l00038"></a>00038 <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html" title="Interface for provider plugins.">ContextSubscriber::IProviderPlugin</a>* <a class="code" href="contextkitplugin_8cpp.html#70307658405a252817d4081fd82eabe9" title="Creates a new instance, the service to connect to has to be passed in constructionString...">contextKitPluginFactory</a>(QString constructionString);
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00042"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html">00042</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html" title="Implementation of the ContextKit D-Bus protocol.">ContextKitPlugin</a> : <span class="keyword">public</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html" title="Interface for provider plugins.">IProviderPlugin</a>
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 Q_OBJECT
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">public</span>:
+<a name="l00047"></a>00047 <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#b3728dd869ea64e058f4f7c35a4bb067" title="Creates subscriber and manager interface, tries to get a subscriber instance from...">ContextKitPlugin</a>(<span class="keyword">const</span> QDBusConnection bus, <span class="keyword">const</span> QString&amp; <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c" title="The D-Bus service name of the ContextKit provider connected to.">busName</a>);
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a45ae69058525f998ed5eb0c275cac75" title="Forwards the subscribe request to the wire.">subscribe</a>(QSet&lt;QString&gt; keys);
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#4936904e1483e3f06c86e10d65a39e50" title="Forwards the unsubscribe request to the wire.">unsubscribe</a>(QSet&lt;QString&gt; keys);
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 signals:
+<a name="l00052"></a>00052 <span class="preprocessor">#ifdef DOXYGEN_ONLY</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#cb1ad4d2dafa9c137acff2a84916686f" title="Emitted when the GetSubscriber call returns successfully.">ready</a>();
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#659b0f0fcb7a740975fadc55c670bbf7" title="Emitted when the GetSubscriber call fails or provider not on D-Bus at all.">failed</a>(QString error);
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#4a3fcd522bbb2cc67c5821bcf15ed3d4" title="Emitted when Subscribe call succeeds on D-Bus.">subscribeFinished</a>(QString key);
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#803a4bf54f2017025bc314fc14702513" title="Emitted when Subscribe call fails on D-Bus.">subscribeFailed</a>(QString failedKey, QString error);
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#5603631c4a9e7f6a4cbe05af6dfe5c48" title="Emitted when ValueChanged signal comes on D-Bus.">valueChanged</a>(QString key, QVariant value);
+<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00060"></a>00060 <span class="keyword">private</span> slots:
+<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#119181d213c126458f065a0b10e7e281" title="Forwards value changes from the wire to the upper layer (Provider).">onDBusValuesChanged</a>(QMap&lt;QString, QVariant&gt; values);
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#9391a2ed305e25493a611c25ed9aa7a2" title="Starts using the fresh subscriber interface when it is returned by the manager in...">onDBusGetSubscriberFinished</a>(QDBusObjectPath objectPath);
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#192e933ca4f023f84de709e84fbe47e7">onDBusGetSubscriberFailed</a>(QDBusError err);
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#83385b7cf39ae293e6e06705f952f9a1" title="Signals the Provider that the subscribe is finished.">onDBusSubscribeFinished</a>(QList&lt;QString&gt; keys);
+<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ca1f1f90efb47950385d5814dadc573d" title="Signals the Provider that the subscribe is failed.">onDBusSubscribeFailed</a>(QList&lt;QString&gt; keys, QString error);
+<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ef61e0a51dad4988fe264474cb2bdd7d" title="Gets a new subscriber interface from manager when the provider appears.">onProviderAppeared</a>();
+<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#0ebafac80dca92564323f78a1fbfa6b7" title="Delete our subscriber interface when the provider goes away.">onProviderDisappeared</a>();
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">private</span>:
+<a name="l00070"></a>00070 QMap&lt;QString, QVariant&gt;&amp; <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#1f2999785a6f653a95a946bcc09d05ba">mergeNullsWithMap</a>(QMap&lt;QString, QVariant&gt; &amp;map, QStringList nulls) <span class="keyword">const</span>;
+<a name="l00071"></a>00071
+<a name="l00072"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424">00072</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html" title="Listens for changes in a specific service name on a D-Bus bus, optionally gets the...">DBusNameListener</a> *<a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424" title="Listens to provider&amp;#39;s (dis)appearance over DBus.">providerListener</a>;
+<a name="l00073"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331">00073</a> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> *<a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331" title="The D-Bus interface for the Subscriber object.">subscriberInterface</a>;
+<a name="l00074"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b">00074</a> QDBusAbstractInterface *<a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b" title="The D-Bus interface for the Manager object.">managerInterface</a>;
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270">00076</a> QDBusConnection *<a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270" title="The connection to DBus.">connection</a>;
+<a name="l00077"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">00077</a> QString busName;
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523">00079</a> <span class="keyword">static</span> <span class="keyword">const</span> QString <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523" title="org.freedesktop.ContextKit.Manager">managerIName</a>;
+<a name="l00080"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836">00080</a> <span class="keyword">static</span> <span class="keyword">const</span> QString <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836" title="org.freedesktop.ContextKit.Subscriber">subscriberIName</a>;
+<a name="l00081"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e">00081</a> <span class="keyword">static</span> <span class="keyword">const</span> QString <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e" title="/org/freedesktop/ContextKit/Manager">managerPath</a>;
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextkitplugin_8h.html b/libcontextsubscriber/doc/html/contextkitplugin_8h.html
new file mode 100644
index 00000000..af3e0d4a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextkitplugin_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextkitplugin.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextkitplugin.h File Reference</h1><code>#include &quot;<a class="el" href="dbusnamelistener_8h-source.html">dbusnamelistener.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="subscriberinterface_8h-source.html">subscriberinterface.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="provider_8h-source.html">provider.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="iproviderplugin_8h-source.html">iproviderplugin.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="asyncdbusinterface_8h-source.html">asyncdbusinterface.h</a>&quot;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QDBusObjectPath&gt;</code><br>
+<code>#include &lt;QSet&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QMap&gt;</code><br>
+
+<p>
+<a href="contextkitplugin_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation of the ContextKit D-Bus protocol. <a href="class_context_subscriber_1_1_context_kit_plugin.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextkitplugin_8h.html#70307658405a252817d4081fd82eabe9">contextKitPluginFactory</a> (QString constructionString)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new instance, the service to connect to has to be passed in <code>constructionString</code> in the format <code>[session|dbus]:servicename</code>. <a href="#70307658405a252817d4081fd82eabe9"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="70307658405a252817d4081fd82eabe9"></a><!-- doxytag: member="contextkitplugin.h::contextKitPluginFactory" ref="70307658405a252817d4081fd82eabe9" args="(QString constructionString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a>* contextKitPluginFactory </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>constructionString</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Creates a new instance, the service to connect to has to be passed in <code>constructionString</code> in the format <code>[session|dbus]:servicename</code>.
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextproperty_8cpp.html b/libcontextsubscriber/doc/html/contextproperty_8cpp.html
new file mode 100644
index 00000000..d6654003
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproperty_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextproperty.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextproperty.cpp File Reference</h1><code>#include &quot;<a class="el" href="contextproperty_8h-source.html">contextproperty.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="propertyhandle_8h-source.html">propertyhandle.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &lt;QCoreApplication&gt;</code><br>
+<code>#include &lt;QThread&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The private parts of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class. <a href="struct_context_property_private.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextproperty_8h-source.html b/libcontextsubscriber/doc/html/contextproperty_8h-source.html
new file mode 100644
index 00000000..a9b27ceb
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproperty_8h-source.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextproperty.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>contextproperty.h</h1><a href="contextproperty_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXTPROPERTY_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTPROPERTY_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">class </span><a class="code" href="struct_context_property_private.html" title="The private parts of the ContextProperty class.">ContextPropertyPrivate</a>;
+<a name="l00030"></a>00030 <span class="keyword">class </span><a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a>;
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="class_context_property.html">00032</a> <span class="keyword">class </span><a class="code" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> : <span class="keyword">public</span> QObject
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 Q_OBJECT
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">public</span>:
+<a name="l00037"></a>00037 <span class="keyword">explicit</span> <a class="code" href="class_context_property.html#79283034949fe9cf79106b7ea221439a" title="Constructs a new ContextProperty for key and subscribes to it.">ContextProperty</a>(<span class="keyword">const</span> QString &amp;<a class="code" href="class_context_property.html#fc2a01b6895b75e73a049e9143a16a22" title="Returns the key.">key</a>, QObject *parent = 0);
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">virtual</span> <a class="code" href="class_context_property.html#ddc93c0539a8ffd2c2c9439e5ccd8628" title="Unsubscribes from the ContextProperty and destroys it.">~ContextProperty</a>();
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 QString <a class="code" href="class_context_property.html#fc2a01b6895b75e73a049e9143a16a22" title="Returns the key.">key</a>() <span class="keyword">const</span>;
+<a name="l00042"></a>00042 QVariant <a class="code" href="class_context_property.html#4c295fefdf793557472959f9e2f3e18c" title="Returns the current value.">value</a>(<span class="keyword">const</span> QVariant &amp;def) <span class="keyword">const</span>;
+<a name="l00043"></a>00043 QVariant <a class="code" href="class_context_property.html#4c295fefdf793557472959f9e2f3e18c" title="Returns the current value.">value</a>() <span class="keyword">const</span>;
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">const</span> <a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a>* <a class="code" href="class_context_property.html#f5d07cd67b0c7a94d0912900e2729cbb" title="Returns the metadata about this property, please refer to Introspection for details...">info</a>() <span class="keyword">const</span>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326" title="Starts subscribtion to the context property, if it isn&amp;#39;t subscribed already.">subscribe</a> () <span class="keyword">const</span>;
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350" title="Unsubscribes from the context property, if it is currently subscribed.">unsubscribe</a> () <span class="keyword">const</span>;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_property.html#8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription</a> () <span class="keyword">const</span>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_context_property.html#8654f1a0b2e6e3e58d6fc2830a5fbb8b" title="Sets all of the ContextProperty instances immune to &amp;#39;external commanding&amp;#39;...">ignoreCommander</a>();
+<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_context_property.html#47a70ecc83ea7b819728a3430d860100" title="Enables or disables all of the ContextProperty instances&amp;#39; type-check feature...">setTypeCheck</a>(<span class="keywordtype">bool</span> typeCheck);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 signals:
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged</a>();
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">private</span>:
+<a name="l00059"></a><a class="code" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">00059</a> <a class="code" href="struct_context_property_private.html" title="The private parts of the ContextProperty class.">ContextPropertyPrivate</a> *<a class="code" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">priv</a>;
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextproperty_8h.html b/libcontextsubscriber/doc/html/contextproperty_8h.html
new file mode 100644
index 00000000..54f9473f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproperty_8h.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextproperty.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextproperty.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+
+<p>
+<a href="contextproperty_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html">ContextProperty</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class allows access to keys and their values. <a href="class_context_property.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextpropertyinfo_8cpp.html b/libcontextsubscriber/doc/html/contextpropertyinfo_8cpp.html
new file mode 100644
index 00000000..f94d4de9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextpropertyinfo_8cpp.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextpropertyinfo.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextpropertyinfo.cpp File Reference</h1><code>#include &quot;<a class="el" href="contextpropertyinfo_8h-source.html">contextpropertyinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextpropertyinfo_8h-source.html b/libcontextsubscriber/doc/html/contextpropertyinfo_8h-source.html
new file mode 100644
index 00000000..f899fafe
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextpropertyinfo_8h-source.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextpropertyinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>contextpropertyinfo.h</h1><a href="contextpropertyinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXTPROPERTYINFO_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTPROPERTYINFO_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QMutex&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>"</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="class_context_property_info.html">00032</a> <span class="keyword">class </span><a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> : <span class="keyword">public</span> QObject
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 Q_OBJECT
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">public</span>:
+<a name="l00037"></a><a class="code" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">00037</a> <span class="keyword">enum</span> <a class="code" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> { <a class="code" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6">LastValue</a> };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">explicit</span> <a class="code" href="class_context_property_info.html#dd1b6db4bfb5c36cd6ae9b9352112c4c" title="Constructs a new ContextPropertyInfo for key with the given parent.">ContextPropertyInfo</a>(<span class="keyword">const</span> QString &amp;<a class="code" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>, QObject *parent = 0);
+<a name="l00040"></a>00040
+<a name="l00042"></a><a class="code" href="class_context_property_info.html#1c06eaa93db43664c42435c4a0394d8d">00042</a> <span class="keyword">virtual</span> <a class="code" href="class_context_property_info.html#1c06eaa93db43664c42435c4a0394d8d" title="Destroys the object.">~ContextPropertyInfo</a>() {}
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 QString <a class="code" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>() <span class="keyword">const</span>;
+<a name="l00045"></a>00045 QString <a class="code" href="class_context_property_info.html#d8b0cd1c2e29b63a0a672fd407ce4150" title="Returns the doc (documentation) for the introspected key.">doc</a>() <span class="keyword">const</span>;
+<a name="l00046"></a>00046 QString <a class="code" href="class_context_property_info.html#7f8e0cc9c8439e6ec109a16a80a2d3fc" title="Returns the type name for the introspected key.">type</a>() <span class="keyword">const</span>;
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#c5540a24a4610bb641f8e64a48d4f356" title="DEPRECATED Returns true if the key exists in the registry.">exists</a>() <span class="keyword">const</span>;
+<a name="l00048"></a>00048 <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#054dbdee21942623bf6e9679903e4384" title="Returns true if the key is declared in the registry (it &amp;quot;exists&amp;quot;).">declared</a>() <span class="keyword">const</span>;
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#9d270042f069bafc0f994b3b19804d8a" title="Returns true if the key is provided by someone.">provided</a>() <span class="keyword">const</span>;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 QString <a class="code" href="class_context_property_info.html#f2e6ee62ab7203f3750dc9851bf67868" title="DEPRECATED Returns the dbus name of the provider supplying this property/key.">providerDBusName</a>() <span class="keyword">const</span>;
+<a name="l00052"></a>00052 QDBusConnection::BusType <a class="code" href="class_context_property_info.html#ee09f09db9cc631bc3d175cae7f0f671" title="DEPRECATED Returns the bus type of the provider supplying this property/key.">providerDBusType</a>() <span class="keyword">const</span>;
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 QString <a class="code" href="class_context_property_info.html#b67e0d20a267bae467bd449358273fbc" title="DEPRECATED Returns the name of the plugin supplying this property.">plugin</a>() <span class="keyword">const</span>;
+<a name="l00055"></a>00055 QString <a class="code" href="class_context_property_info.html#c638ba6bd9336c58174fa8bb20fa7d4e" title="DEPRECATED Returns the construction parameter for the Provider supplying this property...">constructionString</a>() <span class="keyword">const</span>;
+<a name="l00056"></a>00056 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers</a>() <span class="keyword">const</span>;
+<a name="l00057"></a>00057 <a class="code" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> <a class="code" href="class_context_property_info.html#4afd9d028d9d13f6e3fb9b7be1cb84d3" title="Returns resolution strategy for this property.">resolutionStrategy</a>() <span class="keyword">const</span>;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">protected</span>:
+<a name="l00060"></a>00060 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#2453fc77a1afba74a661d8c15836e69d" title="Called when people connect to signals.">connectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">private</span>:
+<a name="l00063"></a><a class="code" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f">00063</a> QString <a class="code" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f" title="The name of the key his ContextPropertyInfo represents.">keyName</a>;
+<a name="l00064"></a><a class="code" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601">00064</a> QString <a class="code" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601" title="Cached documentation of the key.">cachedDoc</a>;
+<a name="l00065"></a><a class="code" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16">00065</a> QString <a class="code" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16" title="Cached (stored) type of the key.">cachedType</a>;
+<a name="l00066"></a><a class="code" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26">00066</a> <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26" title="Cached state of the key (existance).">cachedDeclared</a>;
+<a name="l00067"></a><a class="code" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4">00067</a> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4" title="Cached list of providers for this key.">cachedProviders</a>;
+<a name="l00068"></a><a class="code" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e">00068</a> <span class="keyword">mutable</span> QMutex <a class="code" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e" title="Lock for the cache.">cacheLock</a>;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 QString <a class="code" href="class_context_property_info.html#f09ce2c166d9fa87ec4c3cba6b0cabee" title="DEPRECATED Returns the dbus name of the provider supplying this property/key.">providerDBusName_i</a>() <span class="keyword">const</span>;
+<a name="l00071"></a>00071 QDBusConnection::BusType <a class="code" href="class_context_property_info.html#d4dc52a73150d57b19b2b37a07ff1342">providerDBusType_i</a>() <span class="keyword">const</span>;
+<a name="l00072"></a>00072 QString <a class="code" href="class_context_property_info.html#38e61db02d8f588924d59b60a74a468a">plugin_i</a>() <span class="keyword">const</span>;
+<a name="l00073"></a>00073 QString <a class="code" href="class_context_property_info.html#36db2252d9263d4f45aafaf57392d467">constructionString_i</a>() <span class="keyword">const</span>;
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">private</span> slots:
+<a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#4dedbecfb6d9c0c0b2be0329c20e405a" title="This slot is connected to the keyChanged signal of the actual infobackend instance...">onKeyChanged</a>(<span class="keyword">const</span> QString&amp; <a class="code" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>);
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 signals:
+<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#19bb4eb5067f8bd9504db7733b02be26" title="DEPRECATED, use changed() signal.">providerChanged</a>(<span class="keyword">const</span> QString&amp; newProvider);
+<a name="l00085"></a>00085
+<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#5c03f07e13e9decec21d9bcc415bd35c" title="DEPRECATED, use changed() signal.">providerDBusTypeChanged</a>(QDBusConnection::BusType newBusType);
+<a name="l00092"></a>00092
+<a name="l00098"></a>00098 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#ffead559621ed710667dddafd240db58" title="DEPRECATED, use changed() signal.">typeChanged</a>(<span class="keyword">const</span> QString&amp; newType);
+<a name="l00099"></a>00099
+<a name="l00106"></a>00106 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#9d4c44c032c884821a3cc643f759cbb2" title="DEPRECATED, use changed() signal.">existsChanged</a>(<span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#c5540a24a4610bb641f8e64a48d4f356" title="DEPRECATED Returns true if the key exists in the registry.">exists</a>);
+<a name="l00107"></a>00107
+<a name="l00114"></a>00114 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#37c67d07a2f0c361378ac79e6589a968" title="DEPRECATED, use changed() signal.">providedChanged</a>(<span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#9d270042f069bafc0f994b3b19804d8a" title="Returns true if the key is provided by someone.">provided</a>);
+<a name="l00115"></a>00115
+<a name="l00122"></a>00122 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#9523b5b197a619e783b8ba3780a391aa" title="DEPRECATED, use changed() signal.">pluginChanged</a>(QString <a class="code" href="class_context_property_info.html#b67e0d20a267bae467bd449358273fbc" title="DEPRECATED Returns the name of the plugin supplying this property.">plugin</a>, QString <a class="code" href="class_context_property_info.html#c638ba6bd9336c58174fa8bb20fa7d4e" title="DEPRECATED Returns the construction parameter for the Provider supplying this property...">constructionString</a>);
+<a name="l00123"></a>00123
+<a name="l00127"></a>00127 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed</a>(QString <a class="code" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>);
+<a name="l00128"></a>00128
+<a name="l00129"></a><a class="code" href="class_context_property_info.html#b6564dd36e6061c758e4af95c313ef9b">00129</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_property_info.html#b6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfoUnitTest</a>;
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="preprocessor">#endif // CONTEXTPROPERTYINFO_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextpropertyinfo_8h.html b/libcontextsubscriber/doc/html/contextpropertyinfo_8h.html
new file mode 100644
index 00000000..f1634182
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextpropertyinfo_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextpropertyinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextpropertyinfo.h File Reference</h1><code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+
+<p>
+<a href="contextpropertyinfo_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class to introspect a context property details. <a href="class_context_property_info.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextproviderinfo_8h-source.html b/libcontextsubscriber/doc/html/contextproviderinfo_8h-source.html
new file mode 100644
index 00000000..cfc60350
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproviderinfo_8h-source.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextproviderinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>contextproviderinfo.h</h1><a href="contextproviderinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXTPROVIDERINFO_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTPROVIDERINFO_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a><a class="code" href="struct_context_provider_info.html">00028</a> <span class="keyword">struct </span><a class="code" href="struct_context_provider_info.html">ContextProviderInfo</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a><a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">00030</a> QString <a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a>;
+<a name="l00031"></a><a class="code" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">00031</a> QString <a class="code" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a>;
+<a name="l00032"></a><a class="code" href="struct_context_provider_info.html#4921a7a3f436365be181bbb14a1a7974">00032</a> <a class="code" href="struct_context_provider_info.html#4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>(<span class="keyword">const</span> QString&amp; <a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a>, <span class="keyword">const</span> QString&amp; <a class="code" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a>)
+<a name="l00033"></a>00033 : plugin(plugin), constructionString(constructionString) { }
+<a name="l00034"></a><a class="code" href="struct_context_provider_info.html#a989d7c55042d3eef5d514e017658b0c">00034</a> <span class="keywordtype">bool</span> <a class="code" href="struct_context_provider_info.html#a989d7c55042d3eef5d514e017658b0c">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_context_provider_info.html">ContextProviderInfo</a>&amp; other)<span class="keyword"> const</span>
+<a name="l00035"></a>00035 <span class="keyword"> </span>{
+<a name="l00036"></a>00036 <span class="keywordflow">return</span> <a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a> &lt; other.<a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a> ||
+<a name="l00037"></a>00037 (<a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a> == other.<a class="code" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a> &amp;&amp; <a class="code" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a> &lt; other.<a class="code" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a>);
+<a name="l00038"></a>00038 }
+<a name="l00039"></a>00039 };
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#endif // CONTEXTPROVIDERINFO</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextproviderinfo_8h.html b/libcontextsubscriber/doc/html/contextproviderinfo_8h.html
new file mode 100644
index 00000000..ec7e01c1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproviderinfo_8h.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextproviderinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextproviderinfo.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+
+<p>
+<a href="contextproviderinfo_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextregistryinfo_8cpp.html b/libcontextsubscriber/doc/html/contextregistryinfo_8cpp.html
new file mode 100644
index 00000000..87e7fce2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextregistryinfo_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextregistryinfo.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextregistryinfo.cpp File Reference</h1><code>#include &quot;<a class="el" href="contextregistryinfo_8h-source.html">contextregistryinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<code>#include &lt;QCoreApplication&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextregistryinfo_8h-source.html b/libcontextsubscriber/doc/html/contextregistryinfo_8h-source.html
new file mode 100644
index 00000000..30a6458a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextregistryinfo_8h-source.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextregistryinfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>contextregistryinfo.h</h1><a href="contextregistryinfo_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef CONTEXTREGISTRYINFO_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTREGISTRYINFO_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a><a class="code" href="class_context_registry_info.html">00029</a> <span class="keyword">class </span><a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> : <span class="keyword">public</span> QObject
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 Q_OBJECT
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">public</span>:
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">static</span> <a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>* <a class="code" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">instance</a>(<span class="keyword">const</span> QString &amp;<a class="code" href="class_context_registry_info.html#8af42fc0ba5306234d06a238056cce99" title="Returns the name of the currently used registry backend. Ie. &amp;quot;cdb&amp;quot; or &amp;quot;xml&amp;quot;...">backendName</a> = <span class="stringliteral">""</span>);
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 QStringList <a class="code" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060" title="Returns the list of all the keys currently availible in the registry.">listKeys</a>() <span class="keyword">const</span>;
+<a name="l00038"></a>00038 QStringList <a class="code" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060" title="Returns the list of all the keys currently availible in the registry.">listKeys</a>(QString providername) <span class="keyword">const</span>;
+<a name="l00039"></a>00039 QStringList <a class="code" href="class_context_registry_info.html#195777381facfb937a992c08c8647519" title="DEPRECATED Returns the list of all the keys associated with the given plugin.">listKeysForPlugin</a>(QString plugin) <span class="keyword">const</span>;
+<a name="l00040"></a>00040 QStringList <a class="code" href="class_context_registry_info.html#cd9c94071cdd4e01e1b3f42d0e240e25" title="DEPRECATED Returns the list of all unique providers in the registry.">listProviders</a>() <span class="keyword">const</span>;
+<a name="l00041"></a>00041 QStringList <a class="code" href="class_context_registry_info.html#288081af4423fdc54c0e6db4591a8f34" title="DEPRECATED Returns the list of all unique plugins in the registry.">listPlugins</a>() <span class="keyword">const</span>;
+<a name="l00042"></a>00042 QString <a class="code" href="class_context_registry_info.html#8af42fc0ba5306234d06a238056cce99" title="Returns the name of the currently used registry backend. Ie. &amp;quot;cdb&amp;quot; or &amp;quot;xml&amp;quot;...">backendName</a>() <span class="keyword">const</span>;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">private</span>:
+<a name="l00045"></a><a class="code" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">00045</a> <a class="code" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>() {};
+<a name="l00046"></a>00046 <a class="code" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>(<span class="keyword">const</span> <a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>&amp;);
+<a name="l00047"></a>00047 <a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>&amp; <a class="code" href="class_context_registry_info.html#3f47c39171329446d574da87b18b49ad" title="Private operator. Do not use.">operator=</a>(<span class="keyword">const</span> <a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>&amp;);
+<a name="l00048"></a>00048
+<a name="l00051"></a><a class="code" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a">00051</a> <span class="keyword">static</span> <a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a>* <a class="code" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a" title="Holds the actual pointer to the singelton instance.">registryInstance</a>;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">protected</span>:
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#a25ae78e991e72aba1442487e3a7661d" title="Called when people connect to signals.">connectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">private</span> slots:
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#93732cc21af7bfaf26a89a34c9855e26" title="This is connected to the keysChanged of the actual info backend instance.">onKeysChanged</a>(<span class="keyword">const</span> QStringList&amp; currentKeys);
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#2dee38dbb2c673b1ddab29fbe578dd44" title="This is connected to the keysAdded of the actual info backend instance.">onKeysAdded</a>(<span class="keyword">const</span> QStringList&amp; newKeys);
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#a9bd4d704c5cda390b7186bdca213dbc" title="This is connected to the keysRemoved of the actual info backend instance.">onKeysRemoved</a>(<span class="keyword">const</span> QStringList&amp; removedKeys);
+<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#3edf9b27770690632f8950a832a726a0" title="This is connected to the listChanged of the actual info backend instance.">onListChanged</a>();
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 signals:
+<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#455bf52414fc5b7e0be384769af4dc0b" title="DEPRECATED use changed signal instead.">keysChanged</a>(<span class="keyword">const</span> QStringList&amp; currentKeys);
+<a name="l00070"></a>00070
+<a name="l00075"></a>00075 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#89e54a28e6293e102d3c6cc1c56203a8" title="DEPRECATED use changed signal instead.">keysAdded</a>(<span class="keyword">const</span> QStringList&amp; newKeys);
+<a name="l00076"></a>00076
+<a name="l00081"></a>00081 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#93f77b8ca933babf05a1f26d488a5093" title="DEPRECATED use changed signal instead.">keysRemoved</a>(<span class="keyword">const</span> QStringList&amp; removedKeys);
+<a name="l00082"></a>00082
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="class_context_registry_info.html#b812fc743282bca20289cd6b28f7de14" title="Emitted when the list of provided keys changes (keys were added or removed).">changed</a>();
+<a name="l00088"></a>00088
+<a name="l00089"></a><a class="code" href="class_context_registry_info.html#af710ed7356d597c5a7a04cbe74eb5a4">00089</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_registry_info.html#af710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfoUnitTest</a>;
+<a name="l00090"></a>00090 };
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contextregistryinfo_8h.html b/libcontextsubscriber/doc/html/contextregistryinfo_8h.html
new file mode 100644
index 00000000..09069eca
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextregistryinfo_8h.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: contextregistryinfo.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>contextregistryinfo.h File Reference</h1><code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+
+<p>
+<a href="contextregistryinfo_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class to introspect the registry contents. <a href="class_context_registry_info.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/dbusnamelistener_8cpp.html b/libcontextsubscriber/doc/html/dbusnamelistener_8cpp.html
new file mode 100644
index 00000000..7454266a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/dbusnamelistener_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: dbusnamelistener.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>dbusnamelistener.cpp File Reference</h1><code>#include &quot;<a class="el" href="dbusnamelistener_8h-source.html">dbusnamelistener.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="safedbuspendingcallwatcher_8h-source.html">safedbuspendingcallwatcher.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &lt;QDBusConnectionInterface&gt;</code><br>
+<code>#include &lt;QPair&gt;</code><br>
+<code>#include &lt;QMap&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/dbusnamelistener_8h-source.html b/libcontextsubscriber/doc/html/dbusnamelistener_8h-source.html
new file mode 100644
index 00000000..42ea1b70
--- /dev/null
+++ b/libcontextsubscriber/doc/html/dbusnamelistener_8h-source.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: dbusnamelistener.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>dbusnamelistener.h</h1><a href="dbusnamelistener_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef DBUSNAMELISTENER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define DBUSNAMELISTENER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">class </span>QDBusPendingCallWatcher;
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033
+<a name="l00034"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html">00034</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html" title="Listens for changes in a specific service name on a D-Bus bus, optionally gets the...">DBusNameListener</a> : <span class="keyword">public</span> QObject
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 Q_OBJECT
+<a name="l00037"></a>00037 <span class="keyword">public</span>:
+<a name="l00038"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c">00038</a> <span class="keyword">enum</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> {<a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884">NotPresent</a> = 0, <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab">Present</a>, <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c">Unknown</a>};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">explicit</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#80cd4b4576989625cefc639d21bfee5d">DBusNameListener</a>(QDBusConnection::BusType <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9" title="The service bus type we are interested in.">busType</a>, <span class="keyword">const</span> QString &amp;<a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd" title="The service name we are interested in.">busName</a>, QObject *parent = 0);
+<a name="l00041"></a>00041 <span class="keyword">explicit</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#80cd4b4576989625cefc639d21bfee5d">DBusNameListener</a>(<span class="keyword">const</span> QDBusConnection bus, <span class="keyword">const</span> QString &amp;<a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd" title="The service name we are interested in.">busName</a>, QObject *parent = 0);
+<a name="l00042"></a>00042 <span class="keyword">virtual</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#0049dbd454615122dcfca92253b7e7d7">~DBusNameListener</a>();
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#29c51998308e0448bee857df8f8206cc" title="Start listening to the NameOwnerChanged signal over D-Bus.">startListening</a>(<span class="keywordtype">bool</span> nameHasOwnerCheck);
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca" title="Return our current understanding (not present, present, unknown) of the presence...">isServicePresent</a>() <span class="keyword">const</span>;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">private</span> slots:
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ca7dd6273d3e2335a436b34b284d1830" title="This slot is called when DBusNameOwnerChanged signal arrives and it just filters...">onServiceOwnerChanged</a>(<span class="keyword">const</span> QString &amp;name, <span class="keyword">const</span> QString &amp;oldOwner, <span class="keyword">const</span> QString &amp;newOwner);
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#fd2c19f9dc41d1e68bc2d22a1e2ac4a7" title="Handling of the asynchronous reply of the initial query.">onNameHasOwnerFinished</a>(QDBusPendingCallWatcher* watcher);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">private</span>:
+<a name="l00053"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52">00053</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52" title="Our current understanding about the service name&amp;#39;s state.">servicePresent</a>;
+<a name="l00054"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">00054</a> QDBusConnection::BusType <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9" title="The service bus type we are interested in.">busType</a>;
+<a name="l00055"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">00055</a> QString <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd" title="The service name we are interested in.">busName</a>;
+<a name="l00056"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">00056</a> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">listeningStarted</a>;
+<a name="l00057"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">00057</a> QDBusConnection* <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">connection</a>;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#888a8557a7246d7c268e8037220f3156">setServicePresent</a>();
+<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#2a28de9dd87121d688410053a025c470">setServiceGone</a>();
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 signals:
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">nameAppeared</a>();
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared</a>();
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 } <span class="comment">// end namespace</span>
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/dbusnamelistener_8h.html b/libcontextsubscriber/doc/html/dbusnamelistener_8h.html
new file mode 100644
index 00000000..91f75b81
--- /dev/null
+++ b/libcontextsubscriber/doc/html/dbusnamelistener_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: dbusnamelistener.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>dbusnamelistener.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+
+<p>
+<a href="dbusnamelistener_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listens for changes in a specific service name on a D-Bus bus, optionally gets the initial state of the service name. <a href="class_context_subscriber_1_1_d_bus_name_listener.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/doxygen.css b/libcontextsubscriber/doc/html/doxygen.css
new file mode 100644
index 00000000..3767dc95
--- /dev/null
+++ b/libcontextsubscriber/doc/html/doxygen.css
@@ -0,0 +1,441 @@
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+ text-align: center;
+ font-size: 150%;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+div.qindex, div.navtab{
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #153788;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #1b77c5;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+}
+
+a.codeRef {
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+
+td.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ border: 1px solid #CCCCCC;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #e8eef2;
+ border: 1px solid #CCCCCC;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #f0f0f0;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+
+th.dirtab {
+ background: #e8eef2;
+ font-weight: bold;
+}
+
+hr {
+ height: 0;
+ border: none;
+ border-top: 1px solid #666;
+}
+
+/* @group Member Descriptions */
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #FAFAFA;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #ccc;
+}
+
+.memTemplParams {
+ color: #606060;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #606060;
+ font-weight: normal;
+ margin-left: 3px;
+}
+
+.memnav {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.memitem {
+ padding: 0;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+}
+
+.memproto, .memdoc {
+ border: 1px solid #84b0c7;
+}
+
+.memproto {
+ padding: 0;
+ background-color: #d5e1e8;
+ font-weight: bold;
+ -webkit-border-top-left-radius: 8px;
+ -webkit-border-top-right-radius: 8px;
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0.5em;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+address {
+ font-style: normal;
+ color: #333;
+}
diff --git a/libcontextsubscriber/doc/html/doxygen.png b/libcontextsubscriber/doc/html/doxygen.png
new file mode 100644
index 00000000..f0a274bb
--- /dev/null
+++ b/libcontextsubscriber/doc/html/doxygen.png
Binary files differ
diff --git a/libcontextsubscriber/doc/html/files.html b/libcontextsubscriber/doc/html/files.html
new file mode 100644
index 00000000..dfe34750
--- /dev/null
+++ b/libcontextsubscriber/doc/html/files.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: File Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="asyncdbusinterface_8cpp.html">asyncdbusinterface.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="asyncdbusinterface_8h.html">asyncdbusinterface.h</a> <a href="asyncdbusinterface_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="cdbreader_8cpp.html">cdbreader.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="cdbreader_8h.html">cdbreader.h</a> <a href="cdbreader_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="cdbwriter_8cpp.html">cdbwriter.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="cdbwriter_8h.html">cdbwriter.h</a> <a href="cdbwriter_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextkitplugin_8cpp.html">contextkitplugin.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextkitplugin_8h.html">contextkitplugin.h</a> <a href="contextkitplugin_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextproperty_8cpp.html">contextproperty.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextproperty_8h.html">contextproperty.h</a> <a href="contextproperty_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextpropertyinfo_8cpp.html">contextpropertyinfo.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextpropertyinfo_8h.html">contextpropertyinfo.h</a> <a href="contextpropertyinfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextproviderinfo_8h.html">contextproviderinfo.h</a> <a href="contextproviderinfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextregistryinfo_8cpp.html">contextregistryinfo.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contextregistryinfo_8h.html">contextregistryinfo.h</a> <a href="contextregistryinfo_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="dbusnamelistener_8cpp.html">dbusnamelistener.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="dbusnamelistener_8h.html">dbusnamelistener.h</a> <a href="dbusnamelistener_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="handlesignalrouter_8cpp.html">handlesignalrouter.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="handlesignalrouter_8h.html">handlesignalrouter.h</a> <a href="handlesignalrouter_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infobackend_8cpp.html">infobackend.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infobackend_8h.html">infobackend.h</a> <a href="infobackend_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infocdbbackend_8cpp.html">infocdbbackend.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infocdbbackend_8h.html">infocdbbackend.h</a> <a href="infocdbbackend_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infokeydata_8h.html">infokeydata.h</a> <a href="infokeydata_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infoxmlbackend_8cpp.html">infoxmlbackend.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="infoxmlbackend_8h.html">infoxmlbackend.h</a> <a href="infoxmlbackend_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="iproviderplugin_8h.html">iproviderplugin.h</a> <a href="iproviderplugin_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="logging_8cpp.html">logging.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="logging_8h.html">logging.h</a> <a href="logging_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="loggingfeatures_8h.html">loggingfeatures.h</a> <a href="loggingfeatures_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="mocs_8cpp.html">mocs.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="nanoxml_8cpp.html">nanoxml.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="nanoxml_8h.html">nanoxml.h</a> <a href="nanoxml_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="propertyhandle_8cpp.html">propertyhandle.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="propertyhandle_8h.html">propertyhandle.h</a> <a href="propertyhandle_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="provider_8cpp.html">provider.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="provider_8h.html">provider.h</a> <a href="provider_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="queuedinvoker_8cpp.html">queuedinvoker.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="queuedinvoker_8h.html">queuedinvoker.h</a> <a href="queuedinvoker_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="safedbuspendingcallwatcher_8h.html">safedbuspendingcallwatcher.h</a> <a href="safedbuspendingcallwatcher_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="sconnect_8h.html">sconnect.h</a> <a href="sconnect_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="subscriberinterface_8h.html">subscriberinterface.h</a> <a href="subscriberinterface_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="update-contextkit-providers_8cpp.html">update-contextkit-providers.cpp</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions.html b/libcontextsubscriber/doc/html/functions.html
new file mode 100644
index 00000000..0e682b64
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_c_d_b_writer.html#7badfc7cd1c94ef07a3c630c0f0bd0fb">CDBWriter</a>
+<li>addValue()
+: <a class="el" href="class_nano_xml.html#0820f7cc298465a54350f998af40d929">NanoXml</a>
+<li>appendFeatures()
+: <a class="el" href="class_context_real_logger.html#1f6e0152e1e606b00e45f720d4eeba99">ContextRealLogger</a>
+<li>AsyncDBusInterface()
+: <a class="el" href="class_async_d_bus_interface.html#744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x62.html b/libcontextsubscriber/doc/html/functions_0x62.html
new file mode 100644
index 00000000..5e172e34
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x62.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>backendInstance
+: <a class="el" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8">InfoBackend</a>
+<li>backendName()
+: <a class="el" href="class_context_registry_info.html#8af42fc0ba5306234d06a238056cce99">ContextRegistryInfo</a>
+<li>busName
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">ContextSubscriber::DBusNameListener</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">ContextSubscriber::ContextKitPlugin</a>
+<li>busType
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">ContextSubscriber::DBusNameListener</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x63.html b/libcontextsubscriber/doc/html/functions_0x63.html
new file mode 100644
index 00000000..c349b6b7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x63.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li class="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>cachedDeclared
+: <a class="el" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26">ContextPropertyInfo</a>
+<li>cachedDoc
+: <a class="el" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601">ContextPropertyInfo</a>
+<li>cachedProviders
+: <a class="el" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4">ContextPropertyInfo</a>
+<li>cachedType
+: <a class="el" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16">ContextPropertyInfo</a>
+<li>cacheLock
+: <a class="el" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e">ContextPropertyInfo</a>
+<li>callQueue
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32">ContextSubscriber::QueuedInvoker</a>
+<li>callQueueLock
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c">ContextSubscriber::QueuedInvoker</a>
+<li>canonicalizeType()
+: <a class="el" href="class_info_xml_backend.html#eb7d7c04426594b8ec25cbfd1152e7ed">InfoXmlBackend</a>
+<li>cdb
+: <a class="el" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f">CDBReader</a>
+<li>cdbm
+: <a class="el" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b">CDBWriter</a>
+<li>CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#da59740e3d69efc32db88cdb4514dcfa">CDBReader</a>
+<li>CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#e40a943a3cf86d6ca9b5350357d83a74">CDBWriter</a>
+<li>changed()
+: <a class="el" href="class_context_registry_info.html#b812fc743282bca20289cd6b28f7de14">ContextRegistryInfo</a>
+<li>Changed()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#af5cbaccd8318fd13389b2da11b03e7c">ContextSubscriber::SubscriberInterface</a>
+<li>changed()
+: <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1">ContextPropertyInfo</a>
+<li>characters()
+: <a class="el" href="class_nano_xml.html#d051fdc20099f73a6595cb229e5c5854">NanoXml</a>
+<li>checkAndEmitKeyChanged()
+: <a class="el" href="class_info_backend.html#d770d30f718c8110a6e14371293829b9">InfoBackend</a>
+<li>checkAndEmitKeysAdded()
+: <a class="el" href="class_info_backend.html#26dea7269e293f178ca7a855bd8085eb">InfoBackend</a>
+<li>checkAndEmitKeysRemoved()
+: <a class="el" href="class_info_backend.html#2229c5a5b2c85b50746497bed16735c2">InfoBackend</a>
+<li>close()
+: <a class="el" href="class_c_d_b_reader.html#4a6881b3b4fd14c2badcdbbfc1a5741c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#8de500cd2916cca7709862624fd52728">CDBWriter</a>
+<li>commanderListener
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c">ContextSubscriber::PropertyHandle</a>
+<li>commandingEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af">ContextSubscriber::PropertyHandle</a>
+<li>connectCount
+: <a class="el" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af">InfoBackend</a>
+<li>connection
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">ContextSubscriber::DBusNameListener</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270">ContextSubscriber::ContextKitPlugin</a>
+<li>connectNotify()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1c7ee2c99941a60bc1a3d43aa794063b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_property_info.html#2453fc77a1afba74a661d8c15836e69d">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#a25ae78e991e72aba1442487e3a7661d">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd">InfoBackend</a>
+<li>constructionString
+: <a class="el" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">ContextProviderInfo</a>
+, <a class="el" href="class_context_property_info.html#c638ba6bd9336c58174fa8bb20fa7d4e">ContextPropertyInfo</a>
+<li>constructionString_i()
+: <a class="el" href="class_context_property_info.html#36db2252d9263d4f45aafaf57392d467">ContextPropertyInfo</a>
+<li>constructPlugin()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#1e2136dc7c4ad62b020c7ed95914bb67">ContextSubscriber::Provider</a>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+<li>ContextKitPlugin()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#b3728dd869ea64e058f4f7c35a4bb067">ContextSubscriber::ContextKitPlugin</a>
+<li>ContextProperty()
+: <a class="el" href="class_context_property.html#79283034949fe9cf79106b7ea221439a">ContextProperty</a>
+<li>ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#dd1b6db4bfb5c36cd6ae9b9352112c4c">ContextPropertyInfo</a>
+<li>ContextPropertyInfoUnitTest
+: <a class="el" href="class_context_property_info.html#b6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfo</a>
+<li>ContextProviderInfo()
+: <a class="el" href="struct_context_provider_info.html#4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+<li>ContextRegistryInfo()
+: <a class="el" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>
+<li>ContextRegistryInfoUnitTest
+: <a class="el" href="class_context_registry_info.html#af710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfo</a>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+<li>coreDeclPath()
+: <a class="el" href="class_info_xml_backend.html#e919a19ac7fc38f60048b900d49c41d5">InfoXmlBackend</a>
+<li>countOfFilesInLastParse
+: <a class="el" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672">InfoXmlBackend</a>
+<li>current
+: <a class="el" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x64.html b/libcontextsubscriber/doc/html/functions_0x64.html
new file mode 100644
index 00000000..d456cad4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x64.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>data
+: <a class="el" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e">ContextRealLogger</a>
+<li>databaseDirectory()
+: <a class="el" href="class_info_cdb_backend.html#2ec440b4df1e409e6cf74f5fd514fb6c">InfoCdbBackend</a>
+<li>databaseExists()
+: <a class="el" href="class_info_cdb_backend.html#99e18dd002d2fdf388914721eb53599f">InfoCdbBackend</a>
+<li>databasePath()
+: <a class="el" href="class_info_cdb_backend.html#1a31a6076fc78a72e0bc00135d110fa2">InfoCdbBackend</a>
+<li>DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#80cd4b4576989625cefc639d21bfee5d">ContextSubscriber::DBusNameListener</a>
+<li>declared()
+: <a class="el" href="class_context_property_info.html#054dbdee21942623bf6e9679903e4384">ContextPropertyInfo</a>
+<li>destroyInstance()
+: <a class="el" href="class_info_backend.html#e8204b17f82806015d23088f8c6776da">InfoBackend</a>
+<li>didFail()
+: <a class="el" href="class_nano_xml.html#b5729afbebfb708cab217298891fe31b">NanoXml</a>
+<li>disconnectNotify()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#9f726b29f65d7340ac2df345cf462c66">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3">InfoBackend</a>
+<li>doc()
+: <a class="el" href="class_context_property_info.html#d8b0cd1c2e29b63a0a672fd407ce4150">ContextPropertyInfo</a>
+, <a class="el" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b">InfoKeyData</a>
+<li>docForKey()
+: <a class="el" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#96b65379f588dc602406449012a9ceae">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#3b0753cd69c99c2fe188e7fd912a072a">InfoXmlBackend</a>
+<li>dumpTree()
+: <a class="el" href="class_nano_xml.html#4966386ef78c065e9fad50a6382770b0">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x65.html b/libcontextsubscriber/doc/html/functions_0x65.html
new file mode 100644
index 00000000..d4f23967
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x65.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>endElement()
+: <a class="el" href="class_nano_xml.html#e2884ebc5e4c6e60c2419ab47fb05d37">NanoXml</a>
+<li>exists()
+: <a class="el" href="class_context_property_info.html#c5540a24a4610bb641f8e64a48d4f356">ContextPropertyInfo</a>
+<li>existsChanged()
+: <a class="el" href="class_context_property_info.html#9d4c44c032c884821a3cc643f759cbb2">ContextPropertyInfo</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x66.html b/libcontextsubscriber/doc/html/functions_0x66.html
new file mode 100644
index 00000000..ba88961a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x66.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>FAILED
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f">ContextSubscriber::Provider</a>
+<li>failed
+: <a class="el" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295">NanoXml</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#2b38e3432ffbe7006ffcbe696e4331dd">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#659b0f0fcb7a740975fadc55c670bbf7">ContextSubscriber::ContextKitPlugin</a>
+<li>fd
+: <a class="el" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">CDBWriter</a>
+<li>featureName
+: <a class="el" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">ContextFeature</a>
+<li>features
+: <a class="el" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">ContextRealLogger</a>
+<li>fileDescriptor()
+: <a class="el" href="class_c_d_b_writer.html#2ff2ca31100e94d445741e80dcddfee0">CDBWriter</a>
+, <a class="el" href="class_c_d_b_reader.html#5a5b29f1d6c958ea4384f7e9680d0d3e">CDBReader</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x67.html b/libcontextsubscriber/doc/html/functions_0x67.html
new file mode 100644
index 00000000..86a88b1f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x67.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#34d90db9ddc691d2b687bcbeabb65d7e">ContextSubscriber::Provider</a>
+<li>getName()
+: <a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x68.html b/libcontextsubscriber/doc/html/functions_0x68.html
new file mode 100644
index 00000000..895b7f38
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x68.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>handle
+: <a class="el" href="struct_context_property_private.html#c2610b423813eb22e45a7136ed932713">ContextPropertyPrivate</a>
+<li>HandleSignalRouter()
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#11cb80bdb993a829a06e7338c014d45b">ContextSubscriber::HandleSignalRouter</a>
+<li>handleSubscribes()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#b78d5f8ff72bedb037f1f2b15cbda9b9">ContextSubscriber::Provider</a>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x69.html b/libcontextsubscriber/doc/html/functions_0x69.html
new file mode 100644
index 00000000..0159288d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x69.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>ignoreCommander()
+: <a class="el" href="class_context_property.html#8654f1a0b2e6e3e58d6fc2830a5fbb8b">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#6001316d6491ca69ca5be43af4a36211">ContextSubscriber::PropertyHandle</a>
+<li>info()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#2626ff2603e1afcd8172008d5932006a">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#f5d07cd67b0c7a94d0912900e2729cbb">ContextProperty</a>
+<li>InfoBackend()
+: <a class="el" href="class_info_backend.html#4b9aafee7309b9e3a82eb3ca99ca173f">InfoBackend</a>
+<li>InfoBackendUnitTest
+: <a class="el" href="class_info_backend.html#9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackend</a>
+<li>InfoCdbBackend
+: <a class="el" href="class_info_backend.html#84aa2becdb5d27499636a31d69e66683">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a>
+<li>InfoCdbBackendUnitTest
+: <a class="el" href="class_info_backend.html#d3b9d468ea4d158bc8f3a258ab5d72be">InfoBackend</a>
+<li>InfoTestBackend
+: <a class="el" href="class_info_backend.html#53ddc2857121c7ec9f2e1205ea05802f">InfoBackend</a>
+<li>InfoXmlBackend
+: <a class="el" href="class_info_backend.html#0fa89bc3c8483b7168bf136420b43fa4">InfoBackend</a>
+, <a class="el" href="class_info_xml_backend.html#85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>
+<li>InfoXmlBackendUnitTest
+: <a class="el" href="class_info_backend.html#905a056999dd60bfa46a1cc023ee9066">InfoBackend</a>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+<li>INITIALIZING
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46">ContextSubscriber::Provider</a>
+<li>insert()
+: <a class="el" href="class_c_d_b_writer.html#3c54b531d448d33660b7d089118dfd4c">CDBWriter</a>
+<li>instance()
+: <a class="el" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247">ContextRegistryInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#d22b0b2d41d77e490f86d4979933a0b4">ContextSubscriber::HandleSignalRouter</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#cf3f43a824c33ffaf349feeb9c34b5d0">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#7f70f0de00c9781d43c99ca5d7f87eb1">ContextSubscriber::PropertyHandle</a>
+<li>interfaceName
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">ContextSubscriber::SubscriberInterface</a>
+<li>isReadable()
+: <a class="el" href="class_c_d_b_reader.html#05e7a3925a61aea6a0375c05f16cc142">CDBReader</a>
+<li>isServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca">ContextSubscriber::DBusNameListener</a>
+<li>isSubscribePending()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#22f3af77b3cd883beeab47c5f4365169">ContextSubscriber::PropertyHandle</a>
+<li>isWritable()
+: <a class="el" href="class_c_d_b_writer.html#aa1e44ad6f40ffb7de3a2ad2d361cd62">CDBWriter</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x6b.html b/libcontextsubscriber/doc/html/functions_0x6b.html
new file mode 100644
index 00000000..0e3b7881
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6b.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_property.html#fc2a01b6895b75e73a049e9143a16a22">ContextProperty</a>
+, <a class="el" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9">ContextPropertyInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#6d4c9e5006a080e7ae645ed15b1edb28">ContextSubscriber::PropertyHandle</a>
+<li>keyChanged()
+: <a class="el" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52">InfoBackend</a>
+<li>keyDataHash
+: <a class="el" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513">InfoXmlBackend</a>
+<li>keyDeclared()
+: <a class="el" href="class_info_xml_backend.html#34f0f40564466e150f433aced83af71a">InfoXmlBackend</a>
+, <a class="el" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#79ee60153f6d7113ee7c454495ed3d87">InfoCdbBackend</a>
+<li>keyName
+: <a class="el" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f">ContextPropertyInfo</a>
+<li>keyProvidersHash
+: <a class="el" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef">InfoXmlBackend</a>
+<li>keysAdded()
+: <a class="el" href="class_context_registry_info.html#89e54a28e6293e102d3c6cc1c56203a8">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd">InfoBackend</a>
+<li>keysChanged()
+: <a class="el" href="class_context_registry_info.html#455bf52414fc5b7e0be384769af4dc0b">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63">InfoBackend</a>
+<li>keysRemoved()
+: <a class="el" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#93f77b8ca933babf05a1f26d488a5093">ContextRegistryInfo</a>
+<li>keySub()
+: <a class="el" href="class_nano_xml.html#fb90496573500eaa24180d37c180dcee">NanoXml</a>
+<li>keyValue()
+: <a class="el" href="class_nano_xml.html#024ebb8682aad1f091e5a7bbd546e1a6">NanoXml</a>
+<li>keyValues()
+: <a class="el" href="class_nano_xml.html#3956749eb3393b245b77a8a9c5c892e1">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x6c.html b/libcontextsubscriber/doc/html/functions_0x6c.html
new file mode 100644
index 00000000..d762b97c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6c.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li class="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>LastValue
+: <a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6">ContextPropertyInfo</a>
+<li>listChanged()
+: <a class="el" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4">InfoBackend</a>
+<li>listeningStarted
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">ContextSubscriber::DBusNameListener</a>
+<li>listKeys()
+: <a class="el" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060">ContextRegistryInfo</a>
+, <a class="el" href="class_info_xml_backend.html#74d2b52119a26ca60203ecf86721e38c">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#16a29a2335e21a73b8317d23eadb3069">InfoCdbBackend</a>
+, <a class="el" href="class_context_registry_info.html#bd90db03eb9976cab3562da345d50c19">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95">InfoBackend</a>
+<li>listKeysForPlugin()
+: <a class="el" href="class_context_registry_info.html#195777381facfb937a992c08c8647519">ContextRegistryInfo</a>
+<li>listPlugins()
+: <a class="el" href="class_context_registry_info.html#288081af4423fdc54c0e6db4591a8f34">ContextRegistryInfo</a>
+<li>listProviders()
+: <a class="el" href="class_context_registry_info.html#cd9c94071cdd4e01e1b3f42d0e240e25">ContextRegistryInfo</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x6d.html b/libcontextsubscriber/doc/html/functions_0x6d.html
new file mode 100644
index 00000000..4c6f6173
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6d.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>managerIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523">ContextSubscriber::ContextKitPlugin</a>
+<li>managerInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b">ContextSubscriber::ContextKitPlugin</a>
+<li>managerPath
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e">ContextSubscriber::ContextKitPlugin</a>
+<li>mergeNullsWithMap()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#1f2999785a6f653a95a946bcc09d05ba">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#913f90d59398e97fbb363c84b0d3c403">ContextSubscriber::SubscriberInterface</a>
+<li>moduleName
+: <a class="el" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707">ContextRealLogger</a>
+<li>msgType
+: <a class="el" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">ContextRealLogger</a>
+<li>myInfo
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle</a>
+<li>myInstance
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd">ContextSubscriber::HandleSignalRouter</a>
+<li>myKey
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle</a>
+<li>myProvider
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35">ContextSubscriber::PropertyHandle</a>
+<li>myValue
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x6e.html b/libcontextsubscriber/doc/html/functions_0x6e.html
new file mode 100644
index 00000000..2122f66a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6e.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li class="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>name
+: <a class="el" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45">InfoKeyData</a>
+, <a class="el" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3">InfoBackend</a>
+, <a class="el" href="class_info_xml_backend.html#83ac8d65786de855c402b426222ab72b">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#98707e9504d1719000fec1d31de01174">InfoCdbBackend</a>
+<li>nameAppeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">ContextSubscriber::DBusNameListener</a>
+<li>nameDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">ContextSubscriber::DBusNameListener</a>
+<li>namespaceUri()
+: <a class="el" href="class_nano_xml.html#ae6e7c0a8785f75cb06abb27c348833b">NanoXml</a>
+<li>NanoXml()
+: <a class="el" href="class_nano_xml.html#6bba582991cf13e4af332ae999f650e0">NanoXml</a>
+<li>NotPresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884">ContextSubscriber::DBusNameListener</a>
+<li>nspace
+: <a class="el" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x6f.html b/libcontextsubscriber/doc/html/functions_0x6f.html
new file mode 100644
index 00000000..5572ceb1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6f.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>onChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#20de105eef3bdd1de40708536a7f4238">ContextSubscriber::SubscriberInterface</a>
+<li>onDatabaseDirectoryChanged()
+: <a class="el" href="class_info_cdb_backend.html#9a95be7eb4456ff22f28a37fd5eb1945">InfoCdbBackend</a>
+<li>onDatabaseFileChanged()
+: <a class="el" href="class_info_cdb_backend.html#809ba5fe86160dd85c3221b91f480a8d">InfoCdbBackend</a>
+<li>onDBusGetSubscriberFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#192e933ca4f023f84de709e84fbe47e7">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusGetSubscriberFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#9391a2ed305e25493a611c25ed9aa7a2">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ca1f1f90efb47950385d5814dadc573d">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#83385b7cf39ae293e6e06705f952f9a1">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusValuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#119181d213c126458f065a0b10e7e281">ContextSubscriber::ContextKitPlugin</a>
+<li>onDirectoryChanged()
+: <a class="el" href="class_info_xml_backend.html#edf432bc14783ab4e9f2858a088e0643">InfoXmlBackend</a>
+<li>onFileChanged()
+: <a class="el" href="class_info_xml_backend.html#b2155f5c965bc1249987f6ae942d004b">InfoXmlBackend</a>
+<li>onKeyChanged()
+: <a class="el" href="class_context_property_info.html#4dedbecfb6d9c0c0b2be0329c20e405a">ContextPropertyInfo</a>
+<li>onKeysAdded()
+: <a class="el" href="class_context_registry_info.html#2dee38dbb2c673b1ddab29fbe578dd44">ContextRegistryInfo</a>
+<li>onKeysChanged()
+: <a class="el" href="class_context_registry_info.html#93732cc21af7bfaf26a89a34c9855e26">ContextRegistryInfo</a>
+<li>onKeysRemoved()
+: <a class="el" href="class_context_registry_info.html#a9bd4d704c5cda390b7186bdca213dbc">ContextRegistryInfo</a>
+<li>onListChanged()
+: <a class="el" href="class_context_registry_info.html#3edf9b27770690632f8950a832a726a0">ContextRegistryInfo</a>
+<li>onNameHasOwnerFinished()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#fd2c19f9dc41d1e68bc2d22a1e2ac4a7">ContextSubscriber::DBusNameListener</a>
+<li>onPluginFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#0b9a9637b9bdd8a3989cfccb14c8a24b">ContextSubscriber::Provider</a>
+<li>onPluginReady()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#c87916df512014e5048eda7ae9daf3b9">ContextSubscriber::Provider</a>
+<li>onPluginSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#d18a07fdfb76dfa71f15f4b3e1200793">ContextSubscriber::Provider</a>
+<li>onPluginSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#cbbadf63086f6b37ff9a9e8e64180032">ContextSubscriber::Provider</a>
+<li>onPluginValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#c04c071faa737c9b7f029ef0125f6a1c">ContextSubscriber::Provider</a>
+<li>onProviderAppeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ef61e0a51dad4988fe264474cb2bdd7d">ContextSubscriber::ContextKitPlugin</a>
+<li>onProviderDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0ebafac80dca92564323f78a1fbfa6b7">ContextSubscriber::ContextKitPlugin</a>
+<li>onQueuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#b58352ea20647142ba50d529fc1b651b">ContextSubscriber::QueuedInvoker</a>
+<li>onServiceOwnerChanged()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ca7dd6273d3e2335a436b34b284d1830">ContextSubscriber::DBusNameListener</a>
+<li>onSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#5405b720d8596ab0abbc2ce817a61b14">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#1d462671a2aa52359c6699cb643f8c35">ContextSubscriber::HandleSignalRouter</a>
+<li>onValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#1d0a471cd063b862fcf09aafd4b125af">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#f617232398fe317edf8bf00b0e6d430c">ContextSubscriber::HandleSignalRouter</a>
+<li>operator&lt;()
+: <a class="el" href="struct_context_provider_info.html#a989d7c55042d3eef5d514e017658b0c">ContextProviderInfo</a>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b">ContextRealLogger</a>
+<li>operator=()
+: <a class="el" href="class_info_backend.html#90791486e0755836a52ff3f59279dc95">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#3f47c39171329446d574da87b18b49ad">ContextRegistryInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9b18edfb5899e8884a1c3c7c7d5caff">ContextSubscriber::SubscriberInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x70.html b/libcontextsubscriber/doc/html/functions_0x70.html
new file mode 100644
index 00000000..6410336f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x70.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>parseKey()
+: <a class="el" href="class_info_xml_backend.html#f3f5503ae521393069206f1498102421">InfoXmlBackend</a>
+<li>path
+: <a class="el" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5">CDBReader</a>
+<li>plugin
+: <a class="el" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_property_info.html#b67e0d20a267bae467bd449358273fbc">ContextPropertyInfo</a>
+, <a class="el" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">ContextProviderInfo</a>
+<li>plugin_i()
+: <a class="el" href="class_context_property_info.html#38e61db02d8f588924d59b60a74a468a">ContextPropertyInfo</a>
+<li>pluginChanged()
+: <a class="el" href="class_context_property_info.html#9523b5b197a619e783b8ba3780a391aa">ContextPropertyInfo</a>
+<li>pluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">ContextSubscriber::Provider</a>
+<li>PluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">ContextSubscriber::Provider</a>
+<li>popList()
+: <a class="el" href="class_nano_xml.html#db05786203f23b7a96ee1db103582729">NanoXml</a>
+<li>Present
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab">ContextSubscriber::DBusNameListener</a>
+<li>priv
+: <a class="el" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">ContextProperty</a>
+<li>PropertyHandle()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#1d523c4bc3538073f7f617456cd81a79">ContextSubscriber::PropertyHandle</a>
+<li>provided()
+: <a class="el" href="class_context_property_info.html#9d270042f069bafc0f994b3b19804d8a">ContextPropertyInfo</a>
+<li>providedChanged()
+: <a class="el" href="class_context_property_info.html#37c67d07a2f0c361378ac79e6589a968">ContextPropertyInfo</a>
+<li>Provider()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#e4221b5f1438404820abee8de2ed3daa">ContextSubscriber::Provider</a>
+<li>providerChanged()
+: <a class="el" href="class_context_property_info.html#19bb4eb5067f8bd9504db7733b02be26">ContextPropertyInfo</a>
+<li>providerDBusName()
+: <a class="el" href="class_context_property_info.html#f2e6ee62ab7203f3750dc9851bf67868">ContextPropertyInfo</a>
+<li>providerDBusName_i()
+: <a class="el" href="class_context_property_info.html#f09ce2c166d9fa87ec4c3cba6b0cabee">ContextPropertyInfo</a>
+<li>providerDBusType()
+: <a class="el" href="class_context_property_info.html#ee09f09db9cc631bc3d175cae7f0f671">ContextPropertyInfo</a>
+<li>providerDBusType_i()
+: <a class="el" href="class_context_property_info.html#d4dc52a73150d57b19b2b37a07ff1342">ContextPropertyInfo</a>
+<li>providerDBusTypeChanged()
+: <a class="el" href="class_context_property_info.html#5c03f07e13e9decec21d9bcc415bd35c">ContextPropertyInfo</a>
+<li>providerInfo
+: <a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">ContextSubscriber::Provider</a>
+<li>providerListener
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424">ContextSubscriber::ContextKitPlugin</a>
+<li>providers()
+: <a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f">ContextPropertyInfo</a>
+<li>providersForKey()
+: <a class="el" href="class_info_xml_backend.html#f72852cc9ec862658d2be1d59be536c0">InfoXmlBackend</a>
+, <a class="el" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#c28d61755c842e1226fbd4e44f69a040">InfoCdbBackend</a>
+<li>pushList()
+: <a class="el" href="class_nano_xml.html#750f872971e1b36ecffc4ead3250e17d">NanoXml</a>
+<li>put()
+: <a class="el" href="class_c_d_b_writer.html#cb6cbc68cd6370bbdbeb0f08163dbca5">CDBWriter</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x71.html b/libcontextsubscriber/doc/html/functions_0x71.html
new file mode 100644
index 00000000..47a02029
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x71.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>queuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#9e3fb1afd2eea8cb4b588f3d80bf2e3e">ContextSubscriber::QueuedInvoker</a>
+<li>QueuedInvoker()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#15135b7f30c409e3b8d0cd856444803a">ContextSubscriber::QueuedInvoker</a>
+<li>queueOnce()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff">ContextSubscriber::QueuedInvoker</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x72.html b/libcontextsubscriber/doc/html/functions_0x72.html
new file mode 100644
index 00000000..23da6564
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x72.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>reader
+: <a class="el" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738">InfoCdbBackend</a>
+<li>readKeyDataFromXml()
+: <a class="el" href="class_info_xml_backend.html#b5d85a566993462042838c786700f7f8">InfoXmlBackend</a>
+<li>ready()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#cb1ad4d2dafa9c137acff2a84916686f">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ContextSubscriber::IProviderPlugin</a>
+<li>READY
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1">ContextSubscriber::Provider</a>
+<li>regenerateKeyDataList()
+: <a class="el" href="class_info_xml_backend.html#1407eccac5cb06f88fc6014d4ee25f48">InfoXmlBackend</a>
+<li>registryInstance
+: <a class="el" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a">ContextRegistryInfo</a>
+<li>registryPath()
+: <a class="el" href="class_info_xml_backend.html#eba0f378c01b6740c53ea977c10947b0">InfoXmlBackend</a>
+<li>reopen()
+: <a class="el" href="class_c_d_b_reader.html#32774adde1a5edcf80e2ccd981d93eb5">CDBReader</a>
+<li>replace()
+: <a class="el" href="class_c_d_b_writer.html#ee735f7f3c2540e8dfe180bc2775dfb5">CDBWriter</a>
+<li>resolutionStrategy()
+: <a class="el" href="class_context_property_info.html#4afd9d028d9d13f6e3fb9b7be1cb84d3">ContextPropertyInfo</a>
+<li>ResolutionStrategy
+: <a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo</a>
+<li>root()
+: <a class="el" href="class_nano_xml.html#34bebe2d3d74159d94c4d4b3abd6480f">NanoXml</a>
+<li>rootVariant
+: <a class="el" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x73.html b/libcontextsubscriber/doc/html/functions_0x73.html
new file mode 100644
index 00000000..983c94ac
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x73.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>SafeDBusPendingCallWatcher()
+: <a class="el" href="class_safe_d_bus_pending_call_watcher.html#42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a>
+<li>ServicePresence
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ContextSubscriber::DBusNameListener</a>
+<li>servicePresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52">ContextSubscriber::DBusNameListener</a>
+<li>setServiceGone()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2a28de9dd87121d688410053a025c470">ContextSubscriber::DBusNameListener</a>
+<li>setServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#888a8557a7246d7c268e8037220f3156">ContextSubscriber::DBusNameListener</a>
+<li>setSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#1d4157822007d94fbdfa3af80a8fc758">ContextSubscriber::PropertyHandle</a>
+<li>setTypeCheck()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#3031c1cf5c5d3ccdcf91a2218c2e460e">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#47a70ecc83ea7b819728a3430d860100">ContextProperty</a>
+<li>shouldPrint()
+: <a class="el" href="class_context_real_logger.html#db17a18fe2b4e07d23484b3e62661d4b">ContextRealLogger</a>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+<li>signalSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#3046efee2679aa33602deb4f27877eba">ContextSubscriber::Provider</a>
+<li>stack
+: <a class="el" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563">NanoXml</a>
+<li>startElement()
+: <a class="el" href="class_nano_xml.html#9a53418260e9b9ae8bc3da9b0fae2b35">NanoXml</a>
+<li>startListening()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#29c51998308e0448bee857df8f8206cc">ContextSubscriber::DBusNameListener</a>
+<li>startPrefixMapping()
+: <a class="el" href="class_nano_xml.html#bb825f9876e40c023c0b3b1ab0b09828">NanoXml</a>
+<li>subscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a45ae69058525f998ed5eb0c275cac75">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#96f3f5ea81859ddfef63c0e064cba365">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#0b12828c764b164dc276a84d46c2ae55">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#063cf90bfd10f0bca4ed471f2c3a9c1e">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#da9126ec7363321f97124a4edc6553ec">ContextSubscriber::SubscriberInterface</a>
+<li>subscribeCount
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f">ContextSubscriber::PropertyHandle</a>
+<li>subscribeCountLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle</a>
+<li>subscribed
+: <a class="el" href="struct_context_property_private.html#8fa3197617a450a91c4c4bbca5cdbecd">ContextPropertyPrivate</a>
+<li>subscribedKeys
+: <a class="el" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9">ContextSubscriber::Provider</a>
+<li>subscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#e62e69b51185cb0437230916cc306548">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#0e99f03c74e942caed4a12013771a4d2">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#803a4bf54f2017025bc314fc14702513">ContextSubscriber::ContextKitPlugin</a>
+<li>subscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#cdb674013818463a88ce1799885258be">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1705fc2b48624313ef52f279ede97e5b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#68cf30909195fcadb259056ad8a8d9ba">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4a3fcd522bbb2cc67c5821bcf15ed3d4">ContextSubscriber::ContextKitPlugin</a>
+<li>subscribeLock
+: <a class="el" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">ContextSubscriber::Provider</a>
+<li>subscribePending
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16">ContextSubscriber::PropertyHandle</a>
+<li>subscriberIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836">ContextSubscriber::ContextKitPlugin</a>
+<li>subscriberInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331">ContextSubscriber::ContextKitPlugin</a>
+<li>SubscriberInterface()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#7acaf30ea27426e6aa00207e0310980c">ContextSubscriber::SubscriberInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x74.html b/libcontextsubscriber/doc/html/functions_0x74.html
new file mode 100644
index 00000000..c51d0826
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x74.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>time
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">ContextSubscriber::TimedValue</a>
+<li>TimedValue()
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#37a5bb08705741e6256adc097018dec2">ContextSubscriber::TimedValue</a>
+<li>toSubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d">ContextSubscriber::Provider</a>
+<li>toUnsubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c">ContextSubscriber::Provider</a>
+<li>type
+: <a class="el" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5">InfoKeyData</a>
+, <a class="el" href="class_context_property_info.html#7f8e0cc9c8439e6ec109a16a80a2d3fc">ContextPropertyInfo</a>
+<li>typeChanged()
+: <a class="el" href="class_context_property_info.html#ffead559621ed710667dddafd240db58">ContextPropertyInfo</a>
+<li>typeCheckEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4">ContextSubscriber::PropertyHandle</a>
+<li>typeForKey()
+: <a class="el" href="class_info_xml_backend.html#184e0e51db9b59a05cb8267206064e58">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#ca1274681b8a808f1827d08b44f71319">InfoCdbBackend</a>
+, <a class="el" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315">InfoBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x75.html b/libcontextsubscriber/doc/html/functions_0x75.html
new file mode 100644
index 00000000..edbc4cc2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x75.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>Unknown
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c">ContextSubscriber::DBusNameListener</a>
+<li>unsubscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4936904e1483e3f06c86e10d65a39e50">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#9a5410b5898e5d1efde167752696f2f5">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#4227c404be7915805dbab93e0704914d">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#a6aa042d4a006eb0930d7805139e801f">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#d1e8961717be9c3a813096092d1837a4">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350">ContextProperty</a>
+<li>updateProvider()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#067242c57b142940ba02b1e5a74548d5">ContextSubscriber::PropertyHandle</a>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x76.html b/libcontextsubscriber/doc/html/functions_0x76.html
new file mode 100644
index 00000000..1eef3143
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x76.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>value
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">ContextSubscriber::TimedValue</a>
+, <a class="el" href="class_context_property.html#9853332036f43724b65162acc432753a">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#bfeb2b16704e22adc33c31e162ef4e36">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#4c295fefdf793557472959f9e2f3e18c">ContextProperty</a>
+<li>valueChanged()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#0ceee4d69e18be36e726af552aaa58ba">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#6288252eecf25f879ecb7c1a507a9088">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#5603631c4a9e7f6a4cbe05af6dfe5c48">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#3a106b2d49454337f9269b2ffb07647e">ContextSubscriber::IProviderPlugin</a>
+<li>valueForKey()
+: <a class="el" href="class_c_d_b_reader.html#65d872621906917c9f72bcfebf24343b">CDBReader</a>
+<li>valueLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle</a>
+<li>values
+: <a class="el" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed">ContextSubscriber::Provider</a>
+<li>valuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#960dc79d9b47fbbda16e6eed05826c5d">ContextSubscriber::SubscriberInterface</a>
+<li>valuesForKey()
+: <a class="el" href="class_c_d_b_reader.html#0ad9d8670836cc8ce12a2f364495aa5c">CDBReader</a>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+<li>variantListToStringList()
+: <a class="el" href="class_info_cdb_backend.html#8d422f8e80ad4feb74620c6dd793cefd">InfoCdbBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x77.html b/libcontextsubscriber/doc/html/functions_0x77.html
new file mode 100644
index 00000000..afd7877e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x77.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li class="current"><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>waitForSubscription()
+: <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888">ContextProperty</a>
+<li>watch()
+: <a class="el" href="class_info_cdb_backend.html#f9a982a33f464a0579357fbc53e3305c">InfoCdbBackend</a>
+<li>watcher
+: <a class="el" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7">InfoXmlBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_0x7e.html b/libcontextsubscriber/doc/html/functions_0x7e.html
new file mode 100644
index 00000000..5b8a2828
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x7e.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+ <li class="current"><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all class members with links to the classes they belong to:
+<p>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#bd17716f2bcfc205ddf9ab47b5005a8a">CDBReader</a>
+<li>~CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#e8f20236cbe613623d71af092d0aeaf6">CDBWriter</a>
+<li>~ContextProperty()
+: <a class="el" href="class_context_property.html#ddc93c0539a8ffd2c2c9439e5ccd8628">ContextProperty</a>
+<li>~ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#1c06eaa93db43664c42435c4a0394d8d">ContextPropertyInfo</a>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+<li>~DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#0049dbd454615122dcfca92253b7e7d7">ContextSubscriber::DBusNameListener</a>
+<li>~NanoXml()
+: <a class="el" href="class_nano_xml.html#940fbfce7d0fab29a5ba6b5b840c4d71">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_enum.html b/libcontextsubscriber/doc/html/functions_enum.html
new file mode 100644
index 00000000..5b26090e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_enum.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Enumerations</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>PluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">ContextSubscriber::Provider</a>
+<li>ResolutionStrategy
+: <a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo</a>
+<li>ServicePresence
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d">ContextSubscriber::DBusNameListener</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_eval.html b/libcontextsubscriber/doc/html/functions_eval.html
new file mode 100644
index 00000000..b8e062f0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_eval.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Enumerator</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>FAILED
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f">ContextSubscriber::Provider</a>
+<li>INITIALIZING
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46">ContextSubscriber::Provider</a>
+<li>LastValue
+: <a class="el" href="class_context_property_info.html#28c493f959d7a48c85dc86281c78479cfc7ad7e5ca4c9e873a59ca5fb40212f6">ContextPropertyInfo</a>
+<li>NotPresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032de05cd8cfb673aebec9380153d11a8884">ContextSubscriber::DBusNameListener</a>
+<li>Present
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032d7d8b53934031f453839328d87f1602ab">ContextSubscriber::DBusNameListener</a>
+<li>READY
+: <a class="el" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1">ContextSubscriber::Provider</a>
+<li>Unknown
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c265c0eaa26e4e3b3c3182652563032dd3f04d9af475c8f8a465d7aa0e0bd48c">ContextSubscriber::DBusNameListener</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func.html b/libcontextsubscriber/doc/html/functions_func.html
new file mode 100644
index 00000000..d91e41e7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_c_d_b_writer.html#7badfc7cd1c94ef07a3c630c0f0bd0fb">CDBWriter</a>
+<li>addValue()
+: <a class="el" href="class_nano_xml.html#0820f7cc298465a54350f998af40d929">NanoXml</a>
+<li>appendFeatures()
+: <a class="el" href="class_context_real_logger.html#1f6e0152e1e606b00e45f720d4eeba99">ContextRealLogger</a>
+<li>AsyncDBusInterface()
+: <a class="el" href="class_async_d_bus_interface.html#744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x62.html b/libcontextsubscriber/doc/html/functions_func_0x62.html
new file mode 100644
index 00000000..3e65790f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x62.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>backendName()
+: <a class="el" href="class_context_registry_info.html#8af42fc0ba5306234d06a238056cce99">ContextRegistryInfo</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x63.html b/libcontextsubscriber/doc/html/functions_func_0x63.html
new file mode 100644
index 00000000..7c770ba8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x63.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li class="current"><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>canonicalizeType()
+: <a class="el" href="class_info_xml_backend.html#eb7d7c04426594b8ec25cbfd1152e7ed">InfoXmlBackend</a>
+<li>CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#da59740e3d69efc32db88cdb4514dcfa">CDBReader</a>
+<li>CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#e9ca0bb62aa913a150b988b3bf6c9bad">CDBWriter</a>
+<li>Changed()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#af5cbaccd8318fd13389b2da11b03e7c">ContextSubscriber::SubscriberInterface</a>
+<li>changed()
+: <a class="el" href="class_context_property_info.html#9d85cc8d48f34bb01e168dac265b65a1">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#b812fc743282bca20289cd6b28f7de14">ContextRegistryInfo</a>
+<li>characters()
+: <a class="el" href="class_nano_xml.html#d051fdc20099f73a6595cb229e5c5854">NanoXml</a>
+<li>checkAndEmitKeyChanged()
+: <a class="el" href="class_info_backend.html#d770d30f718c8110a6e14371293829b9">InfoBackend</a>
+<li>checkAndEmitKeysAdded()
+: <a class="el" href="class_info_backend.html#26dea7269e293f178ca7a855bd8085eb">InfoBackend</a>
+<li>checkAndEmitKeysRemoved()
+: <a class="el" href="class_info_backend.html#2229c5a5b2c85b50746497bed16735c2">InfoBackend</a>
+<li>close()
+: <a class="el" href="class_c_d_b_reader.html#4a6881b3b4fd14c2badcdbbfc1a5741c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#8de500cd2916cca7709862624fd52728">CDBWriter</a>
+<li>connectNotify()
+: <a class="el" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd">InfoBackend</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1c7ee2c99941a60bc1a3d43aa794063b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_property_info.html#2453fc77a1afba74a661d8c15836e69d">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#a25ae78e991e72aba1442487e3a7661d">ContextRegistryInfo</a>
+<li>constructionString()
+: <a class="el" href="class_context_property_info.html#c638ba6bd9336c58174fa8bb20fa7d4e">ContextPropertyInfo</a>
+<li>constructionString_i()
+: <a class="el" href="class_context_property_info.html#36db2252d9263d4f45aafaf57392d467">ContextPropertyInfo</a>
+<li>constructPlugin()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#1e2136dc7c4ad62b020c7ed95914bb67">ContextSubscriber::Provider</a>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+<li>ContextKitPlugin()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#b3728dd869ea64e058f4f7c35a4bb067">ContextSubscriber::ContextKitPlugin</a>
+<li>ContextProperty()
+: <a class="el" href="class_context_property.html#79283034949fe9cf79106b7ea221439a">ContextProperty</a>
+<li>ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#dd1b6db4bfb5c36cd6ae9b9352112c4c">ContextPropertyInfo</a>
+<li>ContextProviderInfo()
+: <a class="el" href="struct_context_provider_info.html#4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+<li>ContextRegistryInfo()
+: <a class="el" href="class_context_registry_info.html#09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+<li>coreDeclPath()
+: <a class="el" href="class_info_xml_backend.html#e919a19ac7fc38f60048b900d49c41d5">InfoXmlBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x64.html b/libcontextsubscriber/doc/html/functions_func_0x64.html
new file mode 100644
index 00000000..350436d3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x64.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>databaseDirectory()
+: <a class="el" href="class_info_cdb_backend.html#2ec440b4df1e409e6cf74f5fd514fb6c">InfoCdbBackend</a>
+<li>databaseExists()
+: <a class="el" href="class_info_cdb_backend.html#99e18dd002d2fdf388914721eb53599f">InfoCdbBackend</a>
+<li>databasePath()
+: <a class="el" href="class_info_cdb_backend.html#1a31a6076fc78a72e0bc00135d110fa2">InfoCdbBackend</a>
+<li>DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#80cd4b4576989625cefc639d21bfee5d">ContextSubscriber::DBusNameListener</a>
+<li>declared()
+: <a class="el" href="class_context_property_info.html#054dbdee21942623bf6e9679903e4384">ContextPropertyInfo</a>
+<li>destroyInstance()
+: <a class="el" href="class_info_backend.html#e8204b17f82806015d23088f8c6776da">InfoBackend</a>
+<li>didFail()
+: <a class="el" href="class_nano_xml.html#b5729afbebfb708cab217298891fe31b">NanoXml</a>
+<li>disconnectNotify()
+: <a class="el" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3">InfoBackend</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#9f726b29f65d7340ac2df345cf462c66">ContextSubscriber::SubscriberInterface</a>
+<li>doc()
+: <a class="el" href="class_context_property_info.html#d8b0cd1c2e29b63a0a672fd407ce4150">ContextPropertyInfo</a>
+<li>docForKey()
+: <a class="el" href="class_info_cdb_backend.html#96b65379f588dc602406449012a9ceae">InfoCdbBackend</a>
+, <a class="el" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d">InfoBackend</a>
+, <a class="el" href="class_info_xml_backend.html#3b0753cd69c99c2fe188e7fd912a072a">InfoXmlBackend</a>
+<li>dumpTree()
+: <a class="el" href="class_nano_xml.html#4966386ef78c065e9fad50a6382770b0">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x65.html b/libcontextsubscriber/doc/html/functions_func_0x65.html
new file mode 100644
index 00000000..11aea075
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x65.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>endElement()
+: <a class="el" href="class_nano_xml.html#e2884ebc5e4c6e60c2419ab47fb05d37">NanoXml</a>
+<li>exists()
+: <a class="el" href="class_context_property_info.html#c5540a24a4610bb641f8e64a48d4f356">ContextPropertyInfo</a>
+<li>existsChanged()
+: <a class="el" href="class_context_property_info.html#9d4c44c032c884821a3cc643f759cbb2">ContextPropertyInfo</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x66.html b/libcontextsubscriber/doc/html/functions_func_0x66.html
new file mode 100644
index 00000000..a17bdc6c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x66.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>failed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#659b0f0fcb7a740975fadc55c670bbf7">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#2b38e3432ffbe7006ffcbe696e4331dd">ContextSubscriber::IProviderPlugin</a>
+<li>fileDescriptor()
+: <a class="el" href="class_c_d_b_reader.html#5a5b29f1d6c958ea4384f7e9680d0d3e">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#2ff2ca31100e94d445741e80dcddfee0">CDBWriter</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x67.html b/libcontextsubscriber/doc/html/functions_func_0x67.html
new file mode 100644
index 00000000..44a9be1b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x67.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#34d90db9ddc691d2b687bcbeabb65d7e">ContextSubscriber::Provider</a>
+<li>getName()
+: <a class="el" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x68.html b/libcontextsubscriber/doc/html/functions_func_0x68.html
new file mode 100644
index 00000000..e38d67a5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x68.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>HandleSignalRouter()
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#11cb80bdb993a829a06e7338c014d45b">ContextSubscriber::HandleSignalRouter</a>
+<li>handleSubscribes()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#b78d5f8ff72bedb037f1f2b15cbda9b9">ContextSubscriber::Provider</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x69.html b/libcontextsubscriber/doc/html/functions_func_0x69.html
new file mode 100644
index 00000000..b02c3c96
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x69.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>ignoreCommander()
+: <a class="el" href="class_context_property.html#8654f1a0b2e6e3e58d6fc2830a5fbb8b">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#6001316d6491ca69ca5be43af4a36211">ContextSubscriber::PropertyHandle</a>
+<li>info()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#2626ff2603e1afcd8172008d5932006a">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#f5d07cd67b0c7a94d0912900e2729cbb">ContextProperty</a>
+<li>InfoBackend()
+: <a class="el" href="class_info_backend.html#4b9aafee7309b9e3a82eb3ca99ca173f">InfoBackend</a>
+<li>InfoCdbBackend()
+: <a class="el" href="class_info_cdb_backend.html#8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a>
+<li>InfoXmlBackend()
+: <a class="el" href="class_info_xml_backend.html#85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+<li>insert()
+: <a class="el" href="class_c_d_b_writer.html#3c54b531d448d33660b7d089118dfd4c">CDBWriter</a>
+<li>instance()
+: <a class="el" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247">ContextRegistryInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#7f70f0de00c9781d43c99ca5d7f87eb1">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#cf3f43a824c33ffaf349feeb9c34b5d0">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#d22b0b2d41d77e490f86d4979933a0b4">ContextSubscriber::HandleSignalRouter</a>
+<li>isReadable()
+: <a class="el" href="class_c_d_b_reader.html#05e7a3925a61aea6a0375c05f16cc142">CDBReader</a>
+<li>isServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#c6727dbeb9c1f8ef2c101b223ef3acca">ContextSubscriber::DBusNameListener</a>
+<li>isSubscribePending()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#22f3af77b3cd883beeab47c5f4365169">ContextSubscriber::PropertyHandle</a>
+<li>isWritable()
+: <a class="el" href="class_c_d_b_writer.html#aa1e44ad6f40ffb7de3a2ad2d361cd62">CDBWriter</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x6b.html b/libcontextsubscriber/doc/html/functions_func_0x6b.html
new file mode 100644
index 00000000..4c238dcf
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6b.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_property.html#fc2a01b6895b75e73a049e9143a16a22">ContextProperty</a>
+, <a class="el" href="class_context_property_info.html#81b41c6e79e7914c78de43a0dc642eb9">ContextPropertyInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#6d4c9e5006a080e7ae645ed15b1edb28">ContextSubscriber::PropertyHandle</a>
+<li>keyChanged()
+: <a class="el" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52">InfoBackend</a>
+<li>keyDeclared()
+: <a class="el" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#79ee60153f6d7113ee7c454495ed3d87">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#34f0f40564466e150f433aced83af71a">InfoXmlBackend</a>
+<li>keysAdded()
+: <a class="el" href="class_context_registry_info.html#89e54a28e6293e102d3c6cc1c56203a8">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd">InfoBackend</a>
+<li>keysChanged()
+: <a class="el" href="class_context_registry_info.html#455bf52414fc5b7e0be384769af4dc0b">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63">InfoBackend</a>
+<li>keysRemoved()
+: <a class="el" href="class_context_registry_info.html#93f77b8ca933babf05a1f26d488a5093">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245">InfoBackend</a>
+<li>keySub()
+: <a class="el" href="class_nano_xml.html#fb90496573500eaa24180d37c180dcee">NanoXml</a>
+<li>keyValue()
+: <a class="el" href="class_nano_xml.html#a03ebbef1a268c346519b6df4b1937f6">NanoXml</a>
+<li>keyValues()
+: <a class="el" href="class_nano_xml.html#ba42a9094fb57418e62b21d134095a8f">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x6c.html b/libcontextsubscriber/doc/html/functions_func_0x6c.html
new file mode 100644
index 00000000..70c2cb4d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6c.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li class="current"><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>listChanged()
+: <a class="el" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4">InfoBackend</a>
+<li>listKeys()
+: <a class="el" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#16a29a2335e21a73b8317d23eadb3069">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#74d2b52119a26ca60203ecf86721e38c">InfoXmlBackend</a>
+, <a class="el" href="class_context_registry_info.html#bd90db03eb9976cab3562da345d50c19">ContextRegistryInfo</a>
+<li>listKeysForPlugin()
+: <a class="el" href="class_context_registry_info.html#195777381facfb937a992c08c8647519">ContextRegistryInfo</a>
+<li>listPlugins()
+: <a class="el" href="class_context_registry_info.html#288081af4423fdc54c0e6db4591a8f34">ContextRegistryInfo</a>
+<li>listProviders()
+: <a class="el" href="class_context_registry_info.html#cd9c94071cdd4e01e1b3f42d0e240e25">ContextRegistryInfo</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x6d.html b/libcontextsubscriber/doc/html/functions_func_0x6d.html
new file mode 100644
index 00000000..241d1d50
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6d.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li class="current"><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>mergeNullsWithMap()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#1f2999785a6f653a95a946bcc09d05ba">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#913f90d59398e97fbb363c84b0d3c403">ContextSubscriber::SubscriberInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x6e.html b/libcontextsubscriber/doc/html/functions_func_0x6e.html
new file mode 100644
index 00000000..63ed012a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6e.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li class="current"><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>name()
+: <a class="el" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#98707e9504d1719000fec1d31de01174">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#83ac8d65786de855c402b426222ab72b">InfoXmlBackend</a>
+<li>nameAppeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#156d249adafb167b396e61786590480b">ContextSubscriber::DBusNameListener</a>
+<li>nameDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#96df4b22f35d6e39d0db58e1e26a9550">ContextSubscriber::DBusNameListener</a>
+<li>namespaceUri()
+: <a class="el" href="class_nano_xml.html#ae6e7c0a8785f75cb06abb27c348833b">NanoXml</a>
+<li>NanoXml()
+: <a class="el" href="class_nano_xml.html#6bba582991cf13e4af332ae999f650e0">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x6f.html b/libcontextsubscriber/doc/html/functions_func_0x6f.html
new file mode 100644
index 00000000..cef358f4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6f.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>onChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#20de105eef3bdd1de40708536a7f4238">ContextSubscriber::SubscriberInterface</a>
+<li>onDatabaseDirectoryChanged()
+: <a class="el" href="class_info_cdb_backend.html#9a95be7eb4456ff22f28a37fd5eb1945">InfoCdbBackend</a>
+<li>onDatabaseFileChanged()
+: <a class="el" href="class_info_cdb_backend.html#809ba5fe86160dd85c3221b91f480a8d">InfoCdbBackend</a>
+<li>onDBusGetSubscriberFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#192e933ca4f023f84de709e84fbe47e7">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusGetSubscriberFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#9391a2ed305e25493a611c25ed9aa7a2">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ca1f1f90efb47950385d5814dadc573d">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#83385b7cf39ae293e6e06705f952f9a1">ContextSubscriber::ContextKitPlugin</a>
+<li>onDBusValuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#119181d213c126458f065a0b10e7e281">ContextSubscriber::ContextKitPlugin</a>
+<li>onDirectoryChanged()
+: <a class="el" href="class_info_xml_backend.html#edf432bc14783ab4e9f2858a088e0643">InfoXmlBackend</a>
+<li>onFileChanged()
+: <a class="el" href="class_info_xml_backend.html#b2155f5c965bc1249987f6ae942d004b">InfoXmlBackend</a>
+<li>onKeyChanged()
+: <a class="el" href="class_context_property_info.html#4dedbecfb6d9c0c0b2be0329c20e405a">ContextPropertyInfo</a>
+<li>onKeysAdded()
+: <a class="el" href="class_context_registry_info.html#2dee38dbb2c673b1ddab29fbe578dd44">ContextRegistryInfo</a>
+<li>onKeysChanged()
+: <a class="el" href="class_context_registry_info.html#93732cc21af7bfaf26a89a34c9855e26">ContextRegistryInfo</a>
+<li>onKeysRemoved()
+: <a class="el" href="class_context_registry_info.html#a9bd4d704c5cda390b7186bdca213dbc">ContextRegistryInfo</a>
+<li>onListChanged()
+: <a class="el" href="class_context_registry_info.html#3edf9b27770690632f8950a832a726a0">ContextRegistryInfo</a>
+<li>onNameHasOwnerFinished()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#fd2c19f9dc41d1e68bc2d22a1e2ac4a7">ContextSubscriber::DBusNameListener</a>
+<li>onPluginFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#0b9a9637b9bdd8a3989cfccb14c8a24b">ContextSubscriber::Provider</a>
+<li>onPluginReady()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#c87916df512014e5048eda7ae9daf3b9">ContextSubscriber::Provider</a>
+<li>onPluginSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#d18a07fdfb76dfa71f15f4b3e1200793">ContextSubscriber::Provider</a>
+<li>onPluginSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#cbbadf63086f6b37ff9a9e8e64180032">ContextSubscriber::Provider</a>
+<li>onPluginValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#c04c071faa737c9b7f029ef0125f6a1c">ContextSubscriber::Provider</a>
+<li>onProviderAppeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ef61e0a51dad4988fe264474cb2bdd7d">ContextSubscriber::ContextKitPlugin</a>
+<li>onProviderDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0ebafac80dca92564323f78a1fbfa6b7">ContextSubscriber::ContextKitPlugin</a>
+<li>onQueuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#b58352ea20647142ba50d529fc1b651b">ContextSubscriber::QueuedInvoker</a>
+<li>onServiceOwnerChanged()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ca7dd6273d3e2335a436b34b284d1830">ContextSubscriber::DBusNameListener</a>
+<li>onSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#5405b720d8596ab0abbc2ce817a61b14">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#1d462671a2aa52359c6699cb643f8c35">ContextSubscriber::HandleSignalRouter</a>
+<li>onValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#1d0a471cd063b862fcf09aafd4b125af">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#f617232398fe317edf8bf00b0e6d430c">ContextSubscriber::HandleSignalRouter</a>
+<li>operator&lt;()
+: <a class="el" href="struct_context_provider_info.html#a989d7c55042d3eef5d514e017658b0c">ContextProviderInfo</a>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b">ContextRealLogger</a>
+<li>operator=()
+: <a class="el" href="class_info_backend.html#90791486e0755836a52ff3f59279dc95">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#3f47c39171329446d574da87b18b49ad">ContextRegistryInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9b18edfb5899e8884a1c3c7c7d5caff">ContextSubscriber::SubscriberInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x70.html b/libcontextsubscriber/doc/html/functions_func_0x70.html
new file mode 100644
index 00000000..692399f9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x70.html
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>parseKey()
+: <a class="el" href="class_info_xml_backend.html#f3f5503ae521393069206f1498102421">InfoXmlBackend</a>
+<li>plugin()
+: <a class="el" href="class_context_property_info.html#b67e0d20a267bae467bd449358273fbc">ContextPropertyInfo</a>
+<li>plugin_i()
+: <a class="el" href="class_context_property_info.html#38e61db02d8f588924d59b60a74a468a">ContextPropertyInfo</a>
+<li>pluginChanged()
+: <a class="el" href="class_context_property_info.html#9523b5b197a619e783b8ba3780a391aa">ContextPropertyInfo</a>
+<li>popList()
+: <a class="el" href="class_nano_xml.html#db05786203f23b7a96ee1db103582729">NanoXml</a>
+<li>PropertyHandle()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#1d523c4bc3538073f7f617456cd81a79">ContextSubscriber::PropertyHandle</a>
+<li>provided()
+: <a class="el" href="class_context_property_info.html#9d270042f069bafc0f994b3b19804d8a">ContextPropertyInfo</a>
+<li>providedChanged()
+: <a class="el" href="class_context_property_info.html#37c67d07a2f0c361378ac79e6589a968">ContextPropertyInfo</a>
+<li>Provider()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#e4221b5f1438404820abee8de2ed3daa">ContextSubscriber::Provider</a>
+<li>providerChanged()
+: <a class="el" href="class_context_property_info.html#19bb4eb5067f8bd9504db7733b02be26">ContextPropertyInfo</a>
+<li>providerDBusName()
+: <a class="el" href="class_context_property_info.html#f2e6ee62ab7203f3750dc9851bf67868">ContextPropertyInfo</a>
+<li>providerDBusName_i()
+: <a class="el" href="class_context_property_info.html#f09ce2c166d9fa87ec4c3cba6b0cabee">ContextPropertyInfo</a>
+<li>providerDBusType()
+: <a class="el" href="class_context_property_info.html#ee09f09db9cc631bc3d175cae7f0f671">ContextPropertyInfo</a>
+<li>providerDBusType_i()
+: <a class="el" href="class_context_property_info.html#d4dc52a73150d57b19b2b37a07ff1342">ContextPropertyInfo</a>
+<li>providerDBusTypeChanged()
+: <a class="el" href="class_context_property_info.html#5c03f07e13e9decec21d9bcc415bd35c">ContextPropertyInfo</a>
+<li>providers()
+: <a class="el" href="class_context_property_info.html#9260be377cc7d8124140701a7d72e62f">ContextPropertyInfo</a>
+<li>providersForKey()
+: <a class="el" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>
+, <a class="el" href="class_info_xml_backend.html#f72852cc9ec862658d2be1d59be536c0">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#c28d61755c842e1226fbd4e44f69a040">InfoCdbBackend</a>
+<li>pushList()
+: <a class="el" href="class_nano_xml.html#750f872971e1b36ecffc4ead3250e17d">NanoXml</a>
+<li>put()
+: <a class="el" href="class_c_d_b_writer.html#cb6cbc68cd6370bbdbeb0f08163dbca5">CDBWriter</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x71.html b/libcontextsubscriber/doc/html/functions_func_0x71.html
new file mode 100644
index 00000000..1c1b05f8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x71.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>queuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#9e3fb1afd2eea8cb4b588f3d80bf2e3e">ContextSubscriber::QueuedInvoker</a>
+<li>QueuedInvoker()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#15135b7f30c409e3b8d0cd856444803a">ContextSubscriber::QueuedInvoker</a>
+<li>queueOnce()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff">ContextSubscriber::QueuedInvoker</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x72.html b/libcontextsubscriber/doc/html/functions_func_0x72.html
new file mode 100644
index 00000000..7e44e913
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x72.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li class="current"><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>readKeyDataFromXml()
+: <a class="el" href="class_info_xml_backend.html#b5d85a566993462042838c786700f7f8">InfoXmlBackend</a>
+<li>ready()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#cb1ad4d2dafa9c137acff2a84916686f">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ContextSubscriber::IProviderPlugin</a>
+<li>regenerateKeyDataList()
+: <a class="el" href="class_info_xml_backend.html#1407eccac5cb06f88fc6014d4ee25f48">InfoXmlBackend</a>
+<li>registryPath()
+: <a class="el" href="class_info_xml_backend.html#eba0f378c01b6740c53ea977c10947b0">InfoXmlBackend</a>
+<li>reopen()
+: <a class="el" href="class_c_d_b_reader.html#32774adde1a5edcf80e2ccd981d93eb5">CDBReader</a>
+<li>replace()
+: <a class="el" href="class_c_d_b_writer.html#ee735f7f3c2540e8dfe180bc2775dfb5">CDBWriter</a>
+<li>resolutionStrategy()
+: <a class="el" href="class_context_property_info.html#4afd9d028d9d13f6e3fb9b7be1cb84d3">ContextPropertyInfo</a>
+<li>root()
+: <a class="el" href="class_nano_xml.html#34bebe2d3d74159d94c4d4b3abd6480f">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x73.html b/libcontextsubscriber/doc/html/functions_func_0x73.html
new file mode 100644
index 00000000..648f9102
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x73.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>SafeDBusPendingCallWatcher()
+: <a class="el" href="class_safe_d_bus_pending_call_watcher.html#42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a>
+<li>setServiceGone()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2a28de9dd87121d688410053a025c470">ContextSubscriber::DBusNameListener</a>
+<li>setServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#888a8557a7246d7c268e8037220f3156">ContextSubscriber::DBusNameListener</a>
+<li>setSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#1d4157822007d94fbdfa3af80a8fc758">ContextSubscriber::PropertyHandle</a>
+<li>setTypeCheck()
+: <a class="el" href="class_context_property.html#47a70ecc83ea7b819728a3430d860100">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#3031c1cf5c5d3ccdcf91a2218c2e460e">ContextSubscriber::PropertyHandle</a>
+<li>shouldPrint()
+: <a class="el" href="class_context_real_logger.html#db17a18fe2b4e07d23484b3e62661d4b">ContextRealLogger</a>
+<li>signalSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#3046efee2679aa33602deb4f27877eba">ContextSubscriber::Provider</a>
+<li>startElement()
+: <a class="el" href="class_nano_xml.html#9a53418260e9b9ae8bc3da9b0fae2b35">NanoXml</a>
+<li>startListening()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#29c51998308e0448bee857df8f8206cc">ContextSubscriber::DBusNameListener</a>
+<li>startPrefixMapping()
+: <a class="el" href="class_nano_xml.html#bb825f9876e40c023c0b3b1ab0b09828">NanoXml</a>
+<li>subscribe()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#063cf90bfd10f0bca4ed471f2c3a9c1e">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#0b12828c764b164dc276a84d46c2ae55">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#da9126ec7363321f97124a4edc6553ec">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a45ae69058525f998ed5eb0c275cac75">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#96f3f5ea81859ddfef63c0e064cba365">ContextSubscriber::IProviderPlugin</a>
+<li>subscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#803a4bf54f2017025bc314fc14702513">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#0e99f03c74e942caed4a12013771a4d2">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#e62e69b51185cb0437230916cc306548">ContextSubscriber::IProviderPlugin</a>
+<li>subscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#1705fc2b48624313ef52f279ede97e5b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#68cf30909195fcadb259056ad8a8d9ba">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#cdb674013818463a88ce1799885258be">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4a3fcd522bbb2cc67c5821bcf15ed3d4">ContextSubscriber::ContextKitPlugin</a>
+<li>SubscriberInterface()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#7acaf30ea27426e6aa00207e0310980c">ContextSubscriber::SubscriberInterface</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x74.html b/libcontextsubscriber/doc/html/functions_func_0x74.html
new file mode 100644
index 00000000..514f3646
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x74.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>TimedValue()
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#37a5bb08705741e6256adc097018dec2">ContextSubscriber::TimedValue</a>
+<li>type()
+: <a class="el" href="class_context_property_info.html#7f8e0cc9c8439e6ec109a16a80a2d3fc">ContextPropertyInfo</a>
+<li>typeChanged()
+: <a class="el" href="class_context_property_info.html#ffead559621ed710667dddafd240db58">ContextPropertyInfo</a>
+<li>typeForKey()
+: <a class="el" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#ca1274681b8a808f1827d08b44f71319">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#184e0e51db9b59a05cb8267206064e58">InfoXmlBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x75.html b/libcontextsubscriber/doc/html/functions_func_0x75.html
new file mode 100644
index 00000000..bdcc1833
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x75.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>unsubscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#4936904e1483e3f06c86e10d65a39e50">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#4227c404be7915805dbab93e0704914d">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#a6aa042d4a006eb0930d7805139e801f">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#d1e8961717be9c3a813096092d1837a4">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#9a5410b5898e5d1efde167752696f2f5">ContextSubscriber::IProviderPlugin</a>
+<li>updateProvider()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#067242c57b142940ba02b1e5a74548d5">ContextSubscriber::PropertyHandle</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x76.html b/libcontextsubscriber/doc/html/functions_func_0x76.html
new file mode 100644
index 00000000..5d7e7665
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x76.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>value()
+: <a class="el" href="class_context_property.html#9853332036f43724b65162acc432753a">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#bfeb2b16704e22adc33c31e162ef4e36">ContextSubscriber::PropertyHandle</a>
+<li>valueChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#5603631c4a9e7f6a4cbe05af6dfe5c48">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#6288252eecf25f879ecb7c1a507a9088">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_property.html#dee3726fee9fbbcb92c7fb3ba2e04c49">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#0ceee4d69e18be36e726af552aaa58ba">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#3a106b2d49454337f9269b2ffb07647e">ContextSubscriber::IProviderPlugin</a>
+<li>valueForKey()
+: <a class="el" href="class_c_d_b_reader.html#65d872621906917c9f72bcfebf24343b">CDBReader</a>
+<li>valuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#960dc79d9b47fbbda16e6eed05826c5d">ContextSubscriber::SubscriberInterface</a>
+<li>valuesForKey()
+: <a class="el" href="class_c_d_b_reader.html#0ad9d8670836cc8ce12a2f364495aa5c">CDBReader</a>
+<li>variantListToStringList()
+: <a class="el" href="class_info_cdb_backend.html#8d422f8e80ad4feb74620c6dd793cefd">InfoCdbBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x77.html b/libcontextsubscriber/doc/html/functions_func_0x77.html
new file mode 100644
index 00000000..1b4a15c9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x77.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li class="current"><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>waitForSubscription()
+: <a class="el" href="class_context_property.html#8377eacd97cfccf349b7167f33414888">ContextProperty</a>
+<li>watch()
+: <a class="el" href="class_info_cdb_backend.html#f9a982a33f464a0579357fbc53e3305c">InfoCdbBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_func_0x7e.html b/libcontextsubscriber/doc/html/functions_func_0x7e.html
new file mode 100644
index 00000000..df78c434
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x7e.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+ <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="functions_func_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+ <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+ <li class="current"><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#bd17716f2bcfc205ddf9ab47b5005a8a">CDBReader</a>
+<li>~CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#e8f20236cbe613623d71af092d0aeaf6">CDBWriter</a>
+<li>~ContextProperty()
+: <a class="el" href="class_context_property.html#ddc93c0539a8ffd2c2c9439e5ccd8628">ContextProperty</a>
+<li>~ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#1c06eaa93db43664c42435c4a0394d8d">ContextPropertyInfo</a>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+<li>~DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#0049dbd454615122dcfca92253b7e7d7">ContextSubscriber::DBusNameListener</a>
+<li>~NanoXml()
+: <a class="el" href="class_nano_xml.html#940fbfce7d0fab29a5ba6b5b840c4d71">NanoXml</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_rela.html b/libcontextsubscriber/doc/html/functions_rela.html
new file mode 100644
index 00000000..c3d93ff1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_rela.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Related Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li class="current"><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>ContextPropertyInfoUnitTest
+: <a class="el" href="class_context_property_info.html#b6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfo</a>
+<li>ContextRegistryInfoUnitTest
+: <a class="el" href="class_context_registry_info.html#af710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfo</a>
+<li>InfoBackendUnitTest
+: <a class="el" href="class_info_backend.html#9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackend</a>
+<li>InfoCdbBackend
+: <a class="el" href="class_info_backend.html#84aa2becdb5d27499636a31d69e66683">InfoBackend</a>
+<li>InfoCdbBackendUnitTest
+: <a class="el" href="class_info_backend.html#d3b9d468ea4d158bc8f3a258ab5d72be">InfoBackend</a>
+<li>InfoTestBackend
+: <a class="el" href="class_info_backend.html#53ddc2857121c7ec9f2e1205ea05802f">InfoBackend</a>
+<li>InfoXmlBackend
+: <a class="el" href="class_info_backend.html#0fa89bc3c8483b7168bf136420b43fa4">InfoBackend</a>
+<li>InfoXmlBackendUnitTest
+: <a class="el" href="class_info_backend.html#905a056999dd60bfa46a1cc023ee9066">InfoBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions_vars.html b/libcontextsubscriber/doc/html/functions_vars.html
new file mode 100644
index 00000000..a1143ce9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_vars.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_h"><span>h</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li><a href="#index_w"><span>w</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>backendInstance
+: <a class="el" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8">InfoBackend</a>
+<li>busName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#80103689b09397c9a399987df806af1c">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#86d18fe068b5a9e7b722aaf76dd897bd">ContextSubscriber::DBusNameListener</a>
+<li>busType
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#4ae2ef44be74c21c952f1bddb2a152f9">ContextSubscriber::DBusNameListener</a>
+</ul>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>cachedDeclared
+: <a class="el" href="class_context_property_info.html#d304f8389a3d9864af0fe795282a8c26">ContextPropertyInfo</a>
+<li>cachedDoc
+: <a class="el" href="class_context_property_info.html#d0b09926f8b67dd4bb2d9f2bc2a2c601">ContextPropertyInfo</a>
+<li>cachedProviders
+: <a class="el" href="class_context_property_info.html#9892898881029c982aa6003bd16c70d4">ContextPropertyInfo</a>
+<li>cachedType
+: <a class="el" href="class_context_property_info.html#cf9a9eaef12257a6086db1f19d6cec16">ContextPropertyInfo</a>
+<li>cacheLock
+: <a class="el" href="class_context_property_info.html#8f23781855ffcfbcbd979d9e410c493e">ContextPropertyInfo</a>
+<li>callQueue
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32">ContextSubscriber::QueuedInvoker</a>
+<li>callQueueLock
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c">ContextSubscriber::QueuedInvoker</a>
+<li>cdb
+: <a class="el" href="class_c_d_b_reader.html#2724a80b3ddfb3a30e6af954d162403f">CDBReader</a>
+<li>cdbm
+: <a class="el" href="class_c_d_b_writer.html#142d82fc35b3ad495588ad2299cb5f2b">CDBWriter</a>
+<li>commanderListener
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c">ContextSubscriber::PropertyHandle</a>
+<li>commandingEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af">ContextSubscriber::PropertyHandle</a>
+<li>connectCount
+: <a class="el" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af">InfoBackend</a>
+<li>connection
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#e09ac9d58b9c15e9ba77bf7f8247a5e7">ContextSubscriber::DBusNameListener</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0be51b23a1acd297bb9155d611d37270">ContextSubscriber::ContextKitPlugin</a>
+<li>constructionString
+: <a class="el" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">ContextProviderInfo</a>
+<li>countOfFilesInLastParse
+: <a class="el" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672">InfoXmlBackend</a>
+<li>current
+: <a class="el" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551">NanoXml</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>data
+: <a class="el" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e">ContextRealLogger</a>
+<li>doc
+: <a class="el" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b">InfoKeyData</a>
+</ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>failed
+: <a class="el" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295">NanoXml</a>
+<li>fd
+: <a class="el" href="class_c_d_b_reader.html#95f1693de1549bf12e299a18f678178c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#db50416b86fe2dcb95ec16e9a5bdc6ea">CDBWriter</a>
+<li>featureName
+: <a class="el" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">ContextFeature</a>
+<li>features
+: <a class="el" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>handle
+: <a class="el" href="struct_context_property_private.html#c2610b423813eb22e45a7136ed932713">ContextPropertyPrivate</a>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+<li>interfaceName
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">ContextSubscriber::SubscriberInterface</a>
+</ul>
+<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
+<li>keyDataHash
+: <a class="el" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513">InfoXmlBackend</a>
+<li>keyName
+: <a class="el" href="class_context_property_info.html#c3d71c5189748d3eee041c82864f995f">ContextPropertyInfo</a>
+<li>keyProvidersHash
+: <a class="el" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef">InfoXmlBackend</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>listeningStarted
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#2141c57da98b81259101f6e782cf92f5">ContextSubscriber::DBusNameListener</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>managerIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#73f07ee2c97993ecefe0b0787cc33523">ContextSubscriber::ContextKitPlugin</a>
+<li>managerInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#fde8f2ee5e10b6625f3b023d6ad3523b">ContextSubscriber::ContextKitPlugin</a>
+<li>managerPath
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#d8141ab741a7d60ba3d1e067f0bb290e">ContextSubscriber::ContextKitPlugin</a>
+<li>moduleName
+: <a class="el" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707">ContextRealLogger</a>
+<li>msgType
+: <a class="el" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">ContextRealLogger</a>
+<li>myInfo
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle</a>
+<li>myInstance
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd">ContextSubscriber::HandleSignalRouter</a>
+<li>myKey
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle</a>
+<li>myProvider
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35">ContextSubscriber::PropertyHandle</a>
+<li>myValue
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>name
+: <a class="el" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45">InfoKeyData</a>
+<li>nspace
+: <a class="el" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21">NanoXml</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>path
+: <a class="el" href="class_c_d_b_reader.html#e38694ac8ddcf3f290616e28c163bfd5">CDBReader</a>
+<li>plugin
+: <a class="el" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">ContextProviderInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e">ContextSubscriber::Provider</a>
+<li>pluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">ContextSubscriber::Provider</a>
+<li>priv
+: <a class="el" href="class_context_property.html#de52af7df11f1b01893f99aef56ecd10">ContextProperty</a>
+<li>providerInfo
+: <a class="el" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">ContextSubscriber::Provider</a>
+<li>providerListener
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#0e34a8c4b3dafd66d2a094cf2ee22424">ContextSubscriber::ContextKitPlugin</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>reader
+: <a class="el" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738">InfoCdbBackend</a>
+<li>registryInstance
+: <a class="el" href="class_context_registry_info.html#26fbeceb6cc6034badaa3593a93c086a">ContextRegistryInfo</a>
+<li>rootVariant
+: <a class="el" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624">NanoXml</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>servicePresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#b1dd997605d2d5ef768c1b113ee42c52">ContextSubscriber::DBusNameListener</a>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+<li>stack
+: <a class="el" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563">NanoXml</a>
+<li>subscribeCount
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f">ContextSubscriber::PropertyHandle</a>
+<li>subscribeCountLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle</a>
+<li>subscribed
+: <a class="el" href="struct_context_property_private.html#8fa3197617a450a91c4c4bbca5cdbecd">ContextPropertyPrivate</a>
+<li>subscribedKeys
+: <a class="el" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9">ContextSubscriber::Provider</a>
+<li>subscribeLock
+: <a class="el" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">ContextSubscriber::Provider</a>
+<li>subscribePending
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16">ContextSubscriber::PropertyHandle</a>
+<li>subscriberIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c65d96beebc2af0eda5b79462c531836">ContextSubscriber::ContextKitPlugin</a>
+<li>subscriberInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#c5cf234581bce7834ff86d57b5bcb331">ContextSubscriber::ContextKitPlugin</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>time
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">ContextSubscriber::TimedValue</a>
+<li>toSubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d">ContextSubscriber::Provider</a>
+<li>toUnsubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c">ContextSubscriber::Provider</a>
+<li>type
+: <a class="el" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5">InfoKeyData</a>
+<li>typeCheckEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4">ContextSubscriber::PropertyHandle</a>
+</ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>value
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">ContextSubscriber::TimedValue</a>
+<li>valueLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle</a>
+<li>values
+: <a class="el" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed">ContextSubscriber::Provider</a>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>watcher
+: <a class="el" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7">InfoXmlBackend</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/globals.html b/libcontextsubscriber/doc/html/globals.html
new file mode 100644
index 00000000..912ed19b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/globals.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all file members with links to the files they belong to:
+<p>
+<ul>
+<li>checkDirectory()
+: <a class="el" href="update-contextkit-providers_8cpp.html#d4e241dfee4e559f0beefd5904c4e117">update-contextkit-providers.cpp</a>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">logging.h</a>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">logging.h</a>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+<li>contextKitPluginFactory()
+: <a class="el" href="contextkitplugin_8h.html#70307658405a252817d4081fd82eabe9">contextkitplugin.h</a>
+, <a class="el" href="contextkitplugin_8cpp.html#70307658405a252817d4081fd82eabe9">contextkitplugin.cpp</a>
+<li>contextTest
+: <a class="el" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+<li>F_CDB
+: <a class="el" href="loggingfeatures_8h.html#ca391b305bf0f67f18c524f746a8ddf0">loggingfeatures.h</a>
+<li>F_DEPRECATION
+: <a class="el" href="loggingfeatures_8h.html#d7fd5183657903f8730bcac257da9c87">loggingfeatures.h</a>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+<li>F_PLUGINS
+: <a class="el" href="loggingfeatures_8h.html#0daf017d3128067f7e97711dc5d81d5e">loggingfeatures.h</a>
+<li>F_THREADS
+: <a class="el" href="loggingfeatures_8h.html#e141f43f0eca517471078c8af1aa39ca">loggingfeatures.h</a>
+<li>F_XML
+: <a class="el" href="loggingfeatures_8h.html#73ca9473e98211f78c6e7598222ff409">loggingfeatures.h</a>
+<li>main()
+: <a class="el" href="update-contextkit-providers_8cpp.html#3c04138a5bfe5d72780bb7e82a18e627">update-contextkit-providers.cpp</a>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/globals_defs.html b/libcontextsubscriber/doc/html/globals_defs.html
new file mode 100644
index 00000000..cb00103c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/globals_defs.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">logging.h</a>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">logging.h</a>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+<li>contextTest
+: <a class="el" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+<li>F_CDB
+: <a class="el" href="loggingfeatures_8h.html#ca391b305bf0f67f18c524f746a8ddf0">loggingfeatures.h</a>
+<li>F_DEPRECATION
+: <a class="el" href="loggingfeatures_8h.html#d7fd5183657903f8730bcac257da9c87">loggingfeatures.h</a>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+<li>F_PLUGINS
+: <a class="el" href="loggingfeatures_8h.html#0daf017d3128067f7e97711dc5d81d5e">loggingfeatures.h</a>
+<li>F_THREADS
+: <a class="el" href="loggingfeatures_8h.html#e141f43f0eca517471078c8af1aa39ca">loggingfeatures.h</a>
+<li>F_XML
+: <a class="el" href="loggingfeatures_8h.html#73ca9473e98211f78c6e7598222ff409">loggingfeatures.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/globals_func.html b/libcontextsubscriber/doc/html/globals_func.html
new file mode 100644
index 00000000..5d8e0315
--- /dev/null
+++ b/libcontextsubscriber/doc/html/globals_func.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>checkDirectory()
+: <a class="el" href="update-contextkit-providers_8cpp.html#d4e241dfee4e559f0beefd5904c4e117">update-contextkit-providers.cpp</a>
+<li>contextKitPluginFactory()
+: <a class="el" href="contextkitplugin_8h.html#70307658405a252817d4081fd82eabe9">contextkitplugin.h</a>
+, <a class="el" href="contextkitplugin_8cpp.html#70307658405a252817d4081fd82eabe9">contextkitplugin.cpp</a>
+<li>main()
+: <a class="el" href="update-contextkit-providers_8cpp.html#3c04138a5bfe5d72780bb7e82a18e627">update-contextkit-providers.cpp</a>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/handlesignalrouter_8cpp.html b/libcontextsubscriber/doc/html/handlesignalrouter_8cpp.html
new file mode 100644
index 00000000..3167eeb3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/handlesignalrouter_8cpp.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: handlesignalrouter.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>handlesignalrouter.cpp File Reference</h1><code>#include &quot;<a class="el" href="handlesignalrouter_8h-source.html">handlesignalrouter.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="propertyhandle_8h-source.html">propertyhandle.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/handlesignalrouter_8h-source.html b/libcontextsubscriber/doc/html/handlesignalrouter_8h-source.html
new file mode 100644
index 00000000..b6b87347
--- /dev/null
+++ b/libcontextsubscriber/doc/html/handlesignalrouter_8h-source.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: handlesignalrouter.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>handlesignalrouter.h</h1><a href="handlesignalrouter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef HANDLESIGNALROUTER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define HANDLESIGNALROUTER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00030"></a>00030
+<a name="l00031"></a><a class="code" href="class_context_subscriber_1_1_handle_signal_router.html">00031</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a> : <span class="keyword">public</span> QObject
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 Q_OBJECT
+<a name="l00034"></a>00034 <span class="keyword">public</span>:
+<a name="l00035"></a>00035 <span class="keyword">static</span> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a>* <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#d22b0b2d41d77e490f86d4979933a0b4">instance</a>();
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">public</span> slots:
+<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#f617232398fe317edf8bf00b0e6d430c">onValueChanged</a>(QString key);
+<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#1d462671a2aa52359c6699cb643f8c35">onSubscribeFinished</a>(QString key);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">private</span>:
+<a name="l00042"></a>00042 <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#11cb80bdb993a829a06e7338c014d45b">HandleSignalRouter</a>();
+<a name="l00043"></a><a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd">00043</a> <span class="keyword">static</span> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html" title="Routes the valueChanged() and the subscribeFinished() signals to the correct PropertyHandle...">HandleSignalRouter</a> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#73ad5f7ecb6fa6c9e2f3b95491859ecd" title="Singleton instance.">myInstance</a>;
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// end namespace</span>
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/handlesignalrouter_8h.html b/libcontextsubscriber/doc/html/handlesignalrouter_8h.html
new file mode 100644
index 00000000..c2fd00ef
--- /dev/null
+++ b/libcontextsubscriber/doc/html/handlesignalrouter_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: handlesignalrouter.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>handlesignalrouter.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="handlesignalrouter_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routes the <code>valueChanged()</code> and the <code>subscribeFinished()</code> signals to the correct <code><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a></code> object. <a href="class_context_subscriber_1_1_handle_signal_router.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/hierarchy.html b/libcontextsubscriber/doc/html/hierarchy.html
new file mode 100644
index 00000000..e0425846
--- /dev/null
+++ b/libcontextsubscriber/doc/html/hierarchy.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Hierarchical Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a>
+<li><a class="el" href="class_c_d_b_reader.html">CDBReader</a>
+<li><a class="el" href="class_c_d_b_writer.html">CDBWriter</a>
+<li><a class="el" href="class_context_feature.html">ContextFeature</a>
+<li><a class="el" href="class_context_property.html">ContextProperty</a>
+<li><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a>
+<li><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a>
+<li><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>
+<li><a class="el" href="class_context_real_logger.html">ContextRealLogger</a>
+<li><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a>
+<li><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a>
+<li><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a>
+<li><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a>
+<li><a class="el" href="class_info_backend.html">InfoBackend</a>
+<ul>
+<li><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a>
+<li><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a>
+</ul>
+<li><a class="el" href="struct_info_key_data.html">InfoKeyData</a>
+<li><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a>
+<ul>
+<li><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextSubscriber::ContextKitPlugin</a>
+</ul>
+<li><a class="el" href="class_nano_xml.html">NanoXml</a>
+<li><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a>
+<li><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a>
+<ul>
+<li><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a>
+</ul>
+<li><a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a>
+<li><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a>
+<li><a class="el" href="class_subscriber_interface.html">SubscriberInterface</a>
+<li><a class="el" href="class_subscriber_signalling_interface.html">SubscriberSignallingInterface</a>
+<li><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/index.html b/libcontextsubscriber/doc/html/index.html
new file mode 100644
index 00000000..8cb724b0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/index.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Context Properties</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Context Properties</h1>
+<p>
+The Context Framework allows you to access system- and session-wide named values. Examples are context properties like the current geographical location. You can receive notifications about changes to these values, and you can also easily subscribe and unsubscribe from change notifications to help with managing power consumption. <h2><a class="anchor" name="Overview">
+Overview</a></h2>
+The Context Properties are key/value pairs. The keys are strings and the values are QVariants.<p>
+Key are arranged in a hierarchical namespace like in this example of two contextual properties<p>
+<div class="fragment"><pre class="fragment"> Screen.TopEdge = <span class="stringliteral">"left"</span>
+ Screen.IsCovered = <span class="keyword">false</span>
+</pre></div><p>
+Although the key names can be considered to form a tree (with "Screen" at the root) there is no semantic relationship between parent and child nodes in the tree: the key "Screen" is unrelated to "Screen.TopEdge". In particular, change notifications do not travel up the tree.<p>
+The <a class="el" href="introspection.html">Introspection</a> section describes in detail how to get a list of existing keys and examine their capabilities.<p>
+Programmers access the key/value pairs through instances of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class. These instances allow applications to access the values and receive change notifications.<p>
+Example: <div class="fragment"><pre class="fragment"> <a class="code" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> *topEdge = <span class="keyword">new</span> <a class="code" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a>(<span class="stringliteral">"Screen.TopEdge"</span>);
+ QObject::connect(topEdge, SIGNAL(valueChanged()),
+ <span class="keyword">this</span>, SLOT(topEdgeChanged()));
+</pre></div><p>
+In your edgeUpChanged method you are able to retrieve the value of the property: <div class="fragment"><pre class="fragment"> qWarning() &lt;&lt; <span class="stringliteral">"The edge "</span> &lt;&lt; topEdge-&gt;<a class="code" href="class_context_property.html#9853332036f43724b65162acc432753a" title="Returns the current value, or the value def if the current value is null.">value</a>() &lt;&lt; <span class="stringliteral">" is up"</span>;
+</pre></div><p>
+Creating a <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instance for a key causes the program to 'subscribe' to this key. The values for some keys might be expensive to determine, so you should only subscribe to those keys that you are currently interested in. You can temporarily unsubscribe from a key without destroying the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> instance by using the unsubscribe() member function. Later, you can resume the subscription by calling the subscribe() member function.<p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> onScreenBlank ()
+ {
+ topEdge-&gt;<a class="code" href="class_context_property.html#fa0ef21efe3c1c5d2b5936cda8feb350" title="Unsubscribes from the context property, if it is currently subscribed.">unsubscribe</a>();
+ }
+
+ <span class="keywordtype">void</span> onScreenUnblank ()
+ {
+ topEdge-&gt;<a class="code" href="class_context_property.html#5e6f52ce5ba6e7d07240ce84c2cc7326" title="Starts subscribtion to the context property, if it isn&amp;#39;t subscribed already.">subscribe</a>();
+ }
+</pre></div><p>
+All the context properties can be used anytime, not depending on whether the provider of the property is installed or running. If the system/provider cannot provide you with a value, the value of the context property will be null. If for some reason you are interested in property metadata (such as a key's current provider, availability, etc.) you should consult the <a class="el" href="introspection.html">Introspection</a> API. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infobackend_8cpp.html b/libcontextsubscriber/doc/html/infobackend_8cpp.html
new file mode 100644
index 00000000..031fc6f3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infobackend_8cpp.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infobackend.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infobackend.cpp File Reference</h1><code>#include &quot;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infoxmlbackend_8h-source.html">infoxmlbackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infocdbbackend_8h-source.html">infocdbbackend.h</a>&quot;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QCoreApplication&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infobackend_8h-source.html b/libcontextsubscriber/doc/html/infobackend_8h-source.html
new file mode 100644
index 00000000..297ca286
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infobackend_8h-source.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infobackend.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>infobackend.h</h1><a href="infobackend_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef INFOBACKEND_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define INFOBACKEND_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>"</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a><a class="code" href="class_info_backend.html">00030</a> <span class="keyword">class </span><a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> : <span class="keyword">public</span> QObject
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 Q_OBJECT
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">public</span>:
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">static</span> <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>* <a class="code" href="class_info_backend.html#7c627815ff574b54ecd60191468fcc94" title="Returns the actual singleton instance, creates it on first access.">instance</a>(<span class="keyword">const</span> QString &amp;backendName = <span class="stringliteral">""</span>);
+<a name="l00037"></a>00037
+<a name="l00039"></a>00039 <span class="keyword">virtual</span> QString <a class="code" href="class_info_backend.html#fa40871167e96ccc256e33b79a628ed3" title="Returns the name of the backend, ie: &amp;#39;xml&amp;#39;.">name</a>() <span class="keyword">const</span> = 0;
+<a name="l00040"></a>00040
+<a name="l00042"></a>00042 <span class="keyword">virtual</span> QStringList <a class="code" href="class_info_backend.html#b982301f28a9655255683ad66c8f0c95" title="Returns the list of all the keys in the registry.">listKeys</a>() <span class="keyword">const</span> = 0;
+<a name="l00043"></a>00043
+<a name="l00045"></a>00045 <span class="keyword">virtual</span> QString <a class="code" href="class_info_backend.html#accf0ff06a36c5f8edaab3013eaf8315" title="Returns a type for the given key.">typeForKey</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00046"></a>00046
+<a name="l00048"></a>00048 <span class="keyword">virtual</span> QString <a class="code" href="class_info_backend.html#f90947cb65d219d1f703683a471f649d" title="Returns the documentation for the given key name.">docForKey</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00049"></a>00049
+<a name="l00051"></a>00051 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_info_backend.html#4ff58350a0f16796b0704353f554d303" title="Returns true if the given key exists.">keyDeclared</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00052"></a>00052
+<a name="l00054"></a>00054 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_info_backend.html#29733f7d3ba8bf62a932eae5b851d2f8" title="Returns a list of providers for the given key.">providersForKey</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 signals:
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#cdad993095c6538cd80cdd418a09fd63" title="Emitted when key list changes. ContextRegistryInfo listens on that.">keysChanged</a>(<span class="keyword">const</span> QStringList&amp; currentKeys);
+<a name="l00059"></a>00059
+<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#159354ed05ba53b30feb861362c97ecd" title="Emitted when new keys are added. ContextRegistryInfo listens on that.">keysAdded</a>(<span class="keyword">const</span> QStringList&amp; newKeys);
+<a name="l00062"></a>00062
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#abad9b345fa7dda6c4b3630a5afda245" title="Emitted when keys are removed. ContextRegistryInfo listens on that.">keysRemoved</a>(<span class="keyword">const</span> QStringList&amp; removedKeys);
+<a name="l00065"></a>00065
+<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#3962e7c993113bf00ac4fa983109aa52" title="Emitted when key data/info changes. ContextPropertyInfo instances listen on that...">keyChanged</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00068"></a>00068
+<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#ebe6133efbd7ee2a8c70afe44cdb06e4" title="Emitted when the key list changes. ContextRegistryInfo listens on that.">listChanged</a>();
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">protected</span>:
+<a name="l00073"></a>00073 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#b0db0c312a540b4b6d49c434c8cf64bd" title="Called each time we have a signal connection. Increases the connect count.">connectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00074"></a>00074 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#4800fc55302f0c049c11ce3a93a204d3" title="Called each time we have a signal disconnection. Decreases the connect count.">disconnectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">private</span>:
+<a name="l00077"></a><a class="code" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af">00077</a> <span class="keywordtype">int</span> <a class="code" href="class_info_backend.html#463dc4b191efca9c44035cb52798e0af" title="Number of connections to signals. Used to optimized signal emission when 0.">connectCount</a>;
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <a class="code" href="class_info_backend.html#4b9aafee7309b9e3a82eb3ca99ca173f" title="Constructs the object. The connectCount is 0 on start.">InfoBackend</a>(QObject *parent = 0);
+<a name="l00080"></a>00080
+<a name="l00082"></a>00082 <a class="code" href="class_info_backend.html#4b9aafee7309b9e3a82eb3ca99ca173f" title="Constructs the object. The connectCount is 0 on start.">InfoBackend</a>(<span class="keyword">const</span> <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>&amp;);
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#26dea7269e293f178ca7a855bd8085eb" title="Given the currentKeys list of keys and the oldKeys list of keys, emit a signal containing...">checkAndEmitKeysAdded</a>(<span class="keyword">const</span> QStringList &amp;currentKeys, <span class="keyword">const</span> QStringList &amp;oldKeys);
+<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#2229c5a5b2c85b50746497bed16735c2" title="Given the currentKeys list of keys and the oldKeys list of keys, emit a signal containing...">checkAndEmitKeysRemoved</a>(<span class="keyword">const</span> QStringList &amp;currentKeys, <span class="keyword">const</span> QStringList &amp;oldKeys);
+<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#d770d30f718c8110a6e14371293829b9" title="Given the currentKeys list of keys and the oldKeys list of keys, emit a keyChanged...">checkAndEmitKeyChanged</a>(<span class="keyword">const</span> QStringList &amp;currentKeys, <span class="keyword">const</span> QStringList &amp;oldKeys);
+<a name="l00087"></a>00087
+<a name="l00089"></a>00089 <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>&amp; <a class="code" href="class_info_backend.html#90791486e0755836a52ff3f59279dc95" title="Private operator. Do not use.">operator=</a>(<span class="keyword">const</span> <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>&amp;);
+<a name="l00090"></a>00090
+<a name="l00091"></a><a class="code" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8">00091</a> <span class="keyword">static</span> <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>* <a class="code" href="class_info_backend.html#f56386ab44960a7646b5a2585688c8d8" title="Holds a pointer to the instance of the singelton.">backendInstance</a>;
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#e8204b17f82806015d23088f8c6776da" title="Called before the application is destroyed.">destroyInstance</a>();
+<a name="l00093"></a>00093
+<a name="l00094"></a><a class="code" href="class_info_backend.html#0fa89bc3c8483b7168bf136420b43fa4">00094</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_xml_backend.html" title="Implements the InfoBackend for reading data from a directory with xml files.">InfoXmlBackend</a>;
+<a name="l00095"></a><a class="code" href="class_info_backend.html#84aa2becdb5d27499636a31d69e66683">00095</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_cdb_backend.html" title="Implements the InfoBackend for reading data from a cdb database.">InfoCdbBackend</a>;
+<a name="l00096"></a><a class="code" href="class_info_backend.html#53ddc2857121c7ec9f2e1205ea05802f">00096</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#53ddc2857121c7ec9f2e1205ea05802f">InfoTestBackend</a>;
+<a name="l00097"></a><a class="code" href="class_info_backend.html#905a056999dd60bfa46a1cc023ee9066">00097</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#905a056999dd60bfa46a1cc023ee9066">InfoXmlBackendUnitTest</a>;
+<a name="l00098"></a><a class="code" href="class_info_backend.html#d3b9d468ea4d158bc8f3a258ab5d72be">00098</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#d3b9d468ea4d158bc8f3a258ab5d72be">InfoCdbBackendUnitTest</a>;
+<a name="l00099"></a><a class="code" href="class_info_backend.html#9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">00099</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackendUnitTest</a>;
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 };
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="preprocessor">#endif // INFOBACKEND_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infobackend_8h.html b/libcontextsubscriber/doc/html/infobackend_8h.html
new file mode 100644
index 00000000..dcff7bf1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infobackend_8h.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infobackend.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infobackend.h File Reference</h1><code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+
+<p>
+<a href="infobackend_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html">InfoBackend</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An abstract (pure virtual) singleton class that represents the actual registry backend. <a href="class_info_backend.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infocdbbackend_8cpp.html b/libcontextsubscriber/doc/html/infocdbbackend_8cpp.html
new file mode 100644
index 00000000..44dba83e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infocdbbackend_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infocdbbackend.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infocdbbackend.cpp File Reference</h1><code>#include &lt;QFileInfo&gt;</code><br>
+<code>#include &lt;QDir&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QFile&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;QHash&gt;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infocdbbackend_8h-source.html">infocdbbackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infocdbbackend_8h-source.html b/libcontextsubscriber/doc/html/infocdbbackend_8h-source.html
new file mode 100644
index 00000000..4610d29f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infocdbbackend_8h-source.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infocdbbackend.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>infocdbbackend.h</h1><a href="infocdbbackend_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef INFOCDBBACKEND_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define INFOCDBBACKEND_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QFileSystemWatcher&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="cdbreader_8h.html">cdbreader.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="infobackend_8h.html">infobackend.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>"</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a><a class="code" href="class_info_cdb_backend.html">00033</a> <span class="keyword">class </span><a class="code" href="class_info_cdb_backend.html" title="Implements the InfoBackend for reading data from a cdb database.">InfoCdbBackend</a> : <span class="keyword">public</span> <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 Q_OBJECT
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">public</span>:
+<a name="l00038"></a>00038 <span class="keyword">explicit</span> <a class="code" href="class_info_cdb_backend.html#8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a>(QObject *parent = 0);
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">virtual</span> QString <a class="code" href="class_info_cdb_backend.html#98707e9504d1719000fec1d31de01174" title="Returns &amp;#39;cdb&amp;#39;.">name</a>() <span class="keyword">const</span>;
+<a name="l00041"></a>00041 <span class="keyword">virtual</span> QStringList <a class="code" href="class_info_cdb_backend.html#16a29a2335e21a73b8317d23eadb3069" title="Returns the list of all the keys in the registry.">listKeys</a>() <span class="keyword">const</span>;
+<a name="l00042"></a>00042 <span class="keyword">virtual</span> QString <a class="code" href="class_info_cdb_backend.html#ca1274681b8a808f1827d08b44f71319" title="Returns a type for the given key.">typeForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00043"></a>00043 <span class="keyword">virtual</span> QString <a class="code" href="class_info_cdb_backend.html#96b65379f588dc602406449012a9ceae" title="Returns the documentation for the given key name.">docForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00044"></a>00044 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_info_cdb_backend.html#79ee60153f6d7113ee7c454495ed3d87" title="Returns true if the given key exists.">keyDeclared</a>(QString key) <span class="keyword">const</span>;
+<a name="l00045"></a>00045 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_info_cdb_backend.html#c28d61755c842e1226fbd4e44f69a040" title="Returns a list of providers for the given key.">providersForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">static</span> QString <a class="code" href="class_info_cdb_backend.html#2ec440b4df1e409e6cf74f5fd514fb6c" title="Returns the full path to the database directory.">databaseDirectory</a>();
+<a name="l00048"></a>00048 <span class="keyword">static</span> QString <a class="code" href="class_info_cdb_backend.html#1a31a6076fc78a72e0bc00135d110fa2" title="Returns the full path to the database.">databasePath</a>();
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_info_cdb_backend.html#99e18dd002d2fdf388914721eb53599f" title="Returns true if the database file is present.">databaseExists</a>();
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">private</span>:
+<a name="l00052"></a><a class="code" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45">00052</a> QFileSystemWatcher <a class="code" href="class_info_cdb_backend.html#b3f82f73e8f0c453716cfe0142b19d45" title="A watched object obsering the database file. Delivers synced notifications.">watcher</a>;
+<a name="l00053"></a><a class="code" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738">00053</a> <a class="code" href="class_c_d_b_reader.html" title="A wrapper class to read data from a tiny-cdb database.">CDBReader</a> <a class="code" href="class_info_cdb_backend.html#c58abb26efac881051ae758d57aa3738" title="The cdb reader object used to access the cdb database.">reader</a>;
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_info_cdb_backend.html#f9a982a33f464a0579357fbc53e3305c">watch</a>();
+<a name="l00055"></a>00055 <span class="keyword">static</span> QStringList <a class="code" href="class_info_cdb_backend.html#8d422f8e80ad4feb74620c6dd793cefd">variantListToStringList</a>(<span class="keyword">const</span> QVariantList &amp;l);
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">private</span> slots:
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="class_info_cdb_backend.html#809ba5fe86160dd85c3221b91f480a8d" title="Called when the database changes.">onDatabaseFileChanged</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_info_cdb_backend.html#9a95be7eb4456ff22f28a37fd5eb1945" title="Called when the directory with cache.db chanes.">onDatabaseDirectoryChanged</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="preprocessor">#endif // INFOCDBBACKEND_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infocdbbackend_8h.html b/libcontextsubscriber/doc/html/infocdbbackend_8h.html
new file mode 100644
index 00000000..b970c8c0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infocdbbackend_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infocdbbackend.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infocdbbackend.h File Reference</h1><code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QFileSystemWatcher&gt;</code><br>
+<code>#include &quot;<a class="el" href="cdbreader_8h-source.html">cdbreader.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+
+<p>
+<a href="infocdbbackend_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html">InfoCdbBackend</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a cdb database. <a href="class_info_cdb_backend.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infokeydata_8h-source.html b/libcontextsubscriber/doc/html/infokeydata_8h-source.html
new file mode 100644
index 00000000..749d70b6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infokeydata_8h-source.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infokeydata.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>infokeydata.h</h1><a href="infokeydata_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef INFOKEYDATA_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define INFOKEYDATA_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00036"></a><a class="code" href="struct_info_key_data.html">00036</a> <span class="keyword">struct </span><a class="code" href="struct_info_key_data.html" title="Simple storage class that groups info about a given key.">InfoKeyData</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a><a class="code" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45">00038</a> QString <a class="code" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45" title="Name of the we&amp;#39;re storing data for.">name</a>;
+<a name="l00039"></a><a class="code" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5">00039</a> QString <a class="code" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5" title="Type of the key.">type</a>;
+<a name="l00040"></a><a class="code" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b">00040</a> QString <a class="code" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b" title="Doc for the key.">doc</a>;
+<a name="l00041"></a>00041 };
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="preprocessor">#endif // INFOKEYDATA_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infokeydata_8h.html b/libcontextsubscriber/doc/html/infokeydata_8h.html
new file mode 100644
index 00000000..cf3f3414
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infokeydata_8h.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infokeydata.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infokeydata.h File Reference</h1><code>#include &lt;QString&gt;</code><br>
+
+<p>
+<a href="infokeydata_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html">InfoKeyData</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple storage class that groups info about a given key. <a href="struct_info_key_data.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infoxmlbackend_8cpp.html b/libcontextsubscriber/doc/html/infoxmlbackend_8cpp.html
new file mode 100644
index 00000000..add2a549
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infoxmlbackend_8cpp.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infoxmlbackend.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infoxmlbackend.cpp File Reference</h1><code>#include &lt;QFileInfo&gt;</code><br>
+<code>#include &lt;QDir&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QXmlSimpleReader&gt;</code><br>
+<code>#include &lt;QXmlInputSource&gt;</code><br>
+<code>#include &lt;QFile&gt;</code><br>
+<code>#include &lt;QList&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infoxmlbackend_8h-source.html">infoxmlbackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="nanoxml_8h-source.html">nanoxml.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infoxmlbackend_8h-source.html b/libcontextsubscriber/doc/html/infoxmlbackend_8h-source.html
new file mode 100644
index 00000000..5397b6da
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infoxmlbackend_8h-source.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infoxmlbackend.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>infoxmlbackend.h</h1><a href="infoxmlbackend_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef INFOXMLBACKEND_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define INFOXMLBACKEND_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QFileInfo&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QHash&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QFileSystemWatcher&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="infobackend_8h.html">infobackend.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="infokeydata_8h.html">infokeydata.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>"</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a><a class="code" href="class_info_xml_backend.html">00035</a> <span class="keyword">class </span><a class="code" href="class_info_xml_backend.html" title="Implements the InfoBackend for reading data from a directory with xml files.">InfoXmlBackend</a> : <span class="keyword">public</span> <a class="code" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 Q_OBJECT
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00040"></a>00040 <span class="keyword">explicit</span> <a class="code" href="class_info_xml_backend.html#85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>(QObject *parent = 0);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">virtual</span> QString <a class="code" href="class_info_xml_backend.html#83ac8d65786de855c402b426222ab72b" title="Returns &amp;#39;xml&amp;#39;.">name</a>() <span class="keyword">const</span>;
+<a name="l00043"></a>00043 <span class="keyword">virtual</span> QStringList <a class="code" href="class_info_xml_backend.html#74d2b52119a26ca60203ecf86721e38c" title="Returns the list of all the keys in the registry.">listKeys</a>() <span class="keyword">const</span>;
+<a name="l00044"></a>00044 <span class="keyword">virtual</span> QString <a class="code" href="class_info_xml_backend.html#184e0e51db9b59a05cb8267206064e58" title="Returns a type for the given key.">typeForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00045"></a>00045 <span class="keyword">virtual</span> QString <a class="code" href="class_info_xml_backend.html#3b0753cd69c99c2fe188e7fd912a072a" title="Returns the documentation for the given key name.">docForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00046"></a>00046 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_info_xml_backend.html#34f0f40564466e150f433aced83af71a" title="Returns true if the given key exists.">keyDeclared</a>(QString key) <span class="keyword">const</span>;
+<a name="l00047"></a>00047 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_info_xml_backend.html#f72852cc9ec862658d2be1d59be536c0" title="Returns a list of providers for the given key.">providersForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">static</span> QString <a class="code" href="class_info_xml_backend.html#eba0f378c01b6740c53ea977c10947b0" title="Returns the full path to the registry directory.">registryPath</a>();
+<a name="l00050"></a>00050 <span class="keyword">static</span> QString <a class="code" href="class_info_xml_backend.html#e919a19ac7fc38f60048b900d49c41d5" title="Returns the full path to the core property declaration file.">coreDeclPath</a>();
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">private</span> slots:
+<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#edf432bc14783ab4e9f2858a088e0643" title="Called when the registry directory changed (ie.">onDirectoryChanged</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#b2155f5c965bc1249987f6ae942d004b" title="Called when one of the parsed XML files changed.">onFileChanged</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">private</span>:
+<a name="l00057"></a><a class="code" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7">00057</a> QFileSystemWatcher <a class="code" href="class_info_xml_backend.html#6ed00727580f66f06f33ecdb2a7581e7" title="A watched object obsering the database file. Delivers synced notifications.">watcher</a>;
+<a name="l00058"></a><a class="code" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513">00058</a> QHash &lt;QString, InfoKeyData&gt; <a class="code" href="class_info_xml_backend.html#60f512bdb81310502e5d80c2b738d513" title="This hash contains the full state of registry in memory.">keyDataHash</a>;
+<a name="l00059"></a><a class="code" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef">00059</a> QHash &lt;QString, QList&lt;ContextProviderInfo&gt; &gt; <a class="code" href="class_info_xml_backend.html#6bc7baa201268651c5203c8ddf9f1eef" title="This hash contains providers for keys.">keyProvidersHash</a>;
+<a name="l00060"></a><a class="code" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672">00060</a> <span class="keywordtype">int</span> <a class="code" href="class_info_xml_backend.html#c61fad8518de174500caaaa278bf1672" title="The number of xml files we parsed in last registry update.">countOfFilesInLastParse</a>;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#1407eccac5cb06f88fc6014d4ee25f48" title="Clears all the stored data about the registry and parses it all over again.">regenerateKeyDataList</a>();
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#b5d85a566993462042838c786700f7f8" title="Parses a given path file and adds it&amp;#39;s contents to the hash.">readKeyDataFromXml</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00064"></a>00064 QString <a class="code" href="class_info_xml_backend.html#eb7d7c04426594b8ec25cbfd1152e7ed" title="Convert a subset of new-style type names to the currently used old-style type names...">canonicalizeType</a> (<span class="keyword">const</span> QString &amp;type);
+<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#f3f5503ae521393069206f1498102421" title="Parse the given QVariant tree which is supposed to be a key tree.">parseKey</a>(<span class="keyword">const</span> QVariant &amp;keyTree, <span class="keyword">const</span> QVariant &amp;providerTree);
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#endif // INFOXMLBACKEND_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/infoxmlbackend_8h.html b/libcontextsubscriber/doc/html/infoxmlbackend_8h.html
new file mode 100644
index 00000000..f46bb649
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infoxmlbackend_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: infoxmlbackend.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>infoxmlbackend.h File Reference</h1><code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QFileInfo&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QHash&gt;</code><br>
+<code>#include &lt;QFileSystemWatcher&gt;</code><br>
+<code>#include &quot;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infokeydata_8h-source.html">infokeydata.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+
+<p>
+<a href="infoxmlbackend_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements the <a class="el" href="class_info_backend.html" title="An abstract (pure virtual) singleton class that represents the actual registry backend...">InfoBackend</a> for reading data from a directory with xml files. <a href="class_info_xml_backend.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/introspection.html b/libcontextsubscriber/doc/html/introspection.html
new file mode 100644
index 00000000..b7a032d3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/introspection.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: </title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+The Context Framework maintains a registry defining which context properties are currently provided and by whom. The introspection API of libcontextsubscriber allows you to inspect the current state of the registry and observe its changes.<h2><a class="anchor" name="Overview">
+Overview</a></h2>
+The introspection is provided via two classes: <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> and <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a>.<p>
+<a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> provides a high-level view to the registry contents. You can use it to obtain info about the list of currently available keys or e.g. get a list of keys for one particular provider. <a class="el" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> is a singleton instance which is created on the first access.<p>
+<a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> is used to obtain metadata about one particular key. Once created, it can be used to retrieve the type and provider information (DBus bus type and name) of the introspected key. It also provides a signal to listen for changes happening to a key.<h2><a class="anchor" name="Usage">
+Usage</a></h2>
+<div class="fragment"><pre class="fragment"> <span class="comment">// To get a list of all keys in the registry</span>
+ <a class="code" href="class_context_registry_info.html" title="A class to introspect the registry contents.">ContextRegistryInfo</a> *context = <a class="code" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">ContextRegistryInfo::instance</a>();
+ QStringList currentKeys = context-&gt;<a class="code" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060" title="Returns the list of all the keys currently availible in the registry.">listKeys</a>();
+</pre></div><p>
+Using the <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> is even more straight-forward.<p>
+<div class="fragment"><pre class="fragment"> <span class="comment">// To check the type of a particular key</span>
+ <a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> propInfo(<span class="stringliteral">"Battery.ChargeLevel"</span>);
+ QString propType = propInfo.type();
+</pre></div><p>
+The introspection API in general never asserts (never fails). It'll return empty strings on errors or if data is missing. For example:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> propInfo(<span class="stringliteral">"Something.That.Doesnt.Exist"</span>);
+ propInfo.type(); <span class="comment">// ...returns empty string</span>
+ propInfo.doc(); <span class="comment">// ...returns empty string</span>
+</pre></div><p>
+You can use this functionality to wait for keys to become available in the registry. Just create a <a class="el" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> for a key that you're expecting to become present and connect to the <code>changed</code> signal.<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> propInfo(<span class="stringliteral">"Something.That.Doesnt.Exist"</span>);
+ propInfo.declared(); <span class="comment">// false</span>
+ <span class="comment">// Connect something to the changed signal, keep checking it</span>
+</pre></div><h2><a class="anchor" name="xmlvscdb">
+XML vs.CDB</a></h2>
+When the introspection API is first used, a backend choice is being made. <b>CDB</b> backend (reading data from <code>'cache</code>.cdb' ) is used if the tiny database cache file exists in the registry. The standard (slower) <b>XML</b> backend is used in other cases.<p>
+It's possible to force a usage of a particular backend. This can be done by calling the <code>instance</code> method with a string name of the backend:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">ContextRegistryInfo::instance</a>(<span class="stringliteral">"cdb"</span>); <span class="comment">// or "xml"</span>
+</pre></div><p>
+This needs to be done early enough before the introspection API is first used. For more information about the <b>xml</b> and backends read the <a class="el" href="updatingcontextproviders.html">UpdatingContextProviders</a> page. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/iproviderplugin_8h-source.html b/libcontextsubscriber/doc/html/iproviderplugin_8h-source.html
new file mode 100644
index 00000000..1c6809f9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/iproviderplugin_8h-source.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: iproviderplugin.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>iproviderplugin.h</h1><a href="iproviderplugin_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef IPROVIDERPLUGIN_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define IPROVIDERPLUGIN_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">/* This is not a public API of ContextKit, please do not write third</span>
+<a name="l00031"></a>00031 <span class="comment"> * party plugins for the ContextKit client library without first</span>
+<a name="l00032"></a>00032 <span class="comment"> * contacting us.</span>
+<a name="l00033"></a>00033 <span class="comment"> */</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a><a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html">00035</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html" title="Interface for provider plugins.">IProviderPlugin</a> : <span class="keyword">public</span> QObject
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 Q_OBJECT
+<a name="l00038"></a>00038 <span class="keyword">public</span>:
+<a name="l00039"></a>00039 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#96f3f5ea81859ddfef63c0e064cba365">subscribe</a>(QSet&lt;QString&gt; keys) = 0;
+<a name="l00040"></a>00040 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#9a5410b5898e5d1efde167752696f2f5">unsubscribe</a>(QSet&lt;QString&gt; keys) = 0;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 signals:
+<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#236ba3dcfb3fd566fffb89e05855dbf8">ready</a>();
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#2b38e3432ffbe7006ffcbe696e4331dd">failed</a>(QString error);
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#68cf30909195fcadb259056ad8a8d9ba">subscribeFinished</a>(QString key);
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#e62e69b51185cb0437230916cc306548">subscribeFailed</a>(QString failedKey, QString error);
+<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#3a106b2d49454337f9269b2ffb07647e">valueChanged</a>(QString key, QVariant value);
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a><a class="code" href="namespace_context_subscriber.html#8633109a61fa262fddd2d10ba1631c16">00050</a> <span class="keyword">typedef</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html" title="Interface for provider plugins.">IProviderPlugin</a>* (*PluginFactoryFunc)(QString constructionString);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/iproviderplugin_8h.html b/libcontextsubscriber/doc/html/iproviderplugin_8h.html
new file mode 100644
index 00000000..b93f1d57
--- /dev/null
+++ b/libcontextsubscriber/doc/html/iproviderplugin_8h.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: iproviderplugin.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>iproviderplugin.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+
+<p>
+<a href="iproviderplugin_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">ContextSubscriber::IProviderPlugin</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface for provider plugins. <a href="class_context_subscriber_1_1_i_provider_plugin.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef IProviderPlugin *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html#8633109a61fa262fddd2d10ba1631c16">ContextSubscriber::PluginFactoryFunc</a> )(QString constructionString)</td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/logging.html b/libcontextsubscriber/doc/html/logging.html
new file mode 100644
index 00000000..eea6decd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: </title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+The library (and ContexKit in general) use a simple logging system designed to unify the output and make the debugging easier.<h2><a class="anchor" name="API">
+API</a></h2>
+Four types of log messages (presented here in the order of importance) are supported: <b>Test</b>, <b>Debug</b>, <b>Warning</b> and <b>Critical</b>.<p>
+The first one, the <b>Test</b> message requires some attention. It's meant to be used from tests and unit-tests to log various stages of the test execution. It'll make the test output more easily filterable.<p>
+The log messages can be used like this:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">contextTest</a>() &lt;&lt; <span class="stringliteral">"This is some message"</span>;
+ <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">"My value is:"</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">contextWarning</a>() &lt;&lt; <span class="stringliteral">"Expecting key:"</span> &lt;&lt; something.getKey();
+ <a class="code" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">contextCritical</a>() &lt;&lt; 5 &lt;&lt; <span class="stringliteral">"is bigger than"</span> &lt;&lt; 4;
+</pre></div><p>
+Notice that the logging framework (very much like ie <b>qDebug</b>) automatically ads whitespace. So:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">"My value is"</span> &lt;&lt; 5 &lt;&lt; <span class="stringliteral">"and should be 5"</span>;
+</pre></div><p>
+...will actually print:<p>
+<div class="fragment"><pre class="fragment"> My value is 5 and should be 5
+</pre></div><h2><a class="anchor" name="compilecontrol">
+Compile-time verbosity control</a></h2>
+During the compile time certain defines can be used to turn-off debug messages. Those defines are:<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_HIDE_TEST
+ CONTEXT_LOG_HIDE_DEBUG
+ CONTEXT_LOG_HIDE_WARNING
+ CONTEXT_LOG_HIDE_CRITICAL
+</pre></div><p>
+A given define makes a respective macro message evaluate to an empty code. To be precise: it makes the macro message evaluate to an inline do-nothing class that is optimized by the compiler to do nothing.<p>
+When ie. <code>CONTEXT_LOG_HIDE_DEBUG</code> define is used to turn off <code><a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug()</a></code> messages, the actual string content of the debug messages is <b>not</b> included in the binary and during runtime the machine does not spend time evaluating it.<p>
+Those compile-time control defines are integrated in the build/configure system.<h2><a class="anchor" name="runtimecontrol">
+Run-time verbosity control</a></h2>
+During run-time, the amount of debugging can be limited (filtered) but it can't be increased (expanded). In other words, if a package was compiled with warnings-only, it's not possible to make it show debug messages at runtime. But it is possible to make it criticals-only.<p>
+The filtering happens via env variables. The major player is the <code>CONTEXT_LOG_VERBOSITY</code> variable which can be set to <code>TEST</code>, <code>DEBUG</code>, <code>WARNING</code> and <code>CRITICAL</code>. The <code>CONTEXT_LOG_VERBOSITY</code> specifies the minimal level of the messages shown. Ie. <code>CONTEXT_LOG_VERBOSITY</code> set to <code>WARNING</code> will show only warning and criticals.<p>
+The format of the output can be tweaked with <code>CONTEXT_LOG_HIDE_TIMESTAMPS</code> and <code>CONTEXT_LOG_USE_COLOR</code>. The first one makes the messages shorter by skipping the timestamp info. The second one adds a little bit of ANSI coloring to the messages.<p>
+<code>CONTEXT_LOG_SHOW_MODULE</code> will filter-out (kill) all messages <b>except</b> the ones coming from the specified module. Ie.:<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_SHOW_MODULE=<span class="stringliteral">"subscriber"</span> ./some-binary
+</pre></div><p>
+...will run <code></code>./some-binary showing log messages <b>only</b> from <code>subscriber</code> module.<p>
+Lastly, <code>CONTEXT_LOG_HIDE_MODULE</code> will hide log messages coming from the specified module. All other messages will be show.<h2><a class="anchor" name="modules">
+Modules in logging</a></h2>
+In previous section we discussed and mentioned modules. For the purpose of logging, a module is a piece of code (not neccesarily limited to one binary or shared object) that forms one component (feature-wise). Specyfying and naming the modules is used to set the origin of the logging messages.<p>
+The logging module is set using the <code>CONTEXT_LOG_MODULE_NAME</code> define. It should be (in most cases) defined in the build system and automatically applied to the whole source code. Typically (with autotools) this can be achieved with something similar too:<p>
+<div class="fragment"><pre class="fragment"> ...
+ AM_CXXFLAGS = <span class="stringliteral">'-DCONTEXT_LOG_MODULE_NAME="libtest"'</span>
+ ...
+</pre></div><p>
+If <code>CONTEXT_LOG_MODULE_NAME</code> is undefined, the log messages will be marked as coming from an <b>"Undefined"</b> module.<h2><a class="anchor" name="features">
+Featues</a></h2>
+It's possible also to assign logging messages to feature groups and control the output based on that. Features can be compared to tags - one message can belong to zero or more features. To add to a feature to a log message:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"threads"</span>) &lt;&lt; <span class="stringliteral">"Message goes here"</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"threads"</span>) &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"something"</span>) &lt;&lt; <span class="stringliteral">"Message..."</span>;
+</pre></div><p>
+It doesn't matter where features are added to the message. There is no specific order required. The following syntax is supported as well:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"threads"</span>) &lt;&lt; <span class="stringliteral">"Some message..."</span> &lt;&lt; <a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">"another"</span>);
+</pre></div><p>
+There are two enviornment variables that control the output of messages vs. features: <b>CONTEXT_LOG_SHOW_FEATURES</b> and <b>CONTEXT_LOG_HIDE_FEATURES</b>. Both take a comma-separated list of features.<p>
+If you specify CONTEXT_LOG_SHOW_FEATURES only messages with given features will be printed to the screen. If you specify <b>CONTEXT_LOG_HIDE_FEATURES</b>, messages with the specified features will be hidden (not displayed). For example:<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_SHOW_FEATURES=<span class="stringliteral">"threads,util"</span> ./some-binary
+</pre></div><p>
+...will make <b>only</b> the messages belonging to "threads" or "util" features displayed.<p>
+<div class="fragment"><pre class="fragment"> CONTEXT_LOG_HIDE_FEATURES=<span class="stringliteral">"threads,util"</span> ./some-binary
+</pre></div><p>
+...will hide all logging messages belonging to "threads" and "util" feature groups.<h2><a class="anchor" name="vanilla">
+Vanilla</a></h2>
+If the default logging output is too much for you, it's possible to set a CONTEXT_LOG_VANILLA enviornment variable. This will simplify the logging output greatly -- no timestamps will be printed, no module information will be printed, no line/function/class info will be printed. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/logging_8cpp.html b/libcontextsubscriber/doc/html/logging_8cpp.html
new file mode 100644
index 00000000..cecbf587
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging_8cpp.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: logging.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>logging.cpp File Reference</h1><code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;fcntl.h&gt;</code><br>
+<code>#include &lt;QDateTime&gt;</code><br>
+<code>#include &lt;QFile&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/logging_8h-source.html b/libcontextsubscriber/doc/html/logging_8h-source.html
new file mode 100644
index 00000000..625fbc45
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging_8h-source.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: logging.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>logging.h</h1><a href="logging_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef LOGGING_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define LOGGING_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QIODevice&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QTextStream&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QBuffer&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QDebug&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">00032</a> <span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_TEST 1</span>
+<a name="l00033"></a><a class="code" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_DEBUG 2</span>
+<a name="l00034"></a><a class="code" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_WARNING 3</span>
+<a name="l00035"></a><a class="code" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_CRITICAL 4</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef CONTEXT_LOG_MODULE_NAME</span>
+<a name="l00038"></a><a class="code" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MODULE_NAME "unknown"</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span>
+<a name="l00041"></a><a class="code" href="class_context_feature.html">00041</a> <span class="keyword">class </span><a class="code" href="class_context_feature.html" title="This class represents a &amp;quot;feature&amp;quot; in the logging framework/system.">ContextFeature</a>
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">public</span>:
+<a name="l00044"></a>00044 <a class="code" href="class_context_feature.html#f1dc3766a0b0e21ba0a2f22a3102d09b" title="Constructor for a new feature.name is the feature name.">ContextFeature</a>(QString name);
+<a name="l00045"></a>00045 QString <a class="code" href="class_context_feature.html#7c0d22d25f95a49373b195d8c55d1dc7" title="Returns the name of the feature.">getName</a>() <span class="keyword">const</span>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">private</span>:
+<a name="l00048"></a><a class="code" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">00048</a> QString <a class="code" href="class_context_feature.html#6938d336fbf692bd91d84687a342184b">featureName</a>;
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a><a class="code" href="class_context_real_logger.html">00051</a> <span class="keyword">class </span><a class="code" href="class_context_real_logger.html" title="A real logging class.">ContextRealLogger</a> : <span class="keyword">public</span> QTextStream
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">public</span>:
+<a name="l00054"></a>00054 <a class="code" href="class_context_real_logger.html#ee3a7c4dac60f4ec39165edf96466637" title="Constructor.">ContextRealLogger</a>(<span class="keywordtype">int</span> <a class="code" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127" title="Type of message we&amp;#39;re representing.">msgType</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *module, <span class="keyword">const</span> <span class="keywordtype">char</span> *func, <span class="keyword">const</span> <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> line);
+<a name="l00055"></a>00055 <a class="code" href="class_context_real_logger.html#d45b7a29bfd04c8678e2336964621b16" title="Destructor, prints end-of-line before going down.">~ContextRealLogger</a>();
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b">00057</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#dbf345abfa4979dad50fa64587d8b12b" title="Test messages enabled at runtime.">showTest</a>;
+<a name="l00058"></a><a class="code" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07">00058</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#149b4fa211448303b24806071a010e07" title="Debug messages enabled at runtime.">showDebug</a>;
+<a name="l00059"></a><a class="code" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2">00059</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#cf5deaf1c001736730952794379c9fb2" title="Warning messages enabled at runtime.">showWarning</a>;
+<a name="l00060"></a><a class="code" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0">00060</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#7ffcc463d565ee93eadef3d95b388ac0" title="Critical messages enabled at runtime.">showCritical</a>;
+<a name="l00061"></a><a class="code" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8">00061</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#ca946deec46d8e37f40b20a978d92ee8" title="Class initialized/env vars parsed.">initialized</a>;
+<a name="l00062"></a><a class="code" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45">00062</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#73b4d5021ffae90cbe7e9f914e307c45" title="Don&amp;#39;t print timestamps.">hideTimestamps</a>;
+<a name="l00063"></a><a class="code" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902">00063</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#681ec8a8c8151a6e76de1b1b3aebe902" title="Use simple colors for output (yellow for warnings, red for criticals).">useColor</a>;
+<a name="l00064"></a><a class="code" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2">00064</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#261f1adeed09c748431d960c009280e2" title="Show messages only from the specified module.">showModule</a>;
+<a name="l00065"></a><a class="code" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f">00065</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#29217f7733d4f5a8d73fa20dea9c2b8f" title="Hide messages from the specified module.">hideModule</a>;
+<a name="l00066"></a><a class="code" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486">00066</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#d3e0dc8c801098e35a385d712369b486" title="Show messages with only the specified features.">showFeatures</a>;
+<a name="l00067"></a><a class="code" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61">00067</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#1ad94fcbdca55015db01b33566642d61" title="Hide messages with the specified features.">hideFeatures</a>;
+<a name="l00068"></a><a class="code" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413">00068</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#11114df34f0dc06d4261a98db0c1a413" title="Use vanilla (stripped-down) logging.">vanilla</a>;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_context_real_logger.html#e753079d62a886dd09c0576ad524c8f4" title="Initialize the class by checking the enviornment variables and setting the message...">initialize</a>();
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <a class="code" href="class_context_real_logger.html" title="A real logging class.">ContextRealLogger</a> &amp;<a class="code" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b" title="Operator for appending features.">operator&lt;&lt; </a>(<span class="keyword">const</span> <a class="code" href="class_context_feature.html" title="This class represents a &amp;quot;feature&amp;quot; in the logging framework/system.">ContextFeature</a>&amp;);
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="comment">// ContextRealLogger &amp;operator&lt;&lt; (const char *str);</span>
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="class_context_real_logger.html#83a9a63cef3753053154b86da8da52bb">00076</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <a class="code" href="class_context_real_logger.html" title="A real logging class.">ContextRealLogger</a> &amp;<a class="code" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b" title="Operator for appending features.">operator&lt;&lt; </a>(<span class="keyword">const</span> T&amp; qSomething)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 QString out;
+<a name="l00079"></a>00079 QDebug(&amp;out) &lt;&lt; qSomething;
+<a name="l00080"></a>00080 <a class="code" href="class_context_real_logger.html#4a3d4d64fb340a1f4adb698106ee6d4b" title="Operator for appending features.">QTextStream::operator&lt;&lt;</a>(out);
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">private</span>:
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#db17a18fe2b4e07d23484b3e62661d4b">shouldPrint</a>();
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="class_context_real_logger.html#1f6e0152e1e606b00e45f720d4eeba99" title="Append (print) all the features, separated with commas and wrapped in brackets.">appendFeatures</a>();
+<a name="l00088"></a>00088
+<a name="l00089"></a><a class="code" href="class_context_real_logger.html#2ee1b0baea9a178ad3b84b13342b0127">00089</a> <span class="keywordtype">int</span> msgType;
+<a name="l00090"></a><a class="code" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707">00090</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_context_real_logger.html#25735132cf3de872624cd42f0c667707" title="The module name.">moduleName</a>;
+<a name="l00091"></a><a class="code" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e">00091</a> QString <a class="code" href="class_context_real_logger.html#1ade8a975d63f4e178eba2e2d4a26f1e" title="Holds the stream data.">data</a>;
+<a name="l00092"></a><a class="code" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">00092</a> QStringList <a class="code" href="class_context_real_logger.html#9aaf9fde5617bf1f71630f2d3c74fb6f">features</a>;
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00106"></a><a class="code" href="class_context_zero_logger.html">00106</a> <span class="keyword">class </span><a class="code" href="class_context_zero_logger.html" title="A fake logging class.">ContextZeroLogger</a>
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">public</span>:
+<a name="l00110"></a><a class="code" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7">00110</a> <span class="keyword">inline</span> <a class="code" href="class_context_zero_logger.html#95e0d40b90ed9c3f360067a3dadaa0c7" title="Constructor. Does nothing.">ContextZeroLogger</a>() {}
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">/* Stubby ops */</span>
+<a name="l00113"></a><a class="code" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb">00113</a> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <a class="code" href="class_context_zero_logger.html" title="A fake logging class.">ContextZeroLogger</a> &amp;<a class="code" href="class_context_zero_logger.html#ae39e44e016d29a07bd076470bc171bb" title="Does nothing.">operator&lt;&lt; </a>(<span class="keyword">const</span> T&amp;) { <span class="keywordflow">return</span> *<span class="keyword">this</span>;}
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">/* Macro defs */</span>
+<a name="l00117"></a>00117
+<a name="l00118"></a><a class="code" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">00118</a> <span class="preprocessor">#define contextFeature(name) (ContextFeature(name))</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span>
+<a name="l00120"></a>00120 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_TEST</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define contextTest() (ContextZeroLogger())</span>
+<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00123"></a><a class="code" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">00123</a> <span class="preprocessor"></span><span class="preprocessor">#define contextTest() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_TEST, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span>
+<a name="l00126"></a>00126 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_DEBUG</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define contextDebug() (ContextZeroLogger())</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00129"></a><a class="code" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">00129</a> <span class="preprocessor"></span><span class="preprocessor">#define contextDebug() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_DEBUG, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00131"></a>00131 <span class="preprocessor"></span>
+<a name="l00132"></a>00132 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_WARNING</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#define contextWarning() (ContextZeroLogger())</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00135"></a><a class="code" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">00135</a> <span class="preprocessor"></span><span class="preprocessor">#define contextWarning() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_WARNING, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span>
+<a name="l00138"></a>00138 <span class="preprocessor">#ifdef CONTEXT_LOG_HIDE_CRITICAL</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor">#define contextCritical() (ContextZeroLogger())</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00141"></a><a class="code" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define contextCritical() (ContextRealLogger(CONTEXT_LOG_MSG_TYPE_CRITICAL, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+<a name="l00144"></a>00144 <span class="preprocessor">#endif // LOGGING_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/logging_8h.html b/libcontextsubscriber/doc/html/logging_8h.html
new file mode 100644
index 00000000..048a7346
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging_8h.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: logging.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>logging.h File Reference</h1><code>#include &lt;QIODevice&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QTextStream&gt;</code><br>
+<code>#include &lt;QBuffer&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+
+<p>
+<a href="logging_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html">ContextFeature</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class represents a "feature" in the logging framework/system. <a href="class_context_feature.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A real logging class. <a href="class_context_real_logger.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fake logging class. <a href="class_context_zero_logger.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#f4c5c4bc7df62d9c450a10142ada2f73">CONTEXT_LOG_MSG_TYPE_TEST</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#31a4dd1d3ccd43a859bc3b3c12de8a83">CONTEXT_LOG_MSG_TYPE_DEBUG</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#135d5a5bda27a9c86559a49deba43788">CONTEXT_LOG_MSG_TYPE_WARNING</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#5caff9634fb82d206523ecc35720802c">CONTEXT_LOG_MSG_TYPE_CRITICAL</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a01ef6b4b7c61c0ae8d236d07bc69a62">CONTEXT_LOG_MODULE_NAME</a>&nbsp;&nbsp;&nbsp;&quot;unknown&quot;</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#fbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(name)&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(name))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#bfb57c8a40821bf0caa9a29a8dfc47b7">contextTest</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_TEST, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#d9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_DEBUG, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#63433fe15ab356004ccdd4263b0910c0">contextWarning</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_WARNING, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#7f115b5076497bd3af236e8778940ea1">contextCritical</a>()&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_CRITICAL, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a01ef6b4b7c61c0ae8d236d07bc69a62"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MODULE_NAME" ref="a01ef6b4b7c61c0ae8d236d07bc69a62" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MODULE_NAME&nbsp;&nbsp;&nbsp;&quot;unknown&quot; </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5caff9634fb82d206523ecc35720802c"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_CRITICAL" ref="5caff9634fb82d206523ecc35720802c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_CRITICAL&nbsp;&nbsp;&nbsp;4 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="31a4dd1d3ccd43a859bc3b3c12de8a83"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_DEBUG" ref="31a4dd1d3ccd43a859bc3b3c12de8a83" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_DEBUG&nbsp;&nbsp;&nbsp;2 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f4c5c4bc7df62d9c450a10142ada2f73"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_TEST" ref="f4c5c4bc7df62d9c450a10142ada2f73" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_TEST&nbsp;&nbsp;&nbsp;1 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="135d5a5bda27a9c86559a49deba43788"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_WARNING" ref="135d5a5bda27a9c86559a49deba43788" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CONTEXT_LOG_MSG_TYPE_WARNING&nbsp;&nbsp;&nbsp;3 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7f115b5076497bd3af236e8778940ea1"></a><!-- doxytag: member="logging.h::contextCritical" ref="7f115b5076497bd3af236e8778940ea1" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextCritical </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_CRITICAL, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d9c4e9fd2b26240900ff7c74cd7e8404"></a><!-- doxytag: member="logging.h::contextDebug" ref="d9c4e9fd2b26240900ff7c74cd7e8404" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextDebug </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_DEBUG, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="fbeb0b1d3a7070b195c5a6a5a062dc56"></a><!-- doxytag: member="logging.h::contextFeature" ref="fbeb0b1d3a7070b195c5a6a5a062dc56" args="(name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextFeature </td>
+ <td>(</td>
+ <td class="paramtype">name&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(name))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="bfb57c8a40821bf0caa9a29a8dfc47b7"></a><!-- doxytag: member="logging.h::contextTest" ref="bfb57c8a40821bf0caa9a29a8dfc47b7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextTest </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_TEST, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="63433fe15ab356004ccdd4263b0910c0"></a><!-- doxytag: member="logging.h::contextWarning" ref="63433fe15ab356004ccdd4263b0910c0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define contextWarning </td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_real_logger.html">ContextRealLogger</a>(CONTEXT_LOG_MSG_TYPE_WARNING, CONTEXT_LOG_MODULE_NAME, __PRETTY_FUNCTION__, __FILE__, __LINE__))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/loggingfeatures_8h-source.html b/libcontextsubscriber/doc/html/loggingfeatures_8h-source.html
new file mode 100644
index 00000000..c6323287
--- /dev/null
+++ b/libcontextsubscriber/doc/html/loggingfeatures_8h-source.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: loggingfeatures.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>loggingfeatures.h</h1><a href="loggingfeatures_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef LOGGINGFEATURES_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define LOGGINGFEATURES_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a><a class="code" href="loggingfeatures_8h.html#d7fd5183657903f8730bcac257da9c87">00025</a> <span class="preprocessor">#define F_DEPRECATION (ContextFeature("deprecation"))</span>
+<a name="l00026"></a><a class="code" href="loggingfeatures_8h.html#e141f43f0eca517471078c8af1aa39ca">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define F_THREADS (ContextFeature("threads"))</span>
+<a name="l00027"></a><a class="code" href="loggingfeatures_8h.html#73ca9473e98211f78c6e7598222ff409">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define F_XML (ContextFeature("xml"))</span>
+<a name="l00028"></a><a class="code" href="loggingfeatures_8h.html#ca391b305bf0f67f18c524f746a8ddf0">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define F_CDB (ContextFeature("cdb"))</span>
+<a name="l00029"></a><a class="code" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define F_DESTROY (ContextFeature("destroy"))</span>
+<a name="l00030"></a><a class="code" href="loggingfeatures_8h.html#0daf017d3128067f7e97711dc5d81d5e">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define F_PLUGINS (ContextFeature("plugins"))</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span>
+<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/loggingfeatures_8h.html b/libcontextsubscriber/doc/html/loggingfeatures_8h.html
new file mode 100644
index 00000000..038edf2f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/loggingfeatures_8h.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: loggingfeatures.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>loggingfeatures.h File Reference</h1>
+<p>
+<a href="loggingfeatures_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#d7fd5183657903f8730bcac257da9c87">F_DEPRECATION</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;deprecation&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#e141f43f0eca517471078c8af1aa39ca">F_THREADS</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;threads&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#73ca9473e98211f78c6e7598222ff409">F_XML</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;xml&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#ca391b305bf0f67f18c524f746a8ddf0">F_CDB</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;cdb&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#3f992e5d9c45228ce6af4ffb0f3f38a3">F_DESTROY</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;destroy&quot;))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#0daf017d3128067f7e97711dc5d81d5e">F_PLUGINS</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;plugins&quot;))</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="ca391b305bf0f67f18c524f746a8ddf0"></a><!-- doxytag: member="loggingfeatures.h::F_CDB" ref="ca391b305bf0f67f18c524f746a8ddf0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_CDB&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;cdb&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d7fd5183657903f8730bcac257da9c87"></a><!-- doxytag: member="loggingfeatures.h::F_DEPRECATION" ref="d7fd5183657903f8730bcac257da9c87" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_DEPRECATION&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;deprecation&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3f992e5d9c45228ce6af4ffb0f3f38a3"></a><!-- doxytag: member="loggingfeatures.h::F_DESTROY" ref="3f992e5d9c45228ce6af4ffb0f3f38a3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_DESTROY&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;destroy&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0daf017d3128067f7e97711dc5d81d5e"></a><!-- doxytag: member="loggingfeatures.h::F_PLUGINS" ref="0daf017d3128067f7e97711dc5d81d5e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_PLUGINS&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;plugins&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e141f43f0eca517471078c8af1aa39ca"></a><!-- doxytag: member="loggingfeatures.h::F_THREADS" ref="e141f43f0eca517471078c8af1aa39ca" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_THREADS&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;threads&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="73ca9473e98211f78c6e7598222ff409"></a><!-- doxytag: member="loggingfeatures.h::F_XML" ref="73ca9473e98211f78c6e7598222ff409" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_XML&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;xml&quot;)) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/migratingfromduivaluespace.html b/libcontextsubscriber/doc/html/migratingfromduivaluespace.html
new file mode 100644
index 00000000..ff8247f1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/migratingfromduivaluespace.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: </title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+libcontextsubscriber is a replacement library for DuiValueSpace which is deprecated.<p>
+DuiValueSpace, the old subscription library providing the keys, is deprecated. This library is a replacement for it, providing better API and better implementation while maintaining the same core ideas and structure.<h2><a class="anchor" name="quicklook">
+A quick look</a></h2>
+The following code for creating a handle for a context property:<p>
+<div class="fragment"><pre class="fragment"> DuiValueSpaceItem topEdge(<span class="stringliteral">"Context.Screen.TopEdge"</span>);
+ QObject::connect(&amp;topEdge, SIGNAL(valueChanged()),
+ <span class="keyword">this</span>, SLOT(topEdgeChanged()));
+</pre></div><p>
+becomes:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> topEdge(<span class="stringliteral">"Screen.TopEdge"</span>);
+ QObject::connect(&amp;topEdge, SIGNAL(valueChanged()),
+ <span class="keyword">this</span>, SLOT(topEdgeChanged()));
+</pre></div><p>
+The following code for listing the available context keys:<p>
+<div class="fragment"><pre class="fragment"> DuiValueSpaceItem::listKeys();
+</pre></div><p>
+becomes:<p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_registry_info.html#93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">ContextRegistryInfo::instance</a>()-&gt;<a class="code" href="class_context_registry_info.html#963309761292d39921da3fb06cb31060" title="Returns the list of all the keys currently availible in the registry.">listKeys</a>();
+</pre></div><h2><a class="anchor" name="prefix">
+The Context. prefix</a></h2>
+In <b>DuiValueSpace</b> and accompanying packages, the properties used to have a "Context." prefix. For example:<p>
+<div class="fragment"><pre class="fragment"> Context.Screen.TopEdge
+ Context.Screen.IsCovered
+</pre></div><p>
+This 'Context.' has been dropped now from <b>libcontextsubscriber</b> and all the provider packages. Providers now explicitly provide properties with keys like:<p>
+<div class="fragment"><pre class="fragment"> Screen.TopEdge
+ Screen.IsCovered
+</pre></div><p>
+For compatibility reasons the 'Context.' prefix is still supported in newer releases of <b>DuiValueSpace</b>. The <b>DuiValueSpace</b> library transparently adds the 'Context.' prefix to all access functions.<p>
+A call to:<p>
+<div class="fragment"><pre class="fragment"> DuiValueSpaceItem topEdge(<span class="stringliteral">"Context.Screen.TopEdge"</span>);
+</pre></div><p>
+...is internally in <b>DuiValueSpace</b> converted to actual <code>Screen.TopEdge</code> wire access. This mechanism has been introduced to make the <b>DuiValueSpace</b> and <b>libcontextsubscriber</b> libraries parallel-installable.<p>
+It's expected that all <b>DuiValueSpace</b> clients migrate to <b>libcontextsubscriber</b> eventually and <b>DuiValueSpace</b> library will be removed.<p>
+<dl class="warning" compact><dt><b>Warning:</b></dt><dd>When migrating to <b>libcontextsubscriber</b> make sure to remove the 'Context.' from you key access paths. </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/mocs_8cpp.html b/libcontextsubscriber/doc/html/mocs_8cpp.html
new file mode 100644
index 00000000..e1d05ae4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/mocs_8cpp.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: mocs.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>mocs.cpp File Reference</h1><code>#include &quot;<a class="el" href="contextproperty_8h-source.html">contextproperty.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="propertyhandle_8h-source.html">propertyhandle.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="provider_8h-source.html">provider.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="safedbuspendingcallwatcher_8h-source.html">safedbuspendingcallwatcher.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="subscriberinterface_8h-source.html">subscriberinterface.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextpropertyinfo_8h-source.html">contextpropertyinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextregistryinfo_8h-source.html">contextregistryinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infobackend_8h-source.html">infobackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infoxmlbackend_8h-source.html">infoxmlbackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="cdbwriter_8h-source.html">cdbwriter.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="cdbreader_8h-source.html">cdbreader.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="infocdbbackend_8h-source.html">infocdbbackend.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="dbusnamelistener_8h-source.html">dbusnamelistener.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="handlesignalrouter_8h-source.html">handlesignalrouter.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextkitplugin_8h-source.html">contextkitplugin.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="iproviderplugin_8h-source.html">iproviderplugin.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="nanoxml_8h-source.html">nanoxml.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/namespace_context_subscriber.html b/libcontextsubscriber/doc/html/namespace_context_subscriber.html
new file mode 100644
index 00000000..ed439d2c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespace_context_subscriber.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html">ContextKitPlugin</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation of the ContextKit D-Bus protocol. <a href="class_context_subscriber_1_1_context_kit_plugin.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">DBusNameListener</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listens for changes in a specific service name on a D-Bus bus, optionally gets the initial state of the service name. <a href="class_context_subscriber_1_1_d_bus_name_listener.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">HandleSignalRouter</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routes the <code>valueChanged()</code> and the <code>subscribeFinished()</code> signals to the correct <code><a class="el" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a></code> object. <a href="class_context_subscriber_1_1_handle_signal_router.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface for provider plugins. <a href="class_context_subscriber_1_1_i_provider_plugin.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A common handle for a context property. <a href="class_context_subscriber_1_1_property_handle.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to a group of properties via the help of a plugin. <a href="class_context_subscriber_1_1_provider.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">QueuedInvoker</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class that can invoke its own methods in a delayed way. <a href="class_context_subscriber_1_1_queued_invoker.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html#8633109a61fa262fddd2d10ba1631c16">PluginFactoryFunc</a> )(QString constructionString)</td></tr>
+
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="8633109a61fa262fddd2d10ba1631c16"></a><!-- doxytag: member="ContextSubscriber::PluginFactoryFunc" ref="8633109a61fa262fddd2d10ba1631c16" args=")(QString constructionString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a>*(* <a class="el" href="namespace_context_subscriber.html#8633109a61fa262fddd2d10ba1631c16">ContextSubscriber::PluginFactoryFunc</a>)(QString constructionString) </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/namespacemembers.html b/libcontextsubscriber/doc/html/namespacemembers.html
new file mode 100644
index 00000000..72f975d9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespacemembers.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+ <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
+ <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all namespace members with links to the namespace documentation for each member:
+<p>
+<ul>
+<li>PluginFactoryFunc
+: <a class="el" href="namespace_context_subscriber.html#8633109a61fa262fddd2d10ba1631c16">ContextSubscriber</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/namespacemembers_type.html b/libcontextsubscriber/doc/html/namespacemembers_type.html
new file mode 100644
index 00000000..2800f4f6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespacemembers_type.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+ <li class="current"><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="namespacemembers.html"><span>All</span></a></li>
+ <li class="current"><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>PluginFactoryFunc
+: <a class="el" href="namespace_context_subscriber.html#8633109a61fa262fddd2d10ba1631c16">ContextSubscriber</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/namespaces.html b/libcontextsubscriber/doc/html/namespaces.html
new file mode 100644
index 00000000..5a2dbb01
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespaces.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Namespace Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/nanoxml_8cpp.html b/libcontextsubscriber/doc/html/nanoxml_8cpp.html
new file mode 100644
index 00000000..98c22e78
--- /dev/null
+++ b/libcontextsubscriber/doc/html/nanoxml_8cpp.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: nanoxml.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>nanoxml.cpp File Reference</h1><code>#include &quot;<a class="el" href="nanoxml_8h-source.html">nanoxml.h</a>&quot;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/nanoxml_8h-source.html b/libcontextsubscriber/doc/html/nanoxml_8h-source.html
new file mode 100644
index 00000000..d3ddb3bf
--- /dev/null
+++ b/libcontextsubscriber/doc/html/nanoxml_8h-source.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: nanoxml.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>nanoxml.h</h1><a href="nanoxml_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef NANOXML_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define NANOXML_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QXmlDefaultHandler&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QStack&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a><a class="code" href="class_nano_xml.html">00031</a> <span class="keyword">class </span><a class="code" href="class_nano_xml.html" title="Parses XML files into a nano dom.">NanoXml</a> : <span class="keyword">public</span> QObject, QXmlDefaultHandler
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 Q_OBJECT
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">public</span>:
+<a name="l00036"></a>00036 <a class="code" href="class_nano_xml.html#6bba582991cf13e4af332ae999f650e0" title="Constructor.">NanoXml</a>(<span class="keyword">const</span> QString&amp; path);
+<a name="l00037"></a>00037 <a class="code" href="class_nano_xml.html#940fbfce7d0fab29a5ba6b5b840c4d71" title="Destructor.">~NanoXml</a>();
+<a name="l00038"></a>00038 <span class="keyword">const</span> QVariant&amp; <a class="code" href="class_nano_xml.html#34bebe2d3d74159d94c4d4b3abd6480f" title="Returns the root of the nanodom tree.">root</a>();
+<a name="l00039"></a>00039 <span class="keyword">const</span> QString <a class="code" href="class_nano_xml.html#ae6e7c0a8785f75cb06abb27c348833b" title="Returns the namespace URI of the parsed (source) XML document.">namespaceUri</a>();
+<a name="l00040"></a>00040 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#b5729afbebfb708cab217298891fe31b" title="Returns true if parsing failed.">didFail</a>();
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 QVariant <a class="code" href="class_nano_xml.html#fb90496573500eaa24180d37c180dcee" title="Returns the sub (the trailing) after a given key in the root nanodom tree.">keySub</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00043"></a>00043 QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00044"></a>00044 QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2);
+<a name="l00045"></a>00045 QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QString &amp;key3);
+<a name="l00046"></a>00046 QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QString &amp;key3,
+<a name="l00047"></a>00047 <span class="keyword">const</span> QString &amp;key4);
+<a name="l00048"></a>00048 QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QString &amp;key3,
+<a name="l00049"></a>00049 <span class="keyword">const</span> QString &amp;key4, <span class="keyword">const</span> QString &amp;key5);
+<a name="l00050"></a>00050 QVariantList <a class="code" href="class_nano_xml.html#ba42a9094fb57418e62b21d134095a8f" title="Returns the list of QVariants matching the key in the root tree.">keyValues</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">static</span> QVariant <a class="code" href="class_nano_xml.html#fb90496573500eaa24180d37c180dcee" title="Returns the sub (the trailing) after a given key in the root nanodom tree.">keySub</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00053"></a>00053 <span class="keyword">static</span> QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00054"></a>00054 <span class="keyword">static</span> QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00055"></a>00055 <span class="keyword">static</span> QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QString &amp;key3,
+<a name="l00056"></a>00056 <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00057"></a>00057 <span class="keyword">static</span> QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QString &amp;key3,
+<a name="l00058"></a>00058 <span class="keyword">const</span> QString &amp;key4, <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00059"></a>00059 <span class="keyword">static</span> QVariant <a class="code" href="class_nano_xml.html#064d4d3a52e05535a18305a4612c0450" title="1st level accessor. Returns a value for a key in the root nanodom tree.">keyValue</a>(<span class="keyword">const</span> QString &amp;key1, <span class="keyword">const</span> QString &amp;key2, <span class="keyword">const</span> QString &amp;key3,
+<a name="l00060"></a>00060 <span class="keyword">const</span> QString &amp;key4, <span class="keyword">const</span> QString &amp;key5, <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00061"></a>00061 <span class="keyword">static</span> QVariantList <a class="code" href="class_nano_xml.html#ba42a9094fb57418e62b21d134095a8f" title="Returns the list of QVariants matching the key in the root tree.">keyValues</a>(<span class="keyword">const</span> QString &amp;key, <span class="keyword">const</span> QVariant &amp;dom);
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">static</span> QString <a class="code" href="class_nano_xml.html#4966386ef78c065e9fad50a6382770b0" title="Dumps a QVariant into a multi-line string for debugging purposes.">dumpTree</a>(<span class="keyword">const</span> QVariant &amp;tree, <span class="keywordtype">int</span> level);
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">private</span>:
+<a name="l00066"></a><a class="code" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551">00066</a> QList&lt;QVariant&gt; *<a class="code" href="class_nano_xml.html#bfef8deeba2c746ee63ae4f1e64f7551" title="The current list that we&amp;#39;re adding to. Top of the stack, kinda.">current</a>;
+<a name="l00067"></a><a class="code" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563">00067</a> QStack&lt;QList &lt;QVariant&gt;* &gt; <a class="code" href="class_nano_xml.html#fec8c67035475122807dfacfcd0c3563" title="The stack of lists.">stack</a>;
+<a name="l00068"></a><a class="code" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624">00068</a> QVariant <a class="code" href="class_nano_xml.html#2e0c55cb00dfdfcb09191b685c9c7624" title="The nanodom root. A list of QVariants usually.">rootVariant</a>;
+<a name="l00069"></a><a class="code" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295">00069</a> <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#4d517f665a6ffe310ba89b94f5252295" title="This is set by the parser to signify an error.">failed</a>;
+<a name="l00070"></a><a class="code" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21">00070</a> QString <a class="code" href="class_nano_xml.html#80322fd3991316e0c5d9e42dbc024a21" title="Stores the namespace uri.">nspace</a>;
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="class_nano_xml.html#750f872971e1b36ecffc4ead3250e17d" title="Parser internal. Creates a new list and pushes it to the top of the stack.">pushList</a>();
+<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="class_nano_xml.html#0820f7cc298465a54350f998af40d929" title="Parser internal. Add a value (item) v to the current list on the stack.">addValue</a>(<span class="keyword">const</span> QString&amp; v);
+<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="class_nano_xml.html#db05786203f23b7a96ee1db103582729" title="Parser internal.">popList</a>();
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">public</span>:
+<a name="l00077"></a>00077 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#9a53418260e9b9ae8bc3da9b0fae2b35" title="Called by the XML parser when parsing starts.">startElement</a>(<span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString &amp;name, <span class="keyword">const</span> QXmlAttributes &amp;attrs);
+<a name="l00078"></a>00078 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#e2884ebc5e4c6e60c2419ab47fb05d37" title="Called by the XML parser when parsing starts.">endElement</a>(<span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString &amp;name);
+<a name="l00079"></a>00079 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#bb825f9876e40c023c0b3b1ab0b09828" title="Called when a namespace prefix mapping starts.">startPrefixMapping</a>(<span class="keyword">const</span> QString &amp;prefix, <span class="keyword">const</span> QString &amp;uri);
+<a name="l00080"></a>00080 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#d051fdc20099f73a6595cb229e5c5854" title="Called by the XML parser when parsing starts.">characters</a>(<span class="keyword">const</span> QString &amp;chars);
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="preprocessor">#endif // NANOXML_H</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/nanoxml_8h.html b/libcontextsubscriber/doc/html/nanoxml_8h.html
new file mode 100644
index 00000000..7b9dfa62
--- /dev/null
+++ b/libcontextsubscriber/doc/html/nanoxml_8h.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: nanoxml.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>nanoxml.h File Reference</h1><code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QXmlDefaultHandler&gt;</code><br>
+<code>#include &lt;QStack&gt;</code><br>
+
+<p>
+<a href="nanoxml_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html">NanoXml</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parses XML files into a nano dom. <a href="class_nano_xml.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/pages.html b/libcontextsubscriber/doc/html/pages.html
new file mode 100644
index 00000000..b98742f0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/pages.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Page Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="introspection.html">Introspection</a>
+
+<li><a class="el" href="migratingfromduivaluespace.html">MigratingFromDuiValueSpace</a>
+
+<li><a class="el" href="updatingcontextproviders.html">UpdatingContextProviders</a>
+
+<li><a class="el" href="logging.html">Logging</a>
+
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/propertyhandle_8cpp.html b/libcontextsubscriber/doc/html/propertyhandle_8cpp.html
new file mode 100644
index 00000000..673b8fe5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/propertyhandle_8cpp.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: propertyhandle.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>propertyhandle.cpp File Reference</h1><code>#include &quot;<a class="el" href="propertyhandle_8h-source.html">propertyhandle.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="provider_8h-source.html">provider.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextpropertyinfo_8h-source.html">contextpropertyinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextregistryinfo_8h-source.html">contextregistryinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="dbusnamelistener_8h-source.html">dbusnamelistener.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &lt;QThread&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<code>#include &lt;QCoreApplication&gt;</code><br>
+<code>#include &lt;QReadLocker&gt;</code><br>
+<code>#include &lt;QWriteLocker&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/propertyhandle_8h-source.html b/libcontextsubscriber/doc/html/propertyhandle_8h-source.html
new file mode 100644
index 00000000..5a1788e2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/propertyhandle_8h-source.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: propertyhandle.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>propertyhandle.h</h1><a href="propertyhandle_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef PROPERTYHANDLE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define PROPERTYHANDLE_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QReadWriteLock&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QMutex&gt;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">class </span><a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a>;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">class </span>Provider;
+<a name="l00037"></a>00037 <span class="keyword">class </span>DBusNameListener;
+<a name="l00038"></a>00038
+<a name="l00039"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html">00039</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a> : <span class="keyword">public</span> QObject
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 Q_OBJECT
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">public</span>:
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#0b12828c764b164dc276a84d46c2ae55" title="Increase the subscribeCount of this context property and subscribe to it through...">subscribe</a>();
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#d1e8961717be9c3a813096092d1837a4" title="Decrease the subscribeCount of this context property and unsubscribe from it through...">unsubscribe</a>();
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 QString <a class="code" href="class_context_subscriber_1_1_property_handle.html#6d4c9e5006a080e7ae645ed15b1edb28">key</a>() <span class="keyword">const</span>;
+<a name="l00048"></a>00048 QVariant <a class="code" href="class_context_subscriber_1_1_property_handle.html#bfeb2b16704e22adc33c31e162ef4e36">value</a>() <span class="keyword">const</span>;
+<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#22f3af77b3cd883beeab47c5f4365169">isSubscribePending</a>() <span class="keyword">const</span>;
+<a name="l00050"></a>00050 <span class="keyword">const</span> <a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a>* <a class="code" href="class_context_subscriber_1_1_property_handle.html#2626ff2603e1afcd8172008d5932006a">info</a>() <span class="keyword">const</span>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">static</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html" title="A common handle for a context property.">PropertyHandle</a>* <a class="code" href="class_context_subscriber_1_1_property_handle.html#7f70f0de00c9781d43c99ca5d7f87eb1">instance</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#1d0a471cd063b862fcf09aafd4b125af" title="Used by the HandleSignalRouter to change the value of the property.">onValueChanged</a>();
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#1d4157822007d94fbdfa3af80a8fc758" title="Sets subscribePending to false.">setSubscribeFinished</a>();
+<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#6001316d6491ca69ca5be43af4a36211">ignoreCommander</a>();
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#3031c1cf5c5d3ccdcf91a2218c2e460e">setTypeCheck</a>(<span class="keywordtype">bool</span> typeCheck);
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 signals:
+<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#0ceee4d69e18be36e726af552aaa58ba">valueChanged</a>();
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">private</span> slots:
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#067242c57b142940ba02b1e5a74548d5" title="Decides who is the current provider of this property and sets up myProvider accordingly...">updateProvider</a>();
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">private</span>:
+<a name="l00066"></a>00066 <a class="code" href="class_context_subscriber_1_1_property_handle.html#1d523c4bc3538073f7f617456cd81a79">PropertyHandle</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00067"></a>00067
+<a name="l00068"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35">00068</a> <a class="code" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> *<a class="code" href="class_context_subscriber_1_1_property_handle.html#da859c28e9320fcb89328cb5153a3d35" title="Provider of this property.">myProvider</a>;
+<a name="l00069"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea">00069</a> <a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a> *<a class="code" href="class_context_subscriber_1_1_property_handle.html#aa914d9958d6a3f6b69d3b1446307cea" title="Metadata for this property.">myInfo</a>;
+<a name="l00070"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f">00070</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#809f0eae9aef4ffec99f035b7e0e547f" title="Number of subscribed ContextProperty objects subscribed to this property.">subscribeCount</a>;
+<a name="l00071"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">00071</a> QMutex <a class="code" href="class_context_subscriber_1_1_property_handle.html#e7fb88f203671edb264655c06bc2e1f0">subscribeCountLock</a>;
+<a name="l00072"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16">00072</a> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#584bab7e2a167ccf22f45a5cd3f46c16" title="True when the subscription has been started, but hasn&amp;#39;t been finished yet (used...">subscribePending</a>;
+<a name="l00073"></a>00073
+<a name="l00074"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d">00074</a> QString <a class="code" href="class_context_subscriber_1_1_property_handle.html#ba3e2fbd0fc8a8ab0db60efe934f7d6d" title="Key of this property.">myKey</a>;
+<a name="l00075"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">00075</a> <span class="keyword">mutable</span> QReadWriteLock <a class="code" href="class_context_subscriber_1_1_property_handle.html#d3d31e74ac2b7e1727ff0947895f4fc1">valueLock</a>;
+<a name="l00076"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df">00076</a> QVariant <a class="code" href="class_context_subscriber_1_1_property_handle.html#984638b2c34c7756fd17ff41de90a2df" title="Current value of this property.">myValue</a>;
+<a name="l00077"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c">00077</a> <span class="keyword">static</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html" title="Listens for changes in a specific service name on a D-Bus bus, optionally gets the...">DBusNameListener</a> *<a class="code" href="class_context_subscriber_1_1_property_handle.html#8cb5a37f3a69e7019e9d7559e1e2993c" title="Listener for ContextCommander&amp;#39;s (dis)appearance.">commanderListener</a>;
+<a name="l00078"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af">00078</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#cb7a882c3ef0423544754bd6fd5de7af" title="Whether the properties can be directed to ContextCommander.">commandingEnabled</a>;
+<a name="l00079"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4">00079</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#27312e770b51ebf5439e31361ceb46c4" title="Whether we check the type of the value received from the provider.">typeCheckEnabled</a>;
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 } <span class="comment">// end namespace</span>
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/propertyhandle_8h.html b/libcontextsubscriber/doc/html/propertyhandle_8h.html
new file mode 100644
index 00000000..51d653e5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/propertyhandle_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: propertyhandle.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>propertyhandle.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QVariant&gt;</code><br>
+<code>#include &lt;QSet&gt;</code><br>
+<code>#include &lt;QReadWriteLock&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+
+<p>
+<a href="propertyhandle_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A common handle for a context property. <a href="class_context_subscriber_1_1_property_handle.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/provider_8cpp.html b/libcontextsubscriber/doc/html/provider_8cpp.html
new file mode 100644
index 00000000..25cefdbf
--- /dev/null
+++ b/libcontextsubscriber/doc/html/provider_8cpp.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: provider.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>provider.cpp File Reference</h1><code>#include &quot;<a class="el" href="provider_8h-source.html">provider.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="iproviderplugin_8h-source.html">iproviderplugin.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="handlesignalrouter_8h-source.html">handlesignalrouter.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextkitplugin_8h-source.html">contextkitplugin.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="loggingfeatures_8h-source.html">loggingfeatures.h</a>&quot;</code><br>
+<code>#include &lt;QTimer&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<code>#include &lt;QCoreApplication&gt;</code><br>
+<code>#include &lt;QThread&gt;</code><br>
+<code>#include &lt;QLibrary&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/provider_8h-source.html b/libcontextsubscriber/doc/html/provider_8h-source.html
new file mode 100644
index 00000000..e8e63000
--- /dev/null
+++ b/libcontextsubscriber/doc/html/provider_8h-source.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: provider.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>provider.h</h1><a href="provider_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef PROVIDER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define PROVIDER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="queuedinvoker_8h.html">queuedinvoker.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>"</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;QMutex&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;time.h&gt;</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">class </span><a class="code" href="class_context_property_info.html" title="A class to introspect a context property details.">ContextPropertyInfo</a>;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">class </span>PropertyHandle;
+<a name="l00039"></a>00039 <span class="keyword">class </span><a class="code" href="class_subscriber_interface.html" title="Proxy class for using the DBus interface org.freedesktop.ContextKit.Subscriber asynchronously...">SubscriberInterface</a>;
+<a name="l00040"></a>00040 <span class="keyword">class </span>DBusNameListener;
+<a name="l00041"></a>00041 <span class="keyword">class </span>ManagerInterface;
+<a name="l00042"></a>00042 <span class="keyword">class </span>IProviderPlugin;
+<a name="l00043"></a>00043
+<a name="l00044"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html">00044</a> <span class="keyword">struct </span><a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>
+<a name="l00045"></a>00045 {
+<a name="l00046"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">00046</a> <span class="keyword">struct </span>timespec <a class="code" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">time</a>;
+<a name="l00047"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">00047</a> QVariant <a class="code" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">value</a>;
+<a name="l00048"></a>00048 <a class="code" href="struct_context_subscriber_1_1_timed_value.html#37a5bb08705741e6256adc097018dec2">TimedValue</a>(<span class="keyword">const</span> QVariant &amp;<a class="code" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">value</a>);
+<a name="l00049"></a>00049 <span class="comment">// future bool operator&lt;(const TimedValue &amp;other);</span>
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a><a class="code" href="class_context_subscriber_1_1_provider.html">00052</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a> : <span class="keyword">public</span> <a class="code" href="class_context_subscriber_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a>
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 Q_OBJECT
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keyword">public</span>:
+<a name="l00057"></a>00057 <span class="keyword">static</span> <a class="code" href="class_context_subscriber_1_1_provider.html" title="Connects to a group of properties via the help of a plugin.">Provider</a>* <a class="code" href="class_context_subscriber_1_1_provider.html#cf3f43a824c33ffaf349feeb9c34b5d0" title="Returns a singleton for the named plugin with the constructionString.">instance</a>(<span class="keyword">const</span> <a class="code" href="struct_context_provider_info.html">ContextProviderInfo</a>&amp; <a class="code" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421" title="Parameters used to initialize the plugin.">providerInfo</a>);
+<a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_provider.html#063cf90bfd10f0bca4ed471f2c3a9c1e" title="Schedules a property to be subscribed to.">subscribe</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a6aa042d4a006eb0930d7805139e801f" title="Schedules a property to be unsubscribed from when the main loop is entered the next...">unsubscribe</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00060"></a>00060 <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> <span class="keyword">get</span>(<span class="keyword">const</span> QString &amp;key) <span class="keyword">const</span>;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 signals:
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#cdb674013818463a88ce1799885258be">subscribeFinished</a>(QString key);
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#6288252eecf25f879ecb7c1a507a9088">valueChanged</a>(QString key);
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">private</span> slots:
+<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#c87916df512014e5048eda7ae9daf3b9" title="Updates pluginState to READY and requests subscription for the keys that should be...">onPluginReady</a>();
+<a name="l00068"></a>00068 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#0b9a9637b9bdd8a3989cfccb14c8a24b" title="Updates pluginState to FAILED and signals subscribeFinished for keys we are trying...">onPluginFailed</a>(QString error);
+<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#cbbadf63086f6b37ff9a9e8e64180032" title="Forwards the call to signalSubscribeFinished.">onPluginSubscribeFinished</a>(QString key);
+<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#d18a07fdfb76dfa71f15f4b3e1200793" title="Forwards the call to signalSubscribeFinished, after logging a warning.">onPluginSubscribeFailed</a>(QString failedKey, QString error);
+<a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#c04c071faa737c9b7f029ef0125f6a1c" title="Forwards the newValue for key received from the plugin to the upper layers via HandleSignalRouter...">onPluginValueChanged</a>(QString key, QVariant newValue);
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">private</span>:
+<a name="l00074"></a><a class="code" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1">00074</a> <span class="keyword">enum</span> <a class="code" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">PluginState</a> { <a class="code" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b429fabee9e8f6a76d3903db54c76bd46">INITIALIZING</a>, <a class="code" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b142be3c672ac9a6f3fe477b6eeb1acb1">READY</a>, <a class="code" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b6c35b4588f19b72888a9fca0b911642f">FAILED</a> };
+<a name="l00075"></a>00075 <a class="code" href="class_context_subscriber_1_1_provider.html#e4221b5f1438404820abee8de2ed3daa" title="Stores the passed plugin name and construction paramater, then moves into the main...">Provider</a>(<span class="keyword">const</span> <a class="code" href="struct_context_provider_info.html">ContextProviderInfo</a>&amp; providerInfo);
+<a name="l00076"></a>00076 Q_INVOKABLE <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#b78d5f8ff72bedb037f1f2b15cbda9b9" title="Executed when the main loop is entered and we have previously scheduled subscriptions...">handleSubscribes</a>();
+<a name="l00077"></a>00077 Q_INVOKABLE <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#1e2136dc7c4ad62b020c7ed95914bb67" title="Decides which plugin to instantiate based on the plugin passed to the constructor...">constructPlugin</a>();
+<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#3046efee2679aa33602deb4f27877eba" title="The plugin has finished subscribing to a key, signals this fact to the upper layer...">signalSubscribeFinished</a>(QString key);
+<a name="l00079"></a>00079
+<a name="l00080"></a><a class="code" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e">00080</a> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html" title="Interface for provider plugins.">IProviderPlugin</a>* <a class="code" href="class_context_subscriber_1_1_provider.html#620db59b31c197b98ee64369fd46b30e" title="Plugin instance communicating with the concrete provider.">plugin</a>;
+<a name="l00081"></a><a class="code" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">00081</a> <a class="code" href="class_context_subscriber_1_1_provider.html#18f291fc00e50055a02525f70e38a52b">PluginState</a> <a class="code" href="class_context_subscriber_1_1_provider.html#904cca899aba13b6d356fea73737169e">pluginState</a>;
+<a name="l00082"></a><a class="code" href="class_context_subscriber_1_1_provider.html#6e8a91f8a673fb8f2f645212844eb421">00082</a> <a class="code" href="struct_context_provider_info.html">ContextProviderInfo</a> providerInfo;
+<a name="l00083"></a>00083
+<a name="l00084"></a><a class="code" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">00084</a> QMutex <a class="code" href="class_context_subscriber_1_1_provider.html#154fa6041cd471ac46c1038f312ffde6">subscribeLock</a>;
+<a name="l00085"></a><a class="code" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d">00085</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#cbf130166861d576d906fc99da9b2d6d" title="Keys pending for subscription.">toSubscribe</a>;
+<a name="l00086"></a><a class="code" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c">00086</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#ee2cca89bff8d2bc65039a42cb32563c" title="Keys pending for unsubscription.">toUnsubscribe</a>;
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="comment">// FIXME: rename this to something which contains the word intention in it</span>
+<a name="l00089"></a><a class="code" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9">00089</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#6b07417f7e024f8dac5b3b327383dbe9" title="The keys that should be currently subscribed to.">subscribedKeys</a>;
+<a name="l00090"></a>00090
+<a name="l00091"></a><a class="code" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed">00091</a> QMap&lt;QString, TimedValue&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#6e41ed2ec544fc16bd399d8fbcec46ed" title="A cache of values already received from the plugin.">values</a>;
+<a name="l00092"></a>00092 };
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 } <span class="comment">// end namespace</span>
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/provider_8h.html b/libcontextsubscriber/doc/html/provider_8h.html
new file mode 100644
index 00000000..22949ba2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/provider_8h.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: provider.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>provider.h File Reference</h1><code>#include &quot;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+<code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QSet&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;time.h&gt;</code><br>
+
+<p>
+<a href="provider_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html">ContextSubscriber::Provider</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to a group of properties via the help of a plugin. <a href="class_context_subscriber_1_1_provider.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/queuedinvoker_8cpp.html b/libcontextsubscriber/doc/html/queuedinvoker_8cpp.html
new file mode 100644
index 00000000..3fdaa09e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/queuedinvoker_8cpp.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: queuedinvoker.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>queuedinvoker.cpp File Reference</h1><code>#include &quot;<a class="el" href="queuedinvoker_8h-source.html">queuedinvoker.h</a>&quot;</code><br>
+<code>#include &lt;QMetaObject&gt;</code><br>
+<code>#include &lt;QThread&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QMutexLocker&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/queuedinvoker_8h-source.html b/libcontextsubscriber/doc/html/queuedinvoker_8h-source.html
new file mode 100644
index 00000000..f689f5de
--- /dev/null
+++ b/libcontextsubscriber/doc/html/queuedinvoker_8h-source.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: queuedinvoker.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>queuedinvoker.h</h1><a href="queuedinvoker_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef QUEUEDINVOKER_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define QUEUEDINVOKER_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QMutex&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="class_context_subscriber_1_1_queued_invoker.html">00032</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_queued_invoker.html" title="A class that can invoke its own methods in a delayed way.">QueuedInvoker</a> : <span class="keyword">public</span> QObject
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 Q_OBJECT
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">public</span>:
+<a name="l00037"></a>00037 <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#15135b7f30c409e3b8d0cd856444803a">QueuedInvoker</a>();
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">private</span> slots:
+<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#b58352ea20647142ba50d529fc1b651b" title="Slot which is executed when the event loop of this object runs.">onQueuedCall</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *method);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 signals:
+<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#9e3fb1afd2eea8cb4b588f3d80bf2e3e">queuedCall</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *method);
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">protected</span>:
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#431ca591c990aa22bffb1cfed4b42aff" title="Sets the method method to be invoked when the event loop of this object runs next...">queueOnce</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *method);
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">private</span>:
+<a name="l00049"></a><a class="code" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c">00049</a> QMutex <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#ea2e2e6956a76f58083214bbb327a04c" title="Protects the callQueue.">callQueueLock</a>;
+<a name="l00050"></a><a class="code" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32">00050</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#c786085eae3605b42b0e7f3cda99fe32" title="Methods to be invoked.">callQueue</a>;
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 } <span class="comment">// namespace</span>
+<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/queuedinvoker_8h.html b/libcontextsubscriber/doc/html/queuedinvoker_8h.html
new file mode 100644
index 00000000..c25c0260
--- /dev/null
+++ b/libcontextsubscriber/doc/html/queuedinvoker_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: queuedinvoker.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>queuedinvoker.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QMutex&gt;</code><br>
+<code>#include &lt;QSet&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+
+<p>
+<a href="queuedinvoker_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html">ContextSubscriber::QueuedInvoker</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class that can invoke its own methods in a delayed way. <a href="class_context_subscriber_1_1_queued_invoker.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h-source.html b/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h-source.html
new file mode 100644
index 00000000..67218081
--- /dev/null
+++ b/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h-source.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: safedbuspendingcallwatcher.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>safedbuspendingcallwatcher.h</h1><a href="safedbuspendingcallwatcher_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef SAFEDBUSPENDINGCALLWATCHER_H</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define SAFEDBUSPENDINGCALLWATCHER_H</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00004"></a>00004 <span class="preprocessor">#include "<a class="code" href="sconnect_8h.html">sconnect.h</a>"</span>
+<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;QDBusPendingCallWatcher&gt;</span>
+<a name="l00006"></a>00006
+<a name="l00009"></a><a class="code" href="class_safe_d_bus_pending_call_watcher.html">00009</a> <span class="keyword">class </span><a class="code" href="class_safe_d_bus_pending_call_watcher.html" title="Deletes itself after the finished() signal is emitted (and the mainloop entered)...">SafeDBusPendingCallWatcher</a> : <span class="keyword">public</span> QDBusPendingCallWatcher
+<a name="l00010"></a>00010 {
+<a name="l00011"></a>00011 Q_OBJECT;
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="keyword">public</span>:
+<a name="l00014"></a><a class="code" href="class_safe_d_bus_pending_call_watcher.html#42bd0855e807cce5477ea61f4f094526">00014</a> <a class="code" href="class_safe_d_bus_pending_call_watcher.html#42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a>(<span class="keyword">const</span> QDBusPendingCall &amp;call, QObject * parent = 0) :
+<a name="l00015"></a>00015 QDBusPendingCallWatcher(call, parent)
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017 <a class="code" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect</a>(<span class="keyword">this</span>, SIGNAL(finished(QDBusPendingCallWatcher *)),
+<a name="l00018"></a>00018 <span class="keyword">this</span>, SLOT(deleteLater()));
+<a name="l00019"></a>00019 }
+<a name="l00020"></a>00020 };
+<a name="l00021"></a>00021 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h.html b/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h.html
new file mode 100644
index 00000000..2afb9e5e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: safedbuspendingcallwatcher.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>safedbuspendingcallwatcher.h File Reference</h1><code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &lt;QDBusPendingCallWatcher&gt;</code><br>
+
+<p>
+<a href="safedbuspendingcallwatcher_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes itself after the <code>finished()</code> signal is emitted (and the mainloop entered). <a href="class_safe_d_bus_pending_call_watcher.html#_details">More...</a><br></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/sconnect_8h-source.html b/libcontextsubscriber/doc/html/sconnect_8h-source.html
new file mode 100644
index 00000000..afa72c98
--- /dev/null
+++ b/libcontextsubscriber/doc/html/sconnect_8h-source.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: sconnect.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>sconnect.h</h1><a href="sconnect_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This program is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this program; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SCONNECT_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SCONNECT_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QDebug&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a><a class="code" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">00028</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect</a>(<span class="keyword">const</span> QObject *from, <span class="keyword">const</span> <span class="keywordtype">char</span>* fromSignal,
+<a name="l00029"></a>00029 <span class="keyword">const</span> QObject *to, <span class="keyword">const</span> <span class="keywordtype">char</span>* toSignal, Qt::ConnectionType type = Qt::AutoConnection)
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keywordflow">if</span> (!QObject::connect(from, fromSignal, to, toSignal, type))
+<a name="l00032"></a>00032 qFatal(<span class="stringliteral">" *****************\n"</span>
+<a name="l00033"></a>00033 <span class="stringliteral">"Connect returned false, aborting, enable core dumping (ulimit -c unlimited), \n"</span>
+<a name="l00034"></a>00034 <span class="stringliteral">"enable debug (qmake CONFIG+=debug), recompile, rerun and then use the\n"</span>
+<a name="l00035"></a>00035 <span class="stringliteral">"core file with gdb's backtrace to see the location.\n"</span>
+<a name="l00036"></a>00036 <span class="stringliteral">" *****************\n"</span>);
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/sconnect_8h.html b/libcontextsubscriber/doc/html/sconnect_8h.html
new file mode 100644
index 00000000..21a29959
--- /dev/null
+++ b/libcontextsubscriber/doc/html/sconnect_8h.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: sconnect.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>sconnect.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+
+<p>
+<a href="sconnect_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sconnect_8h.html#cab553d9479843d076c4cf952cceeefc">sconnect</a> (const QObject *from, const char *fromSignal, const QObject *to, const char *toSignal, Qt::ConnectionType type=Qt::AutoConnection)</td></tr>
+
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="cab553d9479843d076c4cf952cceeefc"></a><!-- doxytag: member="sconnect.h::sconnect" ref="cab553d9479843d076c4cf952cceeefc" args="(const QObject *from, const char *fromSignal, const QObject *to, const char *toSignal, Qt::ConnectionType type=Qt::AutoConnection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void sconnect </td>
+ <td>(</td>
+ <td class="paramtype">const QObject *&nbsp;</td>
+ <td class="paramname"> <em>from</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>fromSignal</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QObject *&nbsp;</td>
+ <td class="paramname"> <em>to</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>toSignal</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Qt::ConnectionType&nbsp;</td>
+ <td class="paramname"> <em>type</em> = <code>Qt::AutoConnection</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_context_property_private.html b/libcontextsubscriber/doc/html/struct_context_property_private.html
new file mode 100644
index 00000000..89397f41
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_property_private.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextPropertyPrivate Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextPropertyPrivate Class Reference</h1><!-- doxytag: class="ContextPropertyPrivate" -->The private parts of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class.
+<a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="class_context_property_private-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_property_private.html#c2610b423813eb22e45a7136ed932713">handle</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The common handle behind this context property. <a href="#c2610b423813eb22e45a7136ed932713"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_property_private.html#8fa3197617a450a91c4c4bbca5cdbecd">subscribed</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True, if we are subscribed to the handle behind us. <a href="#8fa3197617a450a91c4c4bbca5cdbecd"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The private parts of the <a class="el" href="class_context_property.html" title="The ContextProperty class allows access to keys and their values.">ContextProperty</a> class. <hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="c2610b423813eb22e45a7136ed932713"></a><!-- doxytag: member="ContextPropertyPrivate::handle" ref="c2610b423813eb22e45a7136ed932713" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_subscriber_1_1_property_handle.html">PropertyHandle</a>* <a class="el" href="struct_context_property_private.html#c2610b423813eb22e45a7136ed932713">ContextPropertyPrivate::handle</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The common handle behind this context property.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="8fa3197617a450a91c4c4bbca5cdbecd"></a><!-- doxytag: member="ContextPropertyPrivate::subscribed" ref="8fa3197617a450a91c4c4bbca5cdbecd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="struct_context_property_private.html#8fa3197617a450a91c4c4bbca5cdbecd">ContextPropertyPrivate::subscribed</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+True, if we are subscribed to the handle behind us.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="contextproperty_8cpp.html">contextproperty.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_context_provider_info-members.html b/libcontextsubscriber/doc/html/struct_context_provider_info-members.html
new file mode 100644
index 00000000..ecbd6bf1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_provider_info-members.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProviderInfo Member List</h1>This is the complete list of members for <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a></td><td><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_info.html#4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>(const QString &amp;plugin, const QString &amp;constructionString)</td><td><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_info.html#a989d7c55042d3eef5d514e017658b0c">operator&lt;</a>(const ContextProviderInfo &amp;other) const </td><td><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a></td><td><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_context_provider_info.html b/libcontextsubscriber/doc/html/struct_context_provider_info.html
new file mode 100644
index 00000000..d0f178f5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_provider_info.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextProviderInfo Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProviderInfo Struct Reference</h1><!-- doxytag: class="ContextProviderInfo" --><code>#include &lt;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="struct_context_provider_info-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a> (const QString &amp;<a class="el" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a>, const QString &amp;<a class="el" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#a989d7c55042d3eef5d514e017658b0c">operator&lt;</a> (const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;other) const </td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">plugin</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">constructionString</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="4921a7a3f436365be181bbb14a1a7974"></a><!-- doxytag: member="ContextProviderInfo::ContextProviderInfo" ref="4921a7a3f436365be181bbb14a1a7974" args="(const QString &amp;plugin, const QString &amp;constructionString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProviderInfo::ContextProviderInfo </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>plugin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>constructionString</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a989d7c55042d3eef5d514e017658b0c"></a><!-- doxytag: member="ContextProviderInfo::operator&lt;" ref="a989d7c55042d3eef5d514e017658b0c" args="(const ContextProviderInfo &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextProviderInfo::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="89fcb02b9d4b4d6591471288c2816665"></a><!-- doxytag: member="ContextProviderInfo::constructionString" ref="89fcb02b9d4b4d6591471288c2816665" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_context_provider_info.html#89fcb02b9d4b4d6591471288c2816665">ContextProviderInfo::constructionString</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="77543a6ec6f46f6b72dad84180c216ec"></a><!-- doxytag: member="ContextProviderInfo::plugin" ref="77543a6ec6f46f6b72dad84180c216ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_context_provider_info.html#77543a6ec6f46f6b72dad84180c216ec">ContextProviderInfo::plugin</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value-members.html b/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value-members.html
new file mode 100644
index 00000000..54b131c0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::TimedValue Member List</h1>This is the complete list of members for <a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">time</a></td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#37a5bb08705741e6256adc097018dec2">TimedValue</a>(const QVariant &amp;value)</td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">value</a></td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value.html b/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value.html
new file mode 100644
index 00000000..61f562a1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: ContextSubscriber::TimedValue Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>::<a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::TimedValue Struct Reference</h1><!-- doxytag: class="ContextSubscriber::TimedValue" --><code>#include &lt;<a class="el" href="provider_8h-source.html">provider.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="struct_context_subscriber_1_1_timed_value-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#37a5bb08705741e6256adc097018dec2">TimedValue</a> (const QVariant &amp;<a class="el" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">value</a>)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct timespec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">time</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">value</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="37a5bb08705741e6256adc097018dec2"></a><!-- doxytag: member="ContextSubscriber::TimedValue::TimedValue" ref="37a5bb08705741e6256adc097018dec2" args="(const QVariant &amp;value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::TimedValue::TimedValue </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>value</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="960ea0587683d351152c932a8f34c035"></a><!-- doxytag: member="ContextSubscriber::TimedValue::time" ref="960ea0587683d351152c932a8f34c035" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct timespec <a class="el" href="struct_context_subscriber_1_1_timed_value.html#960ea0587683d351152c932a8f34c035">ContextSubscriber::TimedValue::time</a><code> [read]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ec98d0cb5ab101f02685a62fa1e3c6d2"></a><!-- doxytag: member="ContextSubscriber::TimedValue::value" ref="ec98d0cb5ab101f02685a62fa1e3c6d2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ec98d0cb5ab101f02685a62fa1e3c6d2">ContextSubscriber::TimedValue::value</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this struct was generated from the following files:<ul>
+<li><a class="el" href="provider_8h-source.html">provider.h</a><li><a class="el" href="provider_8cpp.html">provider.cpp</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_info_key_data-members.html b/libcontextsubscriber/doc/html/struct_info_key_data-members.html
new file mode 100644
index 00000000..1a8bd3d3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_info_key_data-members.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoKeyData Member List</h1>This is the complete list of members for <a class="el" href="struct_info_key_data.html">InfoKeyData</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b">doc</a></td><td><a class="el" href="struct_info_key_data.html">InfoKeyData</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45">name</a></td><td><a class="el" href="struct_info_key_data.html">InfoKeyData</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5">type</a></td><td><a class="el" href="struct_info_key_data.html">InfoKeyData</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/struct_info_key_data.html b/libcontextsubscriber/doc/html/struct_info_key_data.html
new file mode 100644
index 00000000..82ae46fd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_info_key_data.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: InfoKeyData Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>InfoKeyData Struct Reference</h1><!-- doxytag: class="InfoKeyData" -->Simple storage class that groups info about a given key.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="infokeydata_8h-source.html">infokeydata.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="struct_info_key_data-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45">name</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of the we're storing data for. <a href="#224cbd09f2ffc23ea7dc12c8be85cc45"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5">type</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of the key. <a href="#e348998b51793a4fc08819284eb103e5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b">doc</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Doc for the key. <a href="#f2025a010ef84e2ef111c79a80e01d9b"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Simple storage class that groups info about a given key.
+<p>
+This struct is not a part of the public API. It's used by the <a class="el" href="class_info_xml_backend.html" title="Implements the InfoBackend for reading data from a directory with xml files.">InfoXmlBackend</a> that keeps in memory a hash of <a class="el" href="struct_info_key_data.html" title="Simple storage class that groups info about a given key.">InfoKeyData</a> instances for each key. <hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="f2025a010ef84e2ef111c79a80e01d9b"></a><!-- doxytag: member="InfoKeyData::doc" ref="f2025a010ef84e2ef111c79a80e01d9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_info_key_data.html#f2025a010ef84e2ef111c79a80e01d9b">InfoKeyData::doc</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Doc for the key.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="224cbd09f2ffc23ea7dc12c8be85cc45"></a><!-- doxytag: member="InfoKeyData::name" ref="224cbd09f2ffc23ea7dc12c8be85cc45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_info_key_data.html#224cbd09f2ffc23ea7dc12c8be85cc45">InfoKeyData::name</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Name of the we're storing data for.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e348998b51793a4fc08819284eb103e5"></a><!-- doxytag: member="InfoKeyData::type" ref="e348998b51793a4fc08819284eb103e5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_info_key_data.html#e348998b51793a4fc08819284eb103e5">InfoKeyData::type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Type of the key.
+<p>
+
+</div>
+</div><p>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="infokeydata_8h-source.html">infokeydata.h</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/subscriberinterface_8cpp.html b/libcontextsubscriber/doc/html/subscriberinterface_8cpp.html
new file mode 100644
index 00000000..5372300f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/subscriberinterface_8cpp.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: subscriberinterface.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>subscriberinterface.cpp File Reference</h1><code>#include &quot;<a class="el" href="subscriberinterface_8h-source.html">subscriberinterface.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="safedbuspendingcallwatcher_8h-source.html">safedbuspendingcallwatcher.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="sconnect_8h-source.html">sconnect.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="logging_8h-source.html">logging.h</a>&quot;</code><br>
+<code>#include &lt;QDebug&gt;</code><br>
+<code>#include &lt;QDBusConnection&gt;</code><br>
+<code>#include &lt;QDBusPendingReply&gt;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/subscriberinterface_8h-source.html b/libcontextsubscriber/doc/html/subscriberinterface_8h-source.html
new file mode 100644
index 00000000..ddc59fb5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/subscriberinterface_8h-source.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: subscriberinterface.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>subscriberinterface.h</h1><a href="subscriberinterface_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2008, 2009 Nokia Corporation.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Contact: Marius Vollmer &lt;marius.vollmer@nokia.com&gt;</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
+<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public License</span>
+<a name="l00008"></a>00008 <span class="comment"> * version 2.1 as published by the Free Software Foundation.</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful, but</span>
+<a name="l00011"></a>00011 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
+<a name="l00014"></a>00014 <span class="comment"> *</span>
+<a name="l00015"></a>00015 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
+<a name="l00016"></a>00016 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
+<a name="l00017"></a>00017 <span class="comment"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span>
+<a name="l00018"></a>00018 <span class="comment"> * 02110-1301 USA</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> */</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef SUBSCRIBERINTERFACE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SUBSCRIBERINTERFACE_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;QMap&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;QStringList&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QDBusAbstractInterface&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">class </span>QDBusConnection;
+<a name="l00032"></a>00032 <span class="keyword">class </span>QDBusPendingCallWatcher;
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00035"></a>00035
+<a name="l00036"></a><a class="code" href="class_context_subscriber_1_1_subscriber_interface.html">00036</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a> : <span class="keyword">public</span> QDBusAbstractInterface
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 Q_OBJECT
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00041"></a>00041 <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#87e096c9a1ecfb1453d29722731fbb51" title="Constructs the SubscriberInterface.">SubscriberInterface</a>(<span class="keyword">const</span> QDBusConnection connection, <span class="keyword">const</span> QString&amp; busName,
+<a name="l00042"></a>00042 <span class="keyword">const</span> QString&amp; objectPath, QObject* parent = 0);
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#da9126ec7363321f97124a4edc6553ec" title="Calls the Subscribe function over DBus asynchronously.">subscribe</a>(QSet&lt;QString&gt; keys);
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#4227c404be7915805dbab93e0704914d" title="Calls the Unsubscribe function over DBus asynchronously.">unsubscribe</a>(QSet&lt;QString&gt; keys);
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 signals:
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#960dc79d9b47fbbda16e6eed05826c5d">valuesChanged</a>(QMap&lt;QString, QVariant&gt; values);
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#1705fc2b48624313ef52f279ede97e5b">subscribeFinished</a>(QList&lt;QString&gt; keys);
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#0e99f03c74e942caed4a12013771a4d2">subscribeFailed</a>(QList&lt;QString&gt; keys, QString error);
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#af5cbaccd8318fd13389b2da11b03e7c">Changed</a>(<span class="keyword">const</span> QMap&lt;QString, QVariant&gt; &amp;values, <span class="keyword">const</span> QStringList &amp;unknownKeys);
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">private</span> slots:
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#5405b720d8596ab0abbc2ce817a61b14" title="Is called when the asynchronous DBus call to Subscribe has finished.">onSubscribeFinished</a>(QDBusPendingCallWatcher* watcher);
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#20de105eef3bdd1de40708536a7f4238" title="Processes the results of the Changed signal which comes over DBus.">onChanged</a>(<span class="keyword">const</span> QMap&lt;QString, QVariant&gt; &amp;values, <span class="keyword">const</span> QStringList &amp;unknownKeys);
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">private</span>:
+<a name="l00058"></a>00058 <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#87e096c9a1ecfb1453d29722731fbb51" title="Constructs the SubscriberInterface.">SubscriberInterface</a>(<span class="keyword">const</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>&amp; other);
+<a name="l00059"></a>00059 <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>&amp; <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#a9b18edfb5899e8884a1c3c7c7d5caff">operator=</a>(<span class="keyword">const</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html">SubscriberInterface</a>&amp; other);
+<a name="l00060"></a>00060 QMap&lt;QString, QVariant&gt;&amp; <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#913f90d59398e97fbb363c84b0d3c403" title="A helper function. Sets the values of given keys to a null QVariant in a QMap.">mergeNullsWithMap</a>(QMap&lt;QString, QVariant&gt; &amp;map, QStringList nulls) <span class="keyword">const</span>;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">protected</span>:
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#1c7ee2c99941a60bc1a3d43aa794063b">connectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#9f726b29f65d7340ac2df345cf462c66">disconnectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">00066</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_context_subscriber_1_1_subscriber_interface.html#6ebfcf76e474281993e681afb15975c9">interfaceName</a>;
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068 } <span class="comment">// end namespace</span>
+<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/subscriberinterface_8h.html b/libcontextsubscriber/doc/html/subscriberinterface_8h.html
new file mode 100644
index 00000000..cec2a326
--- /dev/null
+++ b/libcontextsubscriber/doc/html/subscriberinterface_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: subscriberinterface.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>subscriberinterface.h File Reference</h1><code>#include &lt;QObject&gt;</code><br>
+<code>#include &lt;QMap&gt;</code><br>
+<code>#include &lt;QString&gt;</code><br>
+<code>#include &lt;QStringList&gt;</code><br>
+<code>#include &lt;QDBusAbstractInterface&gt;</code><br>
+
+<p>
+<a href="subscriberinterface_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a></td></tr>
+
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/tab_b.gif b/libcontextsubscriber/doc/html/tab_b.gif
new file mode 100644
index 00000000..0d623483
--- /dev/null
+++ b/libcontextsubscriber/doc/html/tab_b.gif
Binary files differ
diff --git a/libcontextsubscriber/doc/html/tab_l.gif b/libcontextsubscriber/doc/html/tab_l.gif
new file mode 100644
index 00000000..9b1e6337
--- /dev/null
+++ b/libcontextsubscriber/doc/html/tab_l.gif
Binary files differ
diff --git a/libcontextsubscriber/doc/html/tab_r.gif b/libcontextsubscriber/doc/html/tab_r.gif
new file mode 100644
index 00000000..ce9dd9f5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/tab_r.gif
Binary files differ
diff --git a/libcontextsubscriber/doc/html/tabs.css b/libcontextsubscriber/doc/html/tabs.css
new file mode 100644
index 00000000..ab02c624
--- /dev/null
+++ b/libcontextsubscriber/doc/html/tabs.css
@@ -0,0 +1,105 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ float : left;
+ width : 100%;
+ background : url("tab_b.gif") repeat-x bottom;
+ margin-bottom : 4px;
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
+}
+
+DIV.tabs A
+{
+ float : left;
+ background : url("tab_r.gif") no-repeat right top;
+ border-bottom : 1px solid #84B0C7;
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+ color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ background : url("tab_l.gif") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
+}
+
+DIV.tabs INPUT
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+ background-position: 0% -150px;
+ padding-bottom : 6px;
+}
+
+DIV.navpath
+{
+ background : none;
+ border : none;
+ border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
+}
diff --git a/libcontextsubscriber/doc/html/update-contextkit-providers_8cpp.html b/libcontextsubscriber/doc/html/update-contextkit-providers_8cpp.html
new file mode 100644
index 00000000..9f27804e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/update-contextkit-providers_8cpp.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: update-contextkit-providers.cpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>update-contextkit-providers.cpp File Reference</h1><code>#include &lt;QCoreApplication&gt;</code><br>
+<code>#include &lt;QDir&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="contextregistryinfo_8h-source.html">contextregistryinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextpropertyinfo_8h-source.html">contextpropertyinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="contextproviderinfo_8h-source.html">contextproviderinfo.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="cdbwriter_8h-source.html">cdbwriter.h</a>&quot;</code><br>
+<code>#include &quot;fcntl.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="update-contextkit-providers_8cpp.html#d4e241dfee4e559f0beefd5904c4e117">checkDirectory</a> (const QDir &amp;dir)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="update-contextkit-providers_8cpp.html#3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
+
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="d4e241dfee4e559f0beefd5904c4e117"></a><!-- doxytag: member="update&#45;contextkit&#45;providers.cpp::checkDirectory" ref="d4e241dfee4e559f0beefd5904c4e117" args="(const QDir &amp;dir)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void checkDirectory </td>
+ <td>(</td>
+ <td class="paramtype">const QDir &amp;&nbsp;</td>
+ <td class="paramname"> <em>dir</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="update&#45;contextkit&#45;providers.cpp::main" ref="3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int main </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>argc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&nbsp;</td>
+ <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/updatingcontextproviders.html b/libcontextsubscriber/doc/html/updatingcontextproviders.html
new file mode 100644
index 00000000..e009f511
--- /dev/null
+++ b/libcontextsubscriber/doc/html/updatingcontextproviders.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libcontextsubscriber: </title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+The update tool (<code>update-contextkit-providers</code>) is used to regenerate the registry cache database.<h2><a class="anchor" name="Overview">
+Overview</a></h2>
+Information about keys and providers is normally stored in a system directory in <b>xml</b> format. The xml (being xml) is slow to parse and not efficient as a storage format for data that is mostly static.<p>
+It makes sense to store a cached version of the xml registry in a constant-database fast-access format and regenerate it when the xml data changes.<p>
+Update tool does exactly that - it reads the xml registry and (re)generates a constant <b>tiny-cdb</b> database containing the cached version of the data in the registry.<h2><a class="anchor" name="Usage">
+Usage</a></h2>
+The <code>update-contextkit-providers</code> binary, when launched without parameters, will by default regenerate the database in the default installation prefix. Most likely: <code>"/usr/share/contextkit/providers"</code> . Obviously, for this to be successful, it needs to be launched with proper privileges.<p>
+It's possible to override the registry directory with first parameter:<p>
+<div class="fragment"><pre class="fragment"> $&gt; update-contextkit-providers /some/path/to/registry
+</pre></div><p>
+In this case the xml will be read from <code>"/some/path/to/registry"</code> and the resulting database will be written to <code>"/some/path/to/registry/cache.cdb"</code> .<p>
+Lastly, the <code>"CONTEXT_PROVIDERS"</code> environment variable can be used to specify a directory containing the registry.<h2><a class="anchor" name="Implementation">
+Implementation</a></h2>
+To ensure the registry consistency the regeneration is done atomically: the new database is first written to a temp-named file and then moved over the old one. </div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 20 09:32:32 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/lgpl-2.1.txt b/libcontextsubscriber/doc/lgpl-2.1.txt
deleted file mode 100644
index 5ab7695a..00000000
--- a/libcontextsubscriber/doc/lgpl-2.1.txt
+++ /dev/null
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/libcontextsubscriber/man/Makefile.in b/libcontextsubscriber/man/Makefile.in
new file mode 100644
index 00000000..c18e91ef
--- /dev/null
+++ b/libcontextsubscriber/man/Makefile.in
@@ -0,0 +1,425 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/man
+DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_man_MANS = update-contextkit-providers.1 context-listen.1 context-print-info.1 context-ls.1
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/man/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/man/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $$i; then file=$$i; \
+ else file=$(srcdir)/$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-man uninstall-man1
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/Makefile.in b/libcontextsubscriber/multithreading-tests/Makefile.in
new file mode 100644
index 00000000..a2afdecf
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/multithreading-tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = new-property-in-thread old-property-in-thread single-thread stress-test wait-for-subscription-only-in-thread wait-for-subscription-thread using-backend-from-thread
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/new-property-in-thread/.gitignore b/libcontextsubscriber/multithreading-tests/new-property-in-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/libcontextsubscriber/multithreading-tests/new-property-in-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile.in b/libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile.in
new file mode 100644
index 00000000..9cc1e59e
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/new-property-in-thread
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp thread.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/new-property-in-thread/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/old-property-in-thread/.gitignore b/libcontextsubscriber/multithreading-tests/old-property-in-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/libcontextsubscriber/multithreading-tests/old-property-in-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile.in b/libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile.in
new file mode 100644
index 00000000..f70ddf51
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/old-property-in-thread
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp thread.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/old-property-in-thread/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/single-thread/.gitignore b/libcontextsubscriber/multithreading-tests/single-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/libcontextsubscriber/multithreading-tests/single-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/libcontextsubscriber/multithreading-tests/single-thread/Makefile.in b/libcontextsubscriber/multithreading-tests/single-thread/Makefile.in
new file mode 100644
index 00000000..2e32dbe1
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/single-thread/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/single-thread
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp listener.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/single-thread/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/single-thread/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/stress-test/.gitignore b/libcontextsubscriber/multithreading-tests/stress-test/.gitignore
deleted file mode 100644
index e08dedad..00000000
--- a/libcontextsubscriber/multithreading-tests/stress-test/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-run-test
-cache.cdb
diff --git a/libcontextsubscriber/multithreading-tests/stress-test/1provider.cdb b/libcontextsubscriber/multithreading-tests/stress-test/1provider.cdb
deleted file mode 100644
index 58655ef3..00000000
--- a/libcontextsubscriber/multithreading-tests/stress-test/1provider.cdb
+++ /dev/null
Binary files differ
diff --git a/libcontextsubscriber/multithreading-tests/stress-test/2providers.cdb b/libcontextsubscriber/multithreading-tests/stress-test/2providers.cdb
deleted file mode 100644
index 98324d4c..00000000
--- a/libcontextsubscriber/multithreading-tests/stress-test/2providers.cdb
+++ /dev/null
Binary files differ
diff --git a/libcontextsubscriber/multithreading-tests/stress-test/Makefile.in b/libcontextsubscriber/multithreading-tests/stress-test/Makefile.in
new file mode 100644
index 00000000..ae3f79f9
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/stress-test/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/stress-test
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp thread.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/stress-test/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/stress-test/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/stress-test/provider.py b/libcontextsubscriber/multithreading-tests/stress-test/provider.py
deleted file mode 100755
index 748929a4..00000000
--- a/libcontextsubscriber/multithreading-tests/stress-test/provider.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/python
-"""A test provider for the stress testing."""
-
-
-# change registry this often [msec]
-registryChangeTimeout = 2017
-
-
-from ContextKit.flexiprovider import *
-import gobject
-import time
-import os
-
-def update():
- t = time.time()
- dt = int(1000*(t - round(t)))
- gobject.timeout_add(1000 - dt, update)
- v = int(round(t))
- fp.set('test.int', v)
- fp.set('test.int2', v)
- print t
- return False
-
-pcnt = 0
-def chgRegistry():
- global pcnt
- pcnt += 1
- if pcnt % 2:
- print "1 provider"
- os.system('cp 1provider.cdb tmp.cdb; mv tmp.cdb cache.cdb')
- else:
- print "2 providers"
- os.system('cp 2providers.cdb tmp.cdb; mv tmp.cdb cache.cdb')
- return True
-
-
-gobject.timeout_add(1000, update)
-# uncoment this to see the "Bus error" XXX
-gobject.timeout_add(registryChangeTimeout, chgRegistry)
-
-fp = Flexiprovider([INT('test.int'), INT('test.int2')], 'my.test.provider', 'session')
-fp.run()
diff --git a/libcontextsubscriber/multithreading-tests/stress-test/runme.sh b/libcontextsubscriber/multithreading-tests/stress-test/runme.sh
deleted file mode 100755
index a2aa73d6..00000000
--- a/libcontextsubscriber/multithreading-tests/stress-test/runme.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-# RunMe & ReadMe
-#
-# provider.py will run flexiprovider and update test.int every second to the POSIX time.
-# Additionally, it will change the registry every two seconds.
-#
-# stress-test takes two int arguments: the number of threads using the first and the second provider.
-#
-# Compiling: for now, use qmake & make. Sorry.
-
-#xterm -e 'rlwrap ../../../python/context-provide my.test.provider int test.int 0 int test.int2 0' &
-#xterm -e 'rlwrap ../../../python/context-provide my.test2.provider int test2.int 0 int test2.int2 0' &
-
-xterm -e './provider.py' &
-CONTEXT_PROVIDERS=../stress-test/ ./run-test 3 3
diff --git a/libcontextsubscriber/multithreading-tests/using-backend-from-thread/.gitignore b/libcontextsubscriber/multithreading-tests/using-backend-from-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/libcontextsubscriber/multithreading-tests/using-backend-from-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile.in b/libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile.in
new file mode 100644
index 00000000..c566cc9b
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/using-backend-from-thread
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS) $(QtDBus_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp thread.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/using-backend-from-thread/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore b/libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.in b/libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.in
new file mode 100644
index 00000000..12c9e4a4
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp thread.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/wait-for-subscription-only-in-thread/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/.gitignore b/libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile.in b/libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile.in
new file mode 100644
index 00000000..8312b753
--- /dev/null
+++ b/libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = run-test$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/multithreading-tests/wait-for-subscription-thread
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_run_test_OBJECTS = main.$(OBJEXT)
+nodist_run_test_OBJECTS = mocs.$(OBJEXT)
+run_test_OBJECTS = $(am_run_test_OBJECTS) $(nodist_run_test_OBJECTS)
+run_test_DEPENDENCIES = ../../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(run_test_SOURCES) $(nodist_run_test_SOURCES)
+DIST_SOURCES = $(run_test_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(QtCore_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+run_test_SOURCES = main.cpp thread.h
+
+# library dependency hack for seamless make in cli/
+AM_CXXFLAGS = $(QtCore_CFLAGS) -I$(srcdir)/../../src
+run_test_LDADD = ../../src/libcontextsubscriber.la
+
+# moccing
+nodist_run_test_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/multithreading-tests/wait-for-subscription-thread/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+run-test$(EXEEXT): $(run_test_OBJECTS) $(run_test_DEPENDENCIES)
+ @rm -f run-test$(EXEEXT)
+ $(CXXLINK) $(run_test_OBJECTS) $(run_test_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+../../src/libcontextsubscriber.la:
+ $(MAKE) -C ../../src libcontextsubscriber.la
+.PHONY: ../../src/libcontextsubscriber.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/propertymonitor/.gitignore b/libcontextsubscriber/propertymonitor/.gitignore
deleted file mode 100644
index 857d70aa..00000000
--- a/libcontextsubscriber/propertymonitor/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-tests.xml
diff --git a/libcontextsubscriber/propertymonitor/Makefile.in b/libcontextsubscriber/propertymonitor/Makefile.in
new file mode 100644
index 00000000..1207e002
--- /dev/null
+++ b/libcontextsubscriber/propertymonitor/Makefile.in
@@ -0,0 +1,375 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/propertymonitor
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = generate-tests-xml.sh has_value.py has_provider.py tests.xml.begin tests.xml.end tests.xml.middle
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/propertymonitor/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/propertymonitor/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ clean-local distclean distclean-generic distclean-libtool \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am
+
+all:
+ $(srcdir)/generate-tests-xml.sh $(top_srcdir)/spec/core.context $(srcdir)/tests.xml.begin $(srcdir)/tests.xml.middle $(srcdir)/tests.xml.end
+
+clean-local:
+ rm -f tests.xml
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/sandbox/messaging-to-self/main.cpp b/libcontextsubscriber/sandbox/messaging-to-self/main.cpp
deleted file mode 100644
index aafda83c..00000000
--- a/libcontextsubscriber/sandbox/messaging-to-self/main.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <QCoreApplication>
-#include <QDebug>
-#include <QThread>
-#include "myobject.h"
-#include "mythread.h"
-
-int main(int argc, char **argv)
-{
- QCoreApplication app(argc, argv);
-
- qDebug() << "main thread:" << QThread::currentThread();
-
- MyObject a;
- MyThread t(&a);
- t.start();
-
-// sleep(1);
-
- return app.exec();
-}
diff --git a/libcontextsubscriber/sandbox/messaging-to-self/messaging-to-self.pro b/libcontextsubscriber/sandbox/messaging-to-self/messaging-to-self.pro
deleted file mode 100644
index bafbb027..00000000
--- a/libcontextsubscriber/sandbox/messaging-to-self/messaging-to-self.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Mon Jun 15 11:49:08 2009
-######################################################################
-
-TEMPLATE = app
-TARGET =
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
-HEADERS += myobject.h mythread.h queuedinvoker.h
-SOURCES += main.cpp queuedinvoker.cpp
diff --git a/libcontextsubscriber/sandbox/messaging-to-self/myobject.h b/libcontextsubscriber/sandbox/messaging-to-self/myobject.h
deleted file mode 100644
index 155ebf3b..00000000
--- a/libcontextsubscriber/sandbox/messaging-to-self/myobject.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef MYOBJECT_H
-#define MYOBJECT_H
-
-#include "queuedinvoker.h"
-#include <QDebug>
-#include <QThread>
-
-class MyObject : public QueuedInvoker
-{
- Q_OBJECT
-
-private:
- int x;
-
-public:
- MyObject() : x(0)
- {
- }
-
- Q_INVOKABLE void five()
- {
- qDebug() << "MyObject::five" << QThread::currentThread() << ++x;
- }
- Q_INVOKABLE void six()
- {
- qDebug() << "MyObject::six" << QThread::currentThread() << ++x;
- }
- Q_INVOKABLE void seven()
- {
- qDebug() << "MyObject::seven" << QThread::currentThread() << ++x;
- }
-};
-#endif
-
-
diff --git a/libcontextsubscriber/sandbox/messaging-to-self/mythread.h b/libcontextsubscriber/sandbox/messaging-to-self/mythread.h
deleted file mode 100644
index 4170ccf8..00000000
--- a/libcontextsubscriber/sandbox/messaging-to-self/mythread.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef MYTHREAD_H
-#define MYTHREAD_H
-
-#include <QThread>
-#include <QDebug>
-#include "myobject.h"
-
-class MyThread : public QThread
-{
- Q_OBJECT
-
-private:
- MyObject *obj;
-
-public:
- MyThread(MyObject *obj) : obj(obj)
- {
- }
-
-protected:
- void run()
- {
- qDebug() << QThread::currentThread();
- obj->queueOnce("five");
- obj->queueOnce("six");
- obj->queueOnce("five");
- obj->queueOnce("five");
- obj->queueOnce("six");
- obj->queueOnce("seven");
- }
-};
-#endif
diff --git a/libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.cpp b/libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.cpp
deleted file mode 100644
index 85dbb7d1..00000000
--- a/libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "queuedinvoker.h"
-
-#include <QMetaObject>
-#include <QThread>
-#include <QDebug>
-#include <QMutexLocker>
-
-QueuedInvoker::QueuedInvoker()
-{
- connect(this, SIGNAL(queuedCall(const char *)),
- this, SLOT(onQueuedCall(const char *)),
- Qt::QueuedConnection);
-}
-
-void QueuedInvoker::onQueuedCall(const char *method)
-{
- QMutexLocker locker(&callQueueLock);
- callQueue.remove(method);
- qDebug() << "Hope that i'm in the main loop" << QThread::currentThread();
- locker.unlock();
- if (!QMetaObject::invokeMethod(this, method, Qt::DirectConnection)) {
- qFatal(" *****************\n"
- "Erroneous usage of queueOnce(%s)\n"
- " *****************\n", method);
- }
-}
-
-void QueuedInvoker::queueOnce(const char *method)
-{
- QMutexLocker locker(&callQueueLock);
- if (!callQueue.contains(method)) {
- emit queuedCall(method);
- callQueue.insert(method);
- }
-}
diff --git a/libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.h b/libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.h
deleted file mode 100644
index 8f81f26e..00000000
--- a/libcontextsubscriber/sandbox/messaging-to-self/queuedinvoker.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef QUEUEDINVOKER_H
-#define QUEUEDINVOKER_H
-
-#include <QObject>
-#include <QMutex>
-#include <QSet>
-#include <QString>
-
-class QueuedInvoker : public QObject
-{
- Q_OBJECT
-
-public:
- QueuedInvoker();
-
-private slots:
- void onQueuedCall(const char *method);
-
-signals:
- void queuedCall(const char *method);
-
-public:
- void queueOnce(const char *method);
-
-private:
- QMutex callQueueLock;
- QSet<QString> callQueue;
-};
-#endif
diff --git a/libcontextsubscriber/src/Makefile.in b/libcontextsubscriber/src/Makefile.in
new file mode 100644
index 00000000..98a638a9
--- /dev/null
+++ b/libcontextsubscriber/src/Makefile.in
@@ -0,0 +1,640 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(includecontextsubscriber_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextsubscriber/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(includecontextsubscriberdir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libcontextsubscriber_la_DEPENDENCIES = \
+ $(top_builddir)/common/libcommon.la
+am_libcontextsubscriber_la_OBJECTS = contextproperty.lo \
+ propertyhandle.lo provider.lo subscriberinterface.lo \
+ contextpropertyinfo.lo contextregistryinfo.lo infobackend.lo \
+ infoxmlbackend.lo cdbwriter.lo cdbreader.lo infocdbbackend.lo \
+ dbusnamelistener.lo handlesignalrouter.lo queuedinvoker.lo \
+ contextkitplugin.lo nanoxml.lo asyncdbusinterface.lo
+nodist_libcontextsubscriber_la_OBJECTS = mocs.lo
+libcontextsubscriber_la_OBJECTS = \
+ $(am_libcontextsubscriber_la_OBJECTS) \
+ $(nodist_libcontextsubscriber_la_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libcontextsubscriber_la_SOURCES) \
+ $(nodist_libcontextsubscriber_la_SOURCES)
+DIST_SOURCES = $(libcontextsubscriber_la_SOURCES)
+includecontextsubscriberHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(includecontextsubscriber_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@ $(CDB_LIBS) $(QtCore_LIBS) $(QtXml_LIBS) $(QtDBus_LIBS)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LTLIBRARIES = libcontextsubscriber.la
+libcontextsubscriber_la_SOURCES = contextproperty.cpp \
+ contextproperty.h propertyhandle.cpp propertyhandle.h \
+ provider.cpp provider.h safedbuspendingcallwatcher.h \
+ subscriberinterface.h subscriberinterface.cpp \
+ contextpropertyinfo.cpp contextpropertyinfo.h \
+ contextregistryinfo.cpp contextregistryinfo.h infobackend.h \
+ infobackend.cpp infoxmlbackend.h infoxmlbackend.cpp \
+ infokeydata.h cdbwriter.h cdbwriter.cpp cdbreader.cpp \
+ cdbreader.h infocdbbackend.cpp infocdbbackend.h \
+ dbusnamelistener.h dbusnamelistener.cpp handlesignalrouter.cpp \
+ handlesignalrouter.h queuedinvoker.cpp queuedinvoker.h \
+ loggingfeatures.h contextkitplugin.h contextkitplugin.cpp \
+ iproviderplugin.h contextproviderinfo.h nanoxml.h nanoxml.cpp \
+ asyncdbusinterface.cpp
+
+includecontextsubscriberdir = $(includedir)/contextsubscriber
+includecontextsubscriber_HEADERS = contextproperty.h \
+ contextpropertyinfo.h contextregistryinfo.h iproviderplugin.h \
+ contextproviderinfo.h asyncdbusinterface.h
+
+AM_CXXFLAGS = -I$(top_srcdir)/common \
+ $(QtCore_CFLAGS) $(QtXml_CFLAGS) $(QtDBus_CFLAGS) \
+ '-DDEFAULT_CONTEXT_SUBSCRIBER_PLUGINS="@libdir@/contextkit/subscriber-plugins"' \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DDEFAULT_CONTEXT_CORE_DECLARATIONS="@datadir@/contextkit/core.context"' \
+ '-DCONTEXT_LOG_MODULE_NAME="libcontextsubscriber"'
+
+libcontextsubscriber_la_LIBADD = $(top_builddir)/common/libcommon.la
+
+# moccing
+nodist_libcontextsubscriber_la_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(libcontextsubscriber_la_SOURCES))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libcontextsubscriber.la: $(libcontextsubscriber_la_OBJECTS) $(libcontextsubscriber_la_DEPENDENCIES)
+ $(CXXLINK) -rpath $(libdir) $(libcontextsubscriber_la_OBJECTS) $(libcontextsubscriber_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asyncdbusinterface.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbwriter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextkitplugin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextproperty.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextpropertyinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextregistryinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbusnamelistener.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handlesignalrouter.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infobackend.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infocdbbackend.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infoxmlbackend.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoxml.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyhandle.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/provider.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queuedinvoker.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subscriberinterface.Plo@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-includecontextsubscriberHEADERS: $(includecontextsubscriber_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(includecontextsubscriberdir)" || $(MKDIR_P) "$(DESTDIR)$(includecontextsubscriberdir)"
+ @list='$(includecontextsubscriber_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(includecontextsubscriberHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includecontextsubscriberdir)/$$f'"; \
+ $(includecontextsubscriberHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includecontextsubscriberdir)/$$f"; \
+ done
+
+uninstall-includecontextsubscriberHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(includecontextsubscriber_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(includecontextsubscriberdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(includecontextsubscriberdir)/$$f"; \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includecontextsubscriberdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includecontextsubscriberHEADERS
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-includecontextsubscriberHEADERS \
+ uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool clean-local ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-includecontextsubscriberHEADERS \
+ install-info install-info-am install-libLTLIBRARIES \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-includecontextsubscriberHEADERS \
+ uninstall-libLTLIBRARIES
+
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: $(top_builddir)/common/libcommon.la
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# because if you change configure parameter DEFAULT_CONTEXT_PROVIDERS,
+# you should do a recompile
+infocdbbackend.lo infoxmlbackend.lo: Makefile
+
+# and the same for DEFAULT_CONTEXT_SUBSCRIBER_PLUGINS
+provider.lo: Makefile
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/Makefile.in b/libcontextsubscriber/unit-tests/Makefile.in
new file mode 100644
index 00000000..4cb06312
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/Makefile.in
@@ -0,0 +1,571 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am
+subdir = libcontextsubscriber/unit-tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRSTESTS = \
+ provider \
+ propertyhandle \
+ handlesignalrouter \
+ cdb \
+ infoxmlbackend \
+ infocdbbackend \
+ contextregistryinfo \
+ contextpropertyinfo \
+ infobackend \
+ nanoxml
+
+SUBDIRS = $(SUBDIRSTESTS) util
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/covoptioncheck.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ clean-local ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+
+check-sum: all
+ @list='$(SUBDIRSTESTS)'; for subdir in $$list; do \
+ (cd $$subdir && tput bold && echo $$subdir:\ && tput sgr0 && ( $(MAKE) $(AM_MAKEFLAGS) check 2>/dev/null | grep '^Total' | grep -v '^make' ) ) \
+ done
+
+coverage: covoptioncheck
+ @list='$(SUBDIRSTESTS)'; for subdir in $$list; do \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) coverage) \
+ done
+ mkdir -p coverage
+ lcov $(patsubst %, -a %/coverage/selected.cov, $(SUBDIRSTESTS)) -o coverage/selecteds.cov
+ @echo "real sources: `cd $(abs_top_srcdir) && pwd`"
+ @echo "build: $(abs_top_builddir)"
+ cat coverage/selecteds.cov | \
+ sed "s,`cd $(abs_top_builddir) && pwd`,`cd $(abs_top_srcdir) && pwd`," | \
+ sed 's,unit-tests/.*mock_,src/,' | \
+ sed 's,unit-tests/.*src_,src/,' >coverage/sedded.cov
+ genhtml --prefix `cd $(abs_top_srcdir) && pwd` -o coverage/ coverage/sedded.cov
+
+clean-local:
+ rm -rf coverage
+
+.PHONY: coverage check-sum
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/cdb/.gitignore b/libcontextsubscriber/unit-tests/cdb/.gitignore
deleted file mode 100644
index bda91efe..00000000
--- a/libcontextsubscriber/unit-tests/cdb/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-cdbreader.cpp
-cdbreader.h
-cdbwriter.cpp
-cdbwriter.h
-logging.cpp
-logging.h
-loggingfeatures.h
diff --git a/libcontextsubscriber/unit-tests/cdb/Makefile.in b/libcontextsubscriber/unit-tests/cdb/Makefile.in
new file mode 100644
index 00000000..9347abcb
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/cdb/Makefile.in
@@ -0,0 +1,703 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = cdbunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/cdb
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = cdbreader.$(OBJEXT) cdbwriter.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_cdbunittest_OBJECTS = cdbunittest.$(OBJEXT)
+nodist_cdbunittest_OBJECTS = mocs.$(OBJEXT)
+cdbunittest_OBJECTS = $(am_cdbunittest_OBJECTS) \
+ $(nodist_cdbunittest_OBJECTS)
+cdbunittest_LDADD = $(LDADD)
+cdbunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(cdbunittest_SOURCES) \
+ $(nodist_cdbunittest_SOURCES)
+DIST_SOURCES = $(cdbunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+cdbunittest_SOURCES = cdbunittest.cpp
+COVERAGE_FILES = cdbwriter.cpp cdbreader.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = '-I$(srcdir)/../util/' $(QtTest_CFLAGS) $(COV_CXXFLAGS) \
+ -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = cdbreader.h cdbreader.cpp cdbwriter.cpp cdbwriter.h loggingfeatures.h # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_cdbunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(cdbunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/cdb/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/cdb/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+cdbunittest$(EXEEXT): $(cdbunittest_OBJECTS) $(cdbunittest_DEPENDENCIES)
+ @rm -f cdbunittest$(EXEEXT)
+ $(CXXLINK) $(cdbunittest_OBJECTS) $(cdbunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbwriter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+cdbunittest.o: cdbunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/contextpropertyinfo/.gitignore b/libcontextsubscriber/unit-tests/contextpropertyinfo/.gitignore
deleted file mode 100644
index 8697cc1e..00000000
--- a/libcontextsubscriber/unit-tests/contextpropertyinfo/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-contextpropertyinfo.cpp
-contextpropertyinfo.h
-contextpropertyinfounittest
-loggingfeatures.h
-contextproviderinfo.h
diff --git a/libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in b/libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in
new file mode 100644
index 00000000..3cff744f
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in
@@ -0,0 +1,711 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = contextpropertyinfounittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/contextpropertyinfo
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = contextpropertyinfo.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_contextpropertyinfounittest_OBJECTS = \
+ contextpropertyinfounittest.$(OBJEXT)
+nodist_contextpropertyinfounittest_OBJECTS = mocs.$(OBJEXT)
+contextpropertyinfounittest_OBJECTS = \
+ $(am_contextpropertyinfounittest_OBJECTS) \
+ $(nodist_contextpropertyinfounittest_OBJECTS)
+contextpropertyinfounittest_LDADD = $(LDADD)
+contextpropertyinfounittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) \
+ $(contextpropertyinfounittest_SOURCES) \
+ $(nodist_contextpropertyinfounittest_SOURCES)
+DIST_SOURCES = $(contextpropertyinfounittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+contextpropertyinfounittest_SOURCES = contextpropertyinfounittest.cpp infobackend.h
+COVERAGE_FILES = contextpropertyinfo.cpp
+EXTRA_DIST =
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) -I$(srcdir)/../util/ \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DDEFAULT_CONTEXT_CORE_DECLARATIONS="@datadir@/contextkit/core.context"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = contextpropertyinfo.cpp \
+ contextpropertyinfo.h \
+ loggingfeatures.h \
+ contextproviderinfo.h
+
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_contextpropertyinfounittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contextpropertyinfounittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+contextpropertyinfounittest$(EXEEXT): $(contextpropertyinfounittest_OBJECTS) $(contextpropertyinfounittest_DEPENDENCIES)
+ @rm -f contextpropertyinfounittest$(EXEEXT)
+ $(CXXLINK) $(contextpropertyinfounittest_OBJECTS) $(contextpropertyinfounittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextpropertyinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextpropertyinfounittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+contextpropertyinfounittest.o: contextpropertyinfounittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/contextregistryinfo/.gitignore b/libcontextsubscriber/unit-tests/contextregistryinfo/.gitignore
deleted file mode 100644
index db50bd4d..00000000
--- a/libcontextsubscriber/unit-tests/contextregistryinfo/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-contextregistryinfo.cpp
-contextregistryinfo.h
-contextregistryinfounittest
-loggingfeatures.h
-contextproviderinfo.h
diff --git a/libcontextsubscriber/unit-tests/contextregistryinfo/Makefile.in b/libcontextsubscriber/unit-tests/contextregistryinfo/Makefile.in
new file mode 100644
index 00000000..f2d11491
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/contextregistryinfo/Makefile.in
@@ -0,0 +1,711 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = contextregistryinfounittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/contextregistryinfo
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = contextregistryinfo.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_contextregistryinfounittest_OBJECTS = \
+ contextregistryinfounittest.$(OBJEXT)
+nodist_contextregistryinfounittest_OBJECTS = mocs.$(OBJEXT)
+contextregistryinfounittest_OBJECTS = \
+ $(am_contextregistryinfounittest_OBJECTS) \
+ $(nodist_contextregistryinfounittest_OBJECTS)
+contextregistryinfounittest_LDADD = $(LDADD)
+contextregistryinfounittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) \
+ $(contextregistryinfounittest_SOURCES) \
+ $(nodist_contextregistryinfounittest_SOURCES)
+DIST_SOURCES = $(contextregistryinfounittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+contextregistryinfounittest_SOURCES = contextregistryinfounittest.cpp infobackend.h
+COVERAGE_FILES = contextregistryinfo.cpp
+EXTRA_DIST =
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) -I$(srcdir)/../util/ \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DDEFAULT_CONTEXT_CORE_DECLARATIONS="@datadir@/contextkit/core.context"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = contextregistryinfo.cpp \
+ contextregistryinfo.h \
+ loggingfeatures.h \
+ contextproviderinfo.h
+
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_contextregistryinfounittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contextregistryinfounittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/contextregistryinfo/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/contextregistryinfo/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+contextregistryinfounittest$(EXEEXT): $(contextregistryinfounittest_OBJECTS) $(contextregistryinfounittest_DEPENDENCIES)
+ @rm -f contextregistryinfounittest$(EXEEXT)
+ $(CXXLINK) $(contextregistryinfounittest_OBJECTS) $(contextregistryinfounittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextregistryinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contextregistryinfounittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+contextregistryinfounittest.o: contextregistryinfounittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/handlesignalrouter/.gitignore b/libcontextsubscriber/unit-tests/handlesignalrouter/.gitignore
deleted file mode 100644
index 8b3ad9a2..00000000
--- a/libcontextsubscriber/unit-tests/handlesignalrouter/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-handlesignalrouter.cpp
-handlesignalrouter.h
-logging.cpp
-logging.h
-loggingfeatures.h
diff --git a/libcontextsubscriber/unit-tests/handlesignalrouter/Makefile.in b/libcontextsubscriber/unit-tests/handlesignalrouter/Makefile.in
new file mode 100644
index 00000000..6e5a1a5d
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/handlesignalrouter/Makefile.in
@@ -0,0 +1,707 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = handlesignalrouter-unit-tests$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/handlesignalrouter
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = handlesignalrouter.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_handlesignalrouter_unit_tests_OBJECTS = \
+ testhandlesignalrouter.$(OBJEXT)
+nodist_handlesignalrouter_unit_tests_OBJECTS = mocs.$(OBJEXT)
+handlesignalrouter_unit_tests_OBJECTS = \
+ $(am_handlesignalrouter_unit_tests_OBJECTS) \
+ $(nodist_handlesignalrouter_unit_tests_OBJECTS)
+handlesignalrouter_unit_tests_LDADD = $(LDADD)
+handlesignalrouter_unit_tests_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) \
+ $(handlesignalrouter_unit_tests_SOURCES) \
+ $(nodist_handlesignalrouter_unit_tests_SOURCES)
+DIST_SOURCES = $(handlesignalrouter_unit_tests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+handlesignalrouter_unit_tests_SOURCES = testhandlesignalrouter.cpp \
+ propertyhandle.h testhandlesignalrouter.h
+
+
+# only include these files in the coverage
+COVERAGE_FILES = handlesignalrouter.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = handlesignalrouter.cpp handlesignalrouter.h loggingfeatures.h # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_handlesignalrouter_unit_tests_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(handlesignalrouter_unit_tests_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/handlesignalrouter/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/handlesignalrouter/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+handlesignalrouter-unit-tests$(EXEEXT): $(handlesignalrouter_unit_tests_OBJECTS) $(handlesignalrouter_unit_tests_DEPENDENCIES)
+ @rm -f handlesignalrouter-unit-tests$(EXEEXT)
+ $(CXXLINK) $(handlesignalrouter_unit_tests_OBJECTS) $(handlesignalrouter_unit_tests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handlesignalrouter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testhandlesignalrouter.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/infobackend/.gitignore b/libcontextsubscriber/unit-tests/infobackend/.gitignore
deleted file mode 100644
index 90acf3ed..00000000
--- a/libcontextsubscriber/unit-tests/infobackend/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-cdbreader.cpp
-cdbreader.h
-infobackend.cpp
-infobackend.h
-infocdbbackend.cpp
-infocdbbackend.h
-infokeydata.h
-infoxmlbackend.cpp
-infoxmlbackend.h
-infobackendunittest
-infoxmlkeysfinder.cpp
-infoxmlkeysfinder.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
-nanoxml.cpp
-nanoxml.h
-contextproviderinfo.h
diff --git a/libcontextsubscriber/unit-tests/infobackend/Makefile.in b/libcontextsubscriber/unit-tests/infobackend/Makefile.in
new file mode 100644
index 00000000..f4a78582
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/infobackend/Makefile.in
@@ -0,0 +1,721 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = infobackendunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/infobackend
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = infobackend.$(OBJEXT) infoxmlbackend.$(OBJEXT) \
+ cdbreader.$(OBJEXT) infocdbbackend.$(OBJEXT) nanoxml.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_infobackendunittest_OBJECTS = infobackendunittest.$(OBJEXT)
+nodist_infobackendunittest_OBJECTS = mocs.$(OBJEXT)
+infobackendunittest_OBJECTS = $(am_infobackendunittest_OBJECTS) \
+ $(nodist_infobackendunittest_OBJECTS)
+infobackendunittest_LDADD = $(LDADD)
+infobackendunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(infobackendunittest_SOURCES) \
+ $(nodist_infobackendunittest_SOURCES)
+DIST_SOURCES = $(infobackendunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+infobackendunittest_SOURCES = infobackendunittest.cpp
+COVERAGE_FILES = infobackend.cpp
+EXTRA_DIST =
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) -I$(srcdir)/../util/ \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DDEFAULT_CONTEXT_CORE_DECLARATIONS="@datadir@/contextkit/core.context"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = \
+ infobackend.cpp infoxmlbackend.cpp \
+ cdbreader.h cdbreader.cpp \
+ infobackend.h \
+ infoxmlbackend.h \
+ infocdbbackend.h \
+ infocdbbackend.cpp \
+ infokeydata.h \
+ loggingfeatures.h \
+ nanoxml.cpp \
+ nanoxml.h \
+ contextproviderinfo.h
+
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_infobackendunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(infobackendunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/infobackend/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/infobackend/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+infobackendunittest$(EXEEXT): $(infobackendunittest_OBJECTS) $(infobackendunittest_DEPENDENCIES)
+ @rm -f infobackendunittest$(EXEEXT)
+ $(CXXLINK) $(infobackendunittest_OBJECTS) $(infobackendunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infobackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infobackendunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infocdbbackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infoxmlbackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoxml.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+infobackendunittest.o: infobackendunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/infocdbbackend/.gitignore b/libcontextsubscriber/unit-tests/infocdbbackend/.gitignore
deleted file mode 100644
index 175be724..00000000
--- a/libcontextsubscriber/unit-tests/infocdbbackend/.gitignore
+++ /dev/null
@@ -1,22 +0,0 @@
-cache.cdb
-cdbreader.cpp
-cdbreader.h
-cdbwriter.cpp
-cdbwriter.h
-infobackend.cpp
-infobackend.h
-infocdbbackend.cpp
-infocdbbackend.h
-infocdbbackendunittest
-infokeydata.h
-infoxmlbackend.cpp
-infoxmlbackend.h
-infoxmlkeysfinder.cpp
-infoxmlkeysfinder.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
-nanoxml.h
-nanoxml.cpp
-contextproviderinfo.h
diff --git a/libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in b/libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in
new file mode 100644
index 00000000..32de1b89
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in
@@ -0,0 +1,724 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = infocdbbackendunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/infocdbbackend
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = infobackend.$(OBJEXT) infoxmlbackend.$(OBJEXT) \
+ cdbreader.$(OBJEXT) cdbwriter.$(OBJEXT) \
+ infocdbbackend.$(OBJEXT) nanoxml.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_infocdbbackendunittest_OBJECTS = infocdbbackendunittest.$(OBJEXT)
+nodist_infocdbbackendunittest_OBJECTS = mocs.$(OBJEXT)
+infocdbbackendunittest_OBJECTS = $(am_infocdbbackendunittest_OBJECTS) \
+ $(nodist_infocdbbackendunittest_OBJECTS)
+infocdbbackendunittest_LDADD = $(LDADD)
+infocdbbackendunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(infocdbbackendunittest_SOURCES) \
+ $(nodist_infocdbbackendunittest_SOURCES)
+DIST_SOURCES = $(infocdbbackendunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+infocdbbackendunittest_SOURCES = infocdbbackendunittest.cpp
+COVERAGE_FILES = infocdbbackend.cpp
+EXTRA_DIST =
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) -I$(srcdir)/../util/ \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DDEFAULT_CONTEXT_CORE_DECLARATIONS="@datadir@/contextkit/core.context"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = \
+ infobackend.cpp infoxmlbackend.cpp \
+ cdbreader.h cdbreader.cpp \
+ cdbwriter.h cdbwriter.cpp \
+ infobackend.h \
+ infoxmlbackend.h \
+ infocdbbackend.h \
+ infocdbbackend.cpp \
+ infokeydata.h \
+ loggingfeatures.h \
+ nanoxml.h \
+ nanoxml.cpp \
+ contextproviderinfo.h
+
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_infocdbbackendunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(infocdbbackendunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/infocdbbackend/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/infocdbbackend/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+infocdbbackendunittest$(EXEEXT): $(infocdbbackendunittest_OBJECTS) $(infocdbbackendunittest_DEPENDENCIES)
+ @rm -f infocdbbackendunittest$(EXEEXT)
+ $(CXXLINK) $(infocdbbackendunittest_OBJECTS) $(infocdbbackendunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbwriter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infobackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infocdbbackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infocdbbackendunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infoxmlbackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoxml.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+infocdbbackendunittest.o: infocdbbackendunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/infoxmlbackend/.gitignore b/libcontextsubscriber/unit-tests/infoxmlbackend/.gitignore
deleted file mode 100644
index a1022995..00000000
--- a/libcontextsubscriber/unit-tests/infoxmlbackend/.gitignore
+++ /dev/null
@@ -1,19 +0,0 @@
-cdbreader.cpp
-cdbreader.h
-infobackend.cpp
-infobackend.h
-infocdbbackend.cpp
-infocdbbackend.h
-infokeydata.h
-infoxmlbackend.cpp
-infoxmlbackend.h
-infoxmlbackendunittest
-infoxmlkeysfinder.cpp
-infoxmlkeysfinder.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
-nanoxml.cpp
-nanoxml.h
-contextproviderinfo.h
diff --git a/libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in b/libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in
new file mode 100644
index 00000000..d0236a94
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in
@@ -0,0 +1,721 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = infoxmlbackendunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/infoxmlbackend
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = infobackend.$(OBJEXT) infoxmlbackend.$(OBJEXT) \
+ cdbreader.$(OBJEXT) infocdbbackend.$(OBJEXT) nanoxml.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_infoxmlbackendunittest_OBJECTS = infoxmlbackendunittest.$(OBJEXT)
+nodist_infoxmlbackendunittest_OBJECTS = mocs.$(OBJEXT)
+infoxmlbackendunittest_OBJECTS = $(am_infoxmlbackendunittest_OBJECTS) \
+ $(nodist_infoxmlbackendunittest_OBJECTS)
+infoxmlbackendunittest_LDADD = $(LDADD)
+infoxmlbackendunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(infoxmlbackendunittest_SOURCES) \
+ $(nodist_infoxmlbackendunittest_SOURCES)
+DIST_SOURCES = $(infoxmlbackendunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+infoxmlbackendunittest_SOURCES = infoxmlbackendunittest.cpp
+COVERAGE_FILES = infoxmlbackend.cpp
+EXTRA_DIST = providers1.src providers2v1.src providers2v2.src providers3.src providers4.src providers5.src
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) -I$(srcdir)/../util/ \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DDEFAULT_CONTEXT_CORE_DECLARATIONS="@datadir@/contextkit/core.context"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = \
+ infobackend.cpp infoxmlbackend.cpp \
+ cdbreader.h cdbreader.cpp \
+ infobackend.h \
+ infoxmlbackend.h \
+ infocdbbackend.h \
+ infocdbbackend.cpp \
+ infokeydata.h \
+ loggingfeatures.h \
+ nanoxml.cpp \
+ nanoxml.h \
+ contextproviderinfo.h
+
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_infoxmlbackendunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(infoxmlbackendunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/infoxmlbackend/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/infoxmlbackend/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+infoxmlbackendunittest$(EXEEXT): $(infoxmlbackendunittest_OBJECTS) $(infoxmlbackendunittest_DEPENDENCIES)
+ @rm -f infoxmlbackendunittest$(EXEEXT)
+ $(CXXLINK) $(infoxmlbackendunittest_OBJECTS) $(infoxmlbackendunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infobackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infocdbbackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infoxmlbackend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infoxmlbackendunittest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoxml.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+infoxmlbackendunittest.o: infoxmlbackendunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/nanoxml/.gitignore b/libcontextsubscriber/unit-tests/nanoxml/.gitignore
deleted file mode 100644
index 3f9b05da..00000000
--- a/libcontextsubscriber/unit-tests/nanoxml/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-loggingfeatures.h
-nanoxml.cpp
-nanoxml.h
-nanoxmlunittest
diff --git a/libcontextsubscriber/unit-tests/nanoxml/Makefile.in b/libcontextsubscriber/unit-tests/nanoxml/Makefile.in
new file mode 100644
index 00000000..470b3e8a
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/nanoxml/Makefile.in
@@ -0,0 +1,703 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = nanoxmlunittest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/nanoxml
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = nanoxml.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_nanoxmlunittest_OBJECTS = nanoxmlunittest.$(OBJEXT)
+nodist_nanoxmlunittest_OBJECTS = mocs.$(OBJEXT)
+nanoxmlunittest_OBJECTS = $(am_nanoxmlunittest_OBJECTS) \
+ $(nodist_nanoxmlunittest_OBJECTS)
+nanoxmlunittest_LDADD = $(LDADD)
+nanoxmlunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(nanoxmlunittest_SOURCES) \
+ $(nodist_nanoxmlunittest_SOURCES)
+DIST_SOURCES = $(nanoxmlunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# test's sources
+nanoxmlunittest_SOURCES = nanoxmlunittest.cpp
+COVERAGE_FILES = nanoxml.cpp
+EXTRA_DIST = test1.xml broken.xml test2.xml test3.xml test4.xml
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtXml_CFLAGS) -I$(srcdir)/../util/ $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = nanoxml.cpp nanoxml.h loggingfeatures.h # copy these files from the real source
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_nanoxmlunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(nanoxmlunittest_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/nanoxml/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/nanoxml/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+nanoxmlunittest$(EXEEXT): $(nanoxmlunittest_OBJECTS) $(nanoxmlunittest_DEPENDENCIES)
+ @rm -f nanoxmlunittest$(EXEEXT)
+ $(CXXLINK) $(nanoxmlunittest_OBJECTS) $(nanoxmlunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoxml.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoxmlunittest.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+
+# when MOCing from .cpp file, you also has to help the dependency tracker
+nanoxmlunittest.o: nanoxmlunittest.moc
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/propertyhandle/.gitignore b/libcontextsubscriber/unit-tests/propertyhandle/.gitignore
deleted file mode 100644
index a0f647c6..00000000
--- a/libcontextsubscriber/unit-tests/propertyhandle/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-propertyhandle.cpp
-propertyhandle.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
-contextproviderinfo.h
diff --git a/libcontextsubscriber/unit-tests/propertyhandle/Makefile.in b/libcontextsubscriber/unit-tests/propertyhandle/Makefile.in
new file mode 100644
index 00000000..50904101
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/propertyhandle/Makefile.in
@@ -0,0 +1,708 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = propertyhandle-unit-tests$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/propertyhandle
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = propertyhandle.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_propertyhandle_unit_tests_OBJECTS = testpropertyhandle.$(OBJEXT)
+nodist_propertyhandle_unit_tests_OBJECTS = mocs.$(OBJEXT)
+propertyhandle_unit_tests_OBJECTS = \
+ $(am_propertyhandle_unit_tests_OBJECTS) \
+ $(nodist_propertyhandle_unit_tests_OBJECTS)
+propertyhandle_unit_tests_LDADD = $(LDADD)
+propertyhandle_unit_tests_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) \
+ $(propertyhandle_unit_tests_SOURCES) \
+ $(nodist_propertyhandle_unit_tests_SOURCES)
+DIST_SOURCES = $(propertyhandle_unit_tests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+propertyhandle_unit_tests_SOURCES = testpropertyhandle.cpp \
+ testpropertyhandle.h provider.h dbusnamelistener.h \
+ contextpropertyinfo.h contextregistryinfo.h
+
+
+# only include these files in the coverage
+COVERAGE_FILES = propertyhandle.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+# copy these files from the real source
+FROM_SOURCE = propertyhandle.cpp propertyhandle.h loggingfeatures.h contextproviderinfo.h
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_propertyhandle_unit_tests_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(propertyhandle_unit_tests_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/propertyhandle/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/propertyhandle/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+propertyhandle-unit-tests$(EXEEXT): $(propertyhandle_unit_tests_OBJECTS) $(propertyhandle_unit_tests_DEPENDENCIES)
+ @rm -f propertyhandle-unit-tests$(EXEEXT)
+ $(CXXLINK) $(propertyhandle_unit_tests_OBJECTS) $(propertyhandle_unit_tests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyhandle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpropertyhandle.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/provider/.gitignore b/libcontextsubscriber/unit-tests/provider/.gitignore
deleted file mode 100644
index 6d1bc189..00000000
--- a/libcontextsubscriber/unit-tests/provider/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-contextproviderinfo.h
-iproviderplugin.h
-provider.cpp
-provider.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
diff --git a/libcontextsubscriber/unit-tests/provider/Makefile.in b/libcontextsubscriber/unit-tests/provider/Makefile.in
new file mode 100644
index 00000000..4a5b65dd
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/provider/Makefile.in
@@ -0,0 +1,707 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# nodist_yourtarget_SOURCES = mocs.cpp
+# QT_TOMOC = $(filter %.h, $(yourtarget_SOURCES))
+# ^^^^ or you can use explicit header file listing here
+# include $(top_srcdir)/am/qt.am
+
+# main.o: main.moc
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = provider-unit-tests$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am \
+ $(top_srcdir)/am/tests.am
+subdir = libcontextsubscriber/unit-tests/provider
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = provider.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_provider_unit_tests_OBJECTS = testprovider.$(OBJEXT)
+nodist_provider_unit_tests_OBJECTS = mocs.$(OBJEXT)
+provider_unit_tests_OBJECTS = $(am_provider_unit_tests_OBJECTS) \
+ $(nodist_provider_unit_tests_OBJECTS)
+provider_unit_tests_LDADD = $(LDADD)
+provider_unit_tests_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(provider_unit_tests_SOURCES) \
+ $(nodist_provider_unit_tests_SOURCES)
+DIST_SOURCES = $(provider_unit_tests_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# tests should be always debuggable, can't use AM_CXXFLAGS, because
+# that is too early
+CXXFLAGS = @CXXFLAGS@ -O0 -g
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# your test's sources
+provider_unit_tests_SOURCES = testprovider.cpp testprovider.h \
+ queuedinvoker.h contextkitplugin.h handlesignalrouter.h
+
+
+# only include these files in the coverage
+COVERAGE_FILES = provider.cpp
+
+# do the testing, coverage, etc. stuff
+# tests.am is using +=, so we have to set a value here for these four always
+
+# include header files from source as a last resource and use QTest, coverage
+AM_CXXFLAGS = $(QtDBus_CFLAGS) \
+ '-DDEFAULT_CONTEXT_SUBSCRIBER_PLUGINS="@libdir@/contextkit/subscriber-plugins"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtDBus_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+# copy these files from the real source
+FROM_SOURCE = provider.cpp provider.h iproviderplugin.h \
+ loggingfeatures.h contextproviderinfo.h
+
+FROM_SOURCE_DIR = $(srcdir)/../../src
+LDADD = $(check_LIBRARIES) $(top_builddir)/common/libcommon.la # add \
+ it to the linking
+
+# run every binary
+TESTS = $(check_PROGRAMS)
+@CONTEXTKIT_COVERAGE_FALSE@COV_CXXFLAGS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_CXXFLAGS = -ftest-coverage -fprofile-arcs -fno-elide-constructors
+@CONTEXTKIT_COVERAGE_FALSE@COV_LIBS =
+@CONTEXTKIT_COVERAGE_TRUE@COV_LIBS = -lgcov
+
+# We need to put $(FROM_SOURCE) into BUILT_SOURCES so that header
+# files are copied before they are needed.
+BUILT_SOURCES = $(FROM_SOURCE)
+check_LIBRARIES = libsrc.a # library built from files in the real source
+nodist_libsrc_a_SOURCES = $(FROM_SOURCE)
+SELECTED_FOR_COVERAGE = $(patsubst %.cpp, '*/unit-tests/*/%.cpp', $(COVERAGE_FILES))
+nodist_provider_unit_tests_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(provider_unit_tests_SOURCES) $(FROM_SOURCE))
+QT_MOCS = $(QT_TOMOC:%.h=moc_%_h.cpp)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/am/tests.am $(top_srcdir)/am/covoptioncheck.am $(top_srcdir)/am/qt.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/provider/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/provider/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libsrc.a: $(libsrc_a_OBJECTS) $(libsrc_a_DEPENDENCIES)
+ -rm -f libsrc.a
+ $(libsrc_a_AR) libsrc.a $(libsrc_a_OBJECTS) $(libsrc_a_LIBADD)
+ $(RANLIB) libsrc.a
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+provider-unit-tests$(EXEEXT): $(provider_unit_tests_OBJECTS) $(provider_unit_tests_DEPENDENCIES)
+ @rm -f provider-unit-tests$(EXEEXT)
+ $(CXXLINK) $(provider_unit_tests_OBJECTS) $(provider_unit_tests_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mocs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/provider.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testprovider.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am
+
+
+# recompile every file %.cpp in FROM_SOURCE as src_%.o in the current
+# test directory (so the mock objects don't have to be ABI compatible)
+$(FROM_SOURCE): %: $(FROM_SOURCE_DIR)/%
+ ln -sf $< $@
+
+covdircheck:
+ @if test "$(COVERAGE_FILES)" = "" ; then \
+ echo "The directory hasn't been configured for coverage, please add COVERAGE_FILES variable to Makefile.am"; \
+ exit 2; \
+ fi
+coverage: covoptioncheck covdircheck check
+ @echo "building coverage"
+ mkdir -p coverage
+ lcov --directory . --capture --output-file coverage/all.cov
+ lcov --extract coverage/all.cov $(SELECTED_FOR_COVERAGE) --output-file coverage/selected.cov
+ lcov --extract coverage/all.cov '*/unit-tests/*/*.cpp' --output-file coverage/src.cov
+ genhtml -o coverage/ coverage/src.cov
+
+clean-local:
+ rm -rf coverage *.gcno *.gcda *.gcov $(FROM_SOURCE)
+
+# in maintainer mode, compile everything at make time, not at make check time
+all-am:
+ if test "$(USE_MAINTAINER_MODE)" = yes; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS); \
+ fi
+
+$(top_builddir)/common/libcommon.la:
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck $(top_builddir)/common/libcommon.la
+@CONTEXTKIT_COVERAGE_TRUE@covoptioncheck: # ok, we have coverage
+@CONTEXTKIT_COVERAGE_FALSE@covoptioncheck:
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "The project has not been configured for coverage, check that you have gcov, lcov."
+@CONTEXTKIT_COVERAGE_FALSE@ @echo "Of course, do not use --disable-coverage"
+@CONTEXTKIT_COVERAGE_FALSE@ @exit 1
+
+.PHONY: covoptioncheck
+
+# mocs.cpp depends on Makefile so that it is also regenerated when an
+# entry is removed from QT_MOCS.
+
+mocs.cpp: $(QT_MOCS) Makefile
+ cat $(QT_MOCS) >mocs.cpp
+
+moc_%_h.cpp: %.h
+ $(MOC) -o "$@" "$<"
+
+%.moc: %.cpp
+ $(MOC) -o "$@" "$<"
+
+clean-moc-extra:
+ rm -f moc_*.cpp mocs.cpp *.moc mocs.lo
+
+clean-local: clean-moc-extra
+
+.PHONY: clean-moc-extra
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/unit-tests/util/Makefile.in b/libcontextsubscriber/unit-tests/util/Makefile.in
new file mode 100644
index 00000000..59d38097
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/util/Makefile.in
@@ -0,0 +1,369 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libcontextsubscriber/unit-tests/util
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = fileutils.h
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/util/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/util/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/update-contextkit-providers/Makefile.in b/libcontextsubscriber/update-contextkit-providers/Makefile.in
new file mode 100644
index 00000000..ca5a34eb
--- /dev/null
+++ b/libcontextsubscriber/update-contextkit-providers/Makefile.in
@@ -0,0 +1,523 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = update-contextkit-providers$(EXEEXT)
+subdir = libcontextsubscriber/update-contextkit-providers
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_update_contextkit_providers_OBJECTS = \
+ update-contextkit-providers.$(OBJEXT)
+update_contextkit_providers_OBJECTS = \
+ $(am_update_contextkit_providers_OBJECTS)
+update_contextkit_providers_DEPENDENCIES = \
+ ../src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(update_contextkit_providers_SOURCES)
+DIST_SOURCES = $(update_contextkit_providers_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+update_contextkit_providers_SOURCES = update-contextkit-providers.cpp
+AM_CXXFLAGS = -I$(srcdir)/../src $(QtXml_CFLAGS) $(QtCore_CFLAGS) $(QtDBus_CFLAGS) \
+ '-DDEFAULT_CONTEXT_PROVIDERS="@datadir@/contextkit/providers/"' \
+ '-DCONTEXT_LOG_MODULE_NAME="update-contextkit-providers"'
+
+AM_LDFLAGS = $(QtXml_LIBS) $(QtCore_LIBS)
+
+# library dependency hack for seamless make in update-contextkit-providers/
+update_contextkit_providers_LDADD = ../src/libcontextsubscriber.la
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libcontextsubscriber/update-contextkit-providers/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/update-contextkit-providers/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+update-contextkit-providers$(EXEEXT): $(update_contextkit_providers_OBJECTS) $(update_contextkit_providers_DEPENDENCIES)
+ @rm -f update-contextkit-providers$(EXEEXT)
+ $(CXXLINK) $(update_contextkit_providers_OBJECTS) $(update_contextkit_providers_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/update-contextkit-providers.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-binPROGRAMS
+
+../src/libcontextsubscriber.la:
+ $(MAKE) -C ../src libcontextsubscriber.la
+.PHONY: ../src/libcontextsubscriber.la
+
+# moccing
+# Note: enable these 2 lines when there is something to mock
+#nodist_update_contextkit_providers_SOURCES = mocs.cpp
+#QT_TOMOC = $(filter %.h, $(update_contextkit_providers_SOURCES))
+#include $(top_srcdir)/am/qt.am
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libcontextsubscriber/update-contextkit-providers/cache.cdb b/libcontextsubscriber/update-contextkit-providers/cache.cdb
deleted file mode 100644
index 47474a26..00000000
--- a/libcontextsubscriber/update-contextkit-providers/cache.cdb
+++ /dev/null
Binary files differ
diff --git a/ltmain.sh b/ltmain.sh
new file mode 100755
index 00000000..ba8d7aee
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,8427 @@
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print informational messages (default)
+# --version print version information
+# -h, --help print short or long help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-1ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="2.2.6 Debian-2.2.6a-1ubuntu1"
+TIMESTAMP=""
+package_revision=1.3012
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+ -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=:
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$opt_dry_run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+ $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "X$1" | $Xsed \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $SED -n '/^# Usage:/,/# -h/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ $ECHO
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ func_error "missing argument for $1"
+ exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell, and then maybe $ECHO will work.
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ $ECHO "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ $ECHO "enable shared libraries"
+ else
+ $ECHO "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ $ECHO "enable static libraries"
+ else
+ $ECHO "disable static libraries"
+ fi
+
+ exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# Parse options once, thoroughly. This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ esac
+
+ # Parse non-mode specific arguments:
+ while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --config) func_config ;;
+
+ --debug) preserve_args="$preserve_args $opt"
+ func_echo "enabling shell trace mode"
+ opt_debug='set -x'
+ $opt_debug
+ ;;
+
+ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ execute_dlfiles="$execute_dlfiles $1"
+ shift
+ ;;
+
+ --dry-run | -n) opt_dry_run=: ;;
+ --features) func_features ;;
+ --finish) mode="finish" ;;
+
+ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ case $1 in
+ # Valid mode arguments:
+ clean) ;;
+ compile) ;;
+ execute) ;;
+ finish) ;;
+ install) ;;
+ link) ;;
+ relink) ;;
+ uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+
+ mode="$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_duplicate_deps=: ;;
+
+ --quiet|--silent) preserve_args="$preserve_args $opt"
+ opt_silent=:
+ ;;
+
+ --verbose| -v) preserve_args="$preserve_args $opt"
+ opt_silent=false
+ ;;
+
+ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ preserve_args="$preserve_args $opt $1"
+ func_enable_tag "$1" # tagname is set here
+ shift
+ ;;
+
+ # Separate optargs to long options:
+ -dlopen=*|--mode=*|--tag=*)
+ func_opt_split "$opt"
+ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) opt_help=: ;;
+ --version) func_version ;;
+
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+
+ *) nonopt="$opt"
+ break
+ ;;
+ esac
+ done
+
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+ ;;
+ esac
+
+ # Having warned about all mis-specified options, bail out if
+ # anything was wrong.
+ $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+$opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_ltwrapper_scriptname_result=""
+ if func_ltwrapper_executable_p "$1"; then
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case "$@ " in
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ pie_flag="$pie_flag $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ later="$later $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$arg"
+ lastarg="$lastarg $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ base_compile="$base_compile $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_quote_for_eval "$lastarg"
+ base_compile="$base_compile $func_quote_for_eval_result"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ removelist="$removelist $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ removelist="$removelist $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ if test -n "$fix_srcfile_path"; then
+ eval srcfile=\"$fix_srcfile_path\"
+ fi
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ command="$command -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ command="$command -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ command="$command$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$mode'"
+ ;;
+ esac
+
+ $ECHO
+ $ECHO "Try \`$progname --help' for more information about other modes."
+
+ exit $?
+}
+
+ # Now that we've collected a possible --mode arg, show help if necessary
+ $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_quote_for_eval "$file"
+ args="$args $func_quote_for_eval_result"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ $ECHO "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ $ECHO "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ $ECHO
+ $ECHO "If you ever happen to want to link against installed libraries"
+ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ $ECHO "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ $ECHO " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
+ $ECHO " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ $ECHO
+
+ $ECHO "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ $ECHO "pages."
+ ;;
+ *)
+ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog$func_quote_for_eval_result"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ case " $install_prog " in
+ *[\\\ /]cp\ *) ;;
+ *) prev=$arg ;;
+ esac
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_verbose "extracting global C symbols from \`$progfile'"
+ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+ runtime relocations are performed -- see ld's documentation
+ on pseudo-relocs. */"
+ lt_dlsym_const= ;;
+ *osf5*)
+ echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+ lt_dlsym_const= ;;
+ *)
+ lt_dlsym_const=const ;;
+ esac
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) symtab_cflags="$symtab_cflags $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+ func_emit_wrapper_part1_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part1_arg1=$1
+ fi
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ ECHO=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$ECHO works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$ECHO will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $ECHO "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+ func_emit_wrapper_part2_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part2_arg1=$1
+ fi
+
+ $ECHO "\
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_arg1=$1
+ fi
+
+ # split this up so that func_emit_cwrapperexe_src
+ # can call each part independently.
+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin. Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+ func_to_host_path_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+ *mingw* ) # actually, msys
+ # awkward: cmd appends spaces to result
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # Unfortunately, winepath does not exit with a non-zero
+ # error code, so we are forced to check the contents of
+ # stdout. On the other hand, if the command is not
+ # found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both
+ # error code of zero AND non-empty stdout, which explains
+ # the odd construction:
+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ # Allow warning below.
+ func_to_host_path_result=""
+ fi
+ ;;
+ esac
+ if test -z "$func_to_host_path_result" ; then
+ func_error "Could not determine host path corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_path_result="$1"
+ fi
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+ func_to_host_pathlist_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_to_host_pathlist_tmp2="$1"
+ # Once set for this call, this variable should not be
+ # reassigned. It is used in tha fallback case.
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+ *mingw* ) # Actually, msys.
+ # Awkward: cmd appends spaces to result.
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # unfortunately, winepath doesn't convert pathlists
+ func_to_host_pathlist_result=""
+ func_to_host_pathlist_oldIFS=$IFS
+ IFS=:
+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+ IFS=$func_to_host_pathlist_oldIFS
+ if test -n "$func_to_host_pathlist_f" ; then
+ func_to_host_path "$func_to_host_pathlist_f"
+ if test -n "$func_to_host_path_result" ; then
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_to_host_pathlist_result="$func_to_host_path_result"
+ else
+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ fi
+ fi
+ fi
+ IFS=:
+ done
+ IFS=$func_to_host_pathlist_oldIFS
+ ;;
+ esac
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_error "Could not determine the host path(s) corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This may break if $1 contains DOS-style drive
+ # specifications. The fix is not to complicate the expression
+ # below, but for the user to provide a working wine installation
+ # with winepath so that path translation in the cross-to-mingw
+ # case works properly.
+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
+ fi
+ # Now, add the leading and trailing path separators back
+ case "$1" in
+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+ ;;
+ esac
+ case "$1" in
+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+
+ Currently, it simply execs the wrapper *script* "$SHELL $output",
+ but could eventually absorb all of the scripts functionality and
+ exec $objdir/$outputname directly.
+*/
+EOF
+ cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# define HAVE_SETENV
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+ va_list args;
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+ func_emit_wrapper_part1 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+ cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+ func_emit_wrapper_part2 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+
+ cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_pathlist "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_pathlist "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+ /* very simple arg parsing; don't want to rely on getopt */
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ printf ("%s", script_text_part1);
+ printf ("%s", script_text_part2);
+ return 0;
+ }
+ }
+
+ newargz = XMALLOC (char *, argc + 1);
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal ("Couldn't find %s", argv[0]);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+ tmp_pathspec));
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+ actual_cwrapper_path));
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+ target_name));
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+ {
+ if (argv[i][env_set_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_set_opt_len + 1;
+ lt_opt_process_env_set (p);
+ }
+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_set (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_set_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+ {
+ if (argv[i][env_prepend_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_prepend_opt_len + 1;
+ lt_opt_process_env_prepend (p);
+ }
+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_prepend_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+ {
+ if (argv[i][env_append_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_append_opt_len + 1;
+ lt_opt_process_env_append (p);
+ }
+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_append (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_append_opt);
+ continue;
+ }
+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ for (i = 0; i < newargc; i++)
+ {
+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal ("Memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+ tmp_pathspec));
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ char *errstr = strerror (errno);
+ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal ("Could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s: %s: ", program_name, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+ const char *p;
+ int len;
+ if (!arg || !*arg)
+ return 1;
+
+ p = strchr (arg, (int)'=');
+
+ if (!p)
+ return 1;
+
+ *value = xstrdup (++p);
+
+ len = strlen (arg) - strlen (*value);
+ *name = XMALLOC (char, len);
+ strncpy (*name, arg, len-1);
+ (*name)[len - 1] = '\0';
+
+ return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+ }
+
+ lt_setenv (name, value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 1);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ else
+ dlprefiles="$dlprefiles $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# moreargs="$moreargs $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) rpath="$rpath $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) xrpath="$xrpath $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ weak_libs="$weak_libs $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname '-L' '' "$arg"
+ dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "*) ;;
+ *)
+ deplibs="$deplibs -L$dir"
+ lib_search_path="$lib_search_path $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) dllsearchpath="$dllsearchpath:$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ deplibs="$deplibs System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot)
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,--as-needed)
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+ linker_flags="$linker_flags $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
+ # -q* pass through compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ compiler_flags="$compiler_flags $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ objs="$objs $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ deplibs="$deplibs $arg"
+ old_deplibs="$old_deplibs $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ dlfiles="$dlfiles $arg"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ dlprefiles="$dlprefiles $arg"
+ prev=
+ else
+ deplibs="$deplibs $arg"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_duplicate_deps ; then
+ case "$libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ libs="$libs $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+ esac
+ pre_post_deps="$pre_post_deps $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ case $lib in
+ *.la) func_source "$lib" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) deplibs="$deplibs $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -Wl,--as-needed)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ fi
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ dir=$func_stripname_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la) lib="$deplib" ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ $ECHO
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+ $ECHO "*** that it is just a static archive that I should not use here."
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ newdlprefiles="$newdlprefiles $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ newdlfiles="$newdlfiles $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ convenience="$convenience $ladir/$objdir/$old_library"
+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ dlprefiles="$dlprefiles $lib $dependency_libs"
+ else
+ newdlfiles="$newdlfiles $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ newdlprefiles="$newdlprefiles $dir/$dlname"
+ else
+ newdlprefiles="$newdlprefiles $dir/$linklib"
+ fi
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ newlib_search_path="$newlib_search_path $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) temp_rpath="$temp_rpath$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ $ECHO
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ $ECHO
+ $ECHO "*** And there doesn't seem to be a static archive available"
+ $ECHO "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$dir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ $ECHO
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ $ECHO "*** But as you try to build a module library, libtool will still create "
+ $ECHO "*** a static module, that should work as long as the dlopening application"
+ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) xrpath="$xrpath $temp_xrpath";;
+ esac;;
+ *) temp_deplibs="$temp_deplibs $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ newlib_search_path="$newlib_search_path $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_dirname "$deplib" "" "."
+ dir="$func_dirname_result"
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) lib_search_path="$lib_search_path $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ tmp_libs="$tmp_libs $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ objs="$objs$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ libobjs="$libobjs $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ libobjs="$libobjs $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ removelist="$removelist $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ temp_xrpath="$temp_xrpath -R$libdir"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) dlfiles="$dlfiles $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) dlprefiles="$dlprefiles $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ deplibs="$deplibs System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ deplibs="$deplibs -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which I believe you do not have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ newdeplibs="$newdeplibs $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ $ECHO "*** make it link in! You will probably need to install it or some"
+ $ECHO "*** library that it depends on before this library will be fully"
+ $ECHO "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ newdeplibs="$newdeplibs $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+ done
+ fi
+ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
+ $GREP . >/dev/null; then
+ $ECHO
+ if test "X$deplibs_check_method" = "Xnone"; then
+ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ $ECHO "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ fi
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ $ECHO
+ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ $ECHO "*** a static module, that should work as long as the dlopening"
+ $ECHO "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ $ECHO "*** The inter-library dependencies that have been dropped here will be"
+ $ECHO "*** automatically added whenever a program is linked with this library"
+ $ECHO "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ $ECHO
+ $ECHO "*** Since this library must not contain undefined symbols,"
+ $ECHO "*** because either the platform does not support them or"
+ $ECHO "*** it was explicitly requested with -no-undefined,"
+ $ECHO "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ dep_rpath="$dep_rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ else
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ linknames="$linknames $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ delfiles="$delfiles $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ func_len " $cmd"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ linker_flags="$linker_flags $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ $ECHO 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ $ECHO "$obj" >> $output
+ done
+ $ECHO ')' >> $output
+ delfiles="$delfiles $output"
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ $ECHO "$obj" >> $output
+ done
+ delfiles="$delfiles $output"
+ output=$firstobj\"$file_list_spec$output\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=$obj
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ delfiles="$delfiles $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
+
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ compile_command="$compile_command $compile_deplibs"
+ finalize_command="$finalize_command $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) dllsearchpath="$dllsearchpath:$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=yes
+ case $host in
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *cegcc)
+ # Disable wrappers for cegcc, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Quote $ECHO for shipping.
+ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+ case $progpath in
+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+ esac
+ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ else
+ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ oldobjs="$oldobjs $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $addlibs
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ $ECHO "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ oldobjs="$oldobjs $gentop/$newobj"
+ ;;
+ *) oldobjs="$oldobjs $obj" ;;
+ esac
+ done
+ fi
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ newdependency_libs="$newdependency_libs $libdir/$name"
+ ;;
+ *) newdependency_libs="$newdependency_libs $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlfiles="$newdlfiles $libdir/$name"
+ ;;
+ *) newdlfiles="$newdlfiles $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlfiles="$newdlfiles $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlprefiles="$newdlprefiles $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) RM="$RM $arg"; rmforce=yes ;;
+ -*) RM="$RM $arg" ;;
+ *) files="$files $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ origobjdir="$objdir"
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ objdir="$origobjdir"
+ else
+ objdir="$dir/$origobjdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$mode" = uninstall && objdir="$dir"
+
+ # Remember objdir for removal later, being careful to avoid duplicates
+ if test "$mode" = clean; then
+ case " $rmdirs " in
+ *" $objdir "*) ;;
+ *) rmdirs="$rmdirs $objdir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $objdir/$n"
+ done
+ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+ case "$mode" in
+ clean)
+ case " $library_names " in
+ # " " in the beginning catches empty $dlname
+ *" $dlname "*) ;;
+ *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ esac
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ rmfiles="$rmfiles $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ rmfiles="$rmfiles $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ rmfiles="$rmfiles $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ rmfiles="$rmfiles $objdir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+ objdir="$origobjdir"
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/ltmain.sh.as-needed.patch b/ltmain.sh.as-needed.patch
deleted file mode 100644
index c9c12b4f..00000000
--- a/ltmain.sh.as-needed.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- ltmain.sh 2009-09-11 11:29:46.000000000 +0300
-+++ ltmain.sh-good 2009-09-11 11:28:46.000000000 +0300
-@@ -4716,6 +4716,11 @@
- arg=$func_stripname_result
- ;;
-
-+ -Wl,--as-needed)
-+ deplibs="$deplibs $arg"
-+ continue
-+ ;;
-+
- -Wl,*)
- func_stripname '-Wl,' '' "$arg"
- args=$func_stripname_result
-@@ -5070,6 +5075,16 @@
- lib=
- found=no
- case $deplib in
-+ -Wl,--as-needed)
-+ if test "$linkmode,$pass" = "prog,link"; then
-+ compile_deplibs="$deplib $compile_deplibs"
-+ finalize_deplibs="$deplib $finalize_deplibs"
-+ else
-+ deplibs="$deplib $deplibs"
-+ fi
-+ continue
-+ ;;
-+
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
diff --git a/m4/.gitignore b/m4/.gitignore
deleted file mode 100644
index 8bab51c2..00000000
--- a/m4/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-libtool.m4
-ltoptions.m4
-ltsugar.m4
-ltversion.m4
-lt~obsolete.m4
-
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 00000000..2ca1c1f5
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7373 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+ ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+ lt_cl_success=:
+ test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+ exec AS_MESSAGE_LOG_FD>/dev/null
+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+ exec AS_MESSAGE_LOG_FD>>config.log
+ $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_XSI_SHELLFNS
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<_LT_EOF
+[$]*
+_LT_EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
+
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+ [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[123]]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(int foo(void) {},
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ )
+ LDFLAGS="$save_LDFLAGS"
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+ [[If ld is used when linking, flag to hardcode $libdir into a binary
+ during linking. This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+ [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${F77-"f77"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${FC-"f95"}
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]+=\$[2]"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+ ;;
+ esac
+])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 00000000..34151a3b
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,368 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 00000000..9000a057
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 00000000..b8e154fe
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 00000000..637bb206
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/makedeb b/makedeb
deleted file mode 100755
index 8d4b1992..00000000
--- a/makedeb
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-
-set -e
-
-if [ -z $1 ]; then
- echo "Please give a repository with the packaging in."
- exit 1
-fi
-
-repo=$1
-VERSION=$(make version)
-srcdir=$PWD
-pkgbuilddir=$srcdir/_package
-upstream_name=ContextKit
-deb_source_name=contextkit
-
-deb_orig_name=$deb_source_name'_'$VERSION.orig.tar.gz
-
-cd $srcdir && make dist distdir=$deb_source_name-$VERSION
-
-rm -rf $pkgbuilddir
-
-mkdir $pkgbuilddir
-mv $srcdir/$deb_source_name-$VERSION.tar.gz $pkgbuilddir/$deb_orig_name
-tar -C $pkgbuilddir -xzf $pkgbuilddir/$deb_orig_name
-
-git clone $repo $pkgbuilddir/$upstream_name-packaging
-
-cp -r $pkgbuilddir/$upstream_name-packaging/debian $pkgbuilddir/$deb_source_name-$VERSION/
-
-if cd $pkgbuilddir/$deb_source_name-$VERSION && dch -d -D harmattan; then
- read -p "Push this version to packaging? [y] "
- if [ "x$REPLY" = "x" -o "x$REPLY" = "xy" ]; then
- cp $pkgbuilddir/$deb_source_name-$VERSION/debian/changelog $pkgbuilddir/$upstream_name-packaging/debian/changelog
- cd $pkgbuilddir/$upstream_name-packaging
- git commit debian/changelog -m "New version"
- git push
- fi
- cd $pkgbuilddir/$deb_source_name-$VERSION/ && debuild -S -sa -d -us -uc
-fi
-
diff --git a/missing b/missing
new file mode 100755
index 00000000..1c8ff704
--- /dev/null
+++ b/missing
@@ -0,0 +1,367 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+ lex|yacc)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG="\${$#}"
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case $firstarg in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case $firstarg in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/myfilter.conf b/myfilter.conf
deleted file mode 100644
index 38ef3870..00000000
--- a/myfilter.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-# AsciiDoc filter for graphviz
-
-[svg-template]
-<div class="svg">
-<div class="title">{title}</div>
-<object type="image/svg+xml" data="{file}"></object>
-</div>
-
-[blockdef-filter]
-ifdef::backend-xhtml11[]
-dotty-style=template="svg-template",subs=(),posattrs=("style","file"),filter="dot -Tsvg -o{outdir}/{file}; echo"
-endif::backend-xhtml11[]
-
-[macros]
-(?su)[\\]?(?P<name>api):(?P<target>\S*?)(\[(?P<attrlist>.*?)\])=
-
-[api-inlinemacro]
-<a href="../{target}/index.html">{0=<tt>{target}</tt>}</a>
diff --git a/py-compile b/py-compile
new file mode 100755
index 00000000..d6e900b3
--- /dev/null
+++ b/py-compile
@@ -0,0 +1,146 @@
+#!/bin/sh
+# py-compile - Compile a Python program
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+if [ -z "$PYTHON" ]; then
+ PYTHON=python
+fi
+
+basedir=
+destdir=
+files=
+while test $# -ne 0; do
+ case "$1" in
+ --basedir)
+ basedir=$2
+ if test -z "$basedir"; then
+ echo "$0: Missing argument to --basedir." 1>&2
+ exit 1
+ fi
+ shift
+ ;;
+ --destdir)
+ destdir=$2
+ if test -z "$destdir"; then
+ echo "$0: Missing argument to --destdir." 1>&2
+ exit 1
+ fi
+ shift
+ ;;
+ -h|--h*)
+ cat <<\EOF
+Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..."
+
+Byte compile some python scripts FILES. Use --destdir to specify any
+leading directory path to the FILES that you don't want to include in the
+byte compiled file. Specify --basedir for any additional path information you
+do want to be shown in the byte compiled file.
+
+Example:
+ py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v|--v*)
+ echo "py-compile $scriptversion"
+ exit $?
+ ;;
+ *)
+ files="$files $1"
+ ;;
+ esac
+ shift
+done
+
+if test -z "$files"; then
+ echo "$0: No files given. Try \`$0 --help' for more information." 1>&2
+ exit 1
+fi
+
+# if basedir was given, then it should be prepended to filenames before
+# byte compilation.
+if [ -z "$basedir" ]; then
+ pathtrans="path = file"
+else
+ pathtrans="path = os.path.join('$basedir', file)"
+fi
+
+# if destdir was given, then it needs to be prepended to the filename to
+# byte compile but not go into the compiled file.
+if [ -z "$destdir" ]; then
+ filetrans="filepath = path"
+else
+ filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
+fi
+
+$PYTHON -c "
+import sys, os, string, py_compile
+
+files = '''$files'''
+
+print 'Byte-compiling python modules...'
+for file in string.split(files):
+ $pathtrans
+ $filetrans
+ if not os.path.exists(filepath) or not (len(filepath) >= 3
+ and filepath[-3:] == '.py'):
+ continue
+ print file,
+ sys.stdout.flush()
+ py_compile.compile(filepath, filepath + 'c', path)
+print" || exit $?
+
+# this will fail for python < 1.5, but that doesn't matter ...
+$PYTHON -O -c "
+import sys, os, string, py_compile
+
+files = '''$files'''
+print 'Byte-compiling python modules (optimized versions) ...'
+for file in string.split(files):
+ $pathtrans
+ $filetrans
+ if not os.path.exists(filepath) or not (len(filepath) >= 3
+ and filepath[-3:] == '.py'):
+ continue
+ print file,
+ sys.stdout.flush()
+ py_compile.compile(filepath, filepath + 'o', path)
+print" 2>/dev/null || :
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/python/Makefile.in b/python/Makefile.in
new file mode 100644
index 00000000..2574e3ba
--- /dev/null
+++ b/python/Makefile.in
@@ -0,0 +1,495 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = python
+DIST_COMMON = README $(dist_bin_SCRIPTS) $(dist_man_MANS) \
+ $(pkgpython_PYTHON) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgpythondir)" \
+ "$(DESTDIR)$(man1dir)"
+dist_binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+SCRIPTS = $(dist_bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+pkgpythonPYTHON_INSTALL = $(INSTALL_DATA)
+py_compile = $(top_srcdir)/py-compile
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(dist_man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_man_MANS = context-provide.1
+dist_bin_SCRIPTS = context-provide context-rlwrap
+pkgpython_PYTHON = ContextKit/flexiprovider.py \
+ ContextKit/ContextProvider.py \
+ ContextKit/CTypesHelpers.py ContextKit/__init__.py \
+ ContextKit/cltool.py
+
+EXTRA_DIST = README simple.py complex.py
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign python/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign python/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f $$d$$p; then \
+ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+ echo " $(dist_binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(dist_binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-dist_binSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_bin_SCRIPTS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-pkgpythonPYTHON: $(pkgpython_PYTHON)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgpythondir)" || $(MKDIR_P) "$(DESTDIR)$(pkgpythondir)"
+ @list='$(pkgpython_PYTHON)'; dlist=''; for p in $$list; do\
+ if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
+ if test -f $$b$$p; then \
+ f=$(am__strip_dir) \
+ dlist="$$dlist $$f"; \
+ echo " $(pkgpythonPYTHON_INSTALL) '$$b$$p' '$(DESTDIR)$(pkgpythondir)/$$f'"; \
+ $(pkgpythonPYTHON_INSTALL) "$$b$$p" "$(DESTDIR)$(pkgpythondir)/$$f"; \
+ else :; fi; \
+ done; \
+ if test -n "$$dlist"; then \
+ if test -z "$(DESTDIR)"; then \
+ PYTHON=$(PYTHON) $(py_compile) --basedir "$(pkgpythondir)" $$dlist; \
+ else \
+ PYTHON=$(PYTHON) $(py_compile) --destdir "$(DESTDIR)" --basedir "$(pkgpythondir)" $$dlist; \
+ fi; \
+ else :; fi
+
+uninstall-pkgpythonPYTHON:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgpython_PYTHON)'; dlist=''; for p in $$list; do\
+ f=$(am__strip_dir) \
+ rm -f "$(DESTDIR)$(pkgpythondir)/$$f"; \
+ rm -f "$(DESTDIR)$(pkgpythondir)/$${f}c"; \
+ rm -f "$(DESTDIR)$(pkgpythondir)/$${f}o"; \
+ done
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $$i; then file=$$i; \
+ else file=$(srcdir)/$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(SCRIPTS) $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man install-pkgpythonPYTHON
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-dist_binSCRIPTS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_binSCRIPTS uninstall-man \
+ uninstall-pkgpythonPYTHON
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dist_binSCRIPTS \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-man1 install-pdf install-pdf-am \
+ install-pkgpythonPYTHON install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_binSCRIPTS uninstall-man uninstall-man1 \
+ uninstall-pkgpythonPYTHON
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/spec/.gitignore b/spec/.gitignore
deleted file mode 100644
index ac5b0381..00000000
--- a/spec/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-context.valid.stamp
-introspect/
-context-provider-schema.html
-context-properties.html
-contextkit.html
-
diff --git a/spec/Context.owl b/spec/Context.owl
deleted file mode 100644
index 83b4f70e..00000000
--- a/spec/Context.owl
+++ /dev/null
@@ -1,7828 +0,0 @@
-<?xml version="1.0"?>
-
-
-<!DOCTYPE rdf:RDF [
- <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
- <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
- <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" >
- <!ENTITY ical "http://www.w3.org/2002/12/cal/ical#" >
- <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
- <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
- <!ENTITY Context "http://www.semanticweb.org/ontologies/2009/2/Context.owl#" >
- <!ENTITY DeliveryContext "http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#" >
- <!ENTITY Spatio "http://www.semanticweb.org/ontologies/2009/2/Context.owl#Spatio&#8722;" >
-]>
-
-
-<rdf:RDF xmlns="http://www.semanticweb.org/ontologies/2009/2/Context.owl#"
- xml:base="http://www.semanticweb.org/ontologies/2009/2/Context.owl"
- xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#"
- xmlns:Context="http://www.semanticweb.org/ontologies/2009/2/Context.owl#"
- xmlns:DeliveryContext="http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
- xmlns:Spatio="&Context;Spatio&#8722;"
- xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:owl="http://www.w3.org/2002/07/owl#"
- xmlns:ical="http://www.w3.org/2002/12/cal/ical#">
- <owl:Ontology rdf:about="">
- <owl:imports rdf:resource=""/>
- <owl:imports rdf:resource="http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl"/>
- </owl:Ontology>
-
-
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////
- //
- // Object Properties
- //
- ///////////////////////////////////////////////////////////////////////////////////////
- -->
-
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GPSModuleAttached -->
-
- <owl:ObjectProperty rdf:about="#GPSModuleAttached"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IMStatusAvailable -->
-
- <owl:ObjectProperty rdf:about="#IMStatusAvailable">
- <rdfs:comment
- >User&#39;s IM Status is available.</rdfs:comment>
- <rdfs:range rdf:resource="#Messaging"/>
- <rdfs:domain rdf:resource="#Person"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#chargesuggestion -->
-
- <owl:ObjectProperty rdf:about="#chargesuggestion">
- <rdfs:range rdf:resource="#ChargeLocation"/>
- <rdfs:domain rdf:resource="#ChargingSuggested"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#currentSituation -->
-
- <owl:ObjectProperty rdf:about="#currentSituation">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#UserCurrentSituation"/>
- <rdfs:range>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SituationStatus"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:range>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#currentWeather -->
-
- <owl:ObjectProperty rdf:about="#currentWeather">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:range rdf:resource="#Weather"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasAlarmSetasOn -->
-
- <owl:ObjectProperty rdf:about="#hasAlarmSetasOn">
- <rdfs:comment
- >User has set Alarm.</rdfs:comment>
- <rdfs:range rdf:resource="#Alarm"/>
- <rdfs:domain rdf:resource="#Person"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasAssistedHighAccuracy -->
-
- <owl:ObjectProperty rdf:about="#hasAssistedHighAccuracy">
- <rdfs:range rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAttached"/>
- <rdfs:domain rdf:resource="#Location"/>
- <owl:equivalentProperty rdf:resource="#hasAssistedLowerAccuracy"/>
- <owl:equivalentProperty rdf:resource="#hasHighAccuracy"/>
- <owl:equivalentProperty rdf:resource="#hasLowerAccuracy"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasAssistedLowerAccuracy -->
-
- <owl:ObjectProperty rdf:about="#hasAssistedLowerAccuracy">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:range rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAttached"/>
- <rdfs:domain rdf:resource="#Location"/>
- <owl:equivalentProperty rdf:resource="#hasHighAccuracy"/>
- <owl:equivalentProperty rdf:resource="#hasLowerAccuracy"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasConnectivity -->
-
- <owl:ObjectProperty rdf:about="#hasConnectivity">
- <rdfs:range rdf:resource="#Bearers"/>
- <rdfs:range>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasConnectivity"/>
- <owl:someValuesFrom rdf:resource="#Bearers"/>
- </owl:Restriction>
- </rdfs:range>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasHighAccuracy -->
-
- <owl:ObjectProperty rdf:about="#hasHighAccuracy">
- <rdfs:range rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAttached"/>
- <rdfs:domain rdf:resource="#Location"/>
- <owl:equivalentProperty rdf:resource="#hasLowerAccuracy"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasLowerAccuracy -->
-
- <owl:ObjectProperty rdf:about="#hasLowerAccuracy">
- <rdfs:range rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAttached"/>
- <rdfs:domain rdf:resource="#Location"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasMorningSituation -->
-
- <owl:ObjectProperty rdf:about="#hasMorningSituation">
- <rdfs:comment
- >Morning situation (see Context_Aware_Situation_Manager.ppt, slide 4).</rdfs:comment>
- <rdfs:range rdf:resource="#MorningSituation"/>
- <rdfs:domain rdf:resource="#Person"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasNearByContacts -->
-
- <owl:ObjectProperty rdf:about="#hasNearByContacts">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:comment
- >Contacts information about nearby persons.</rdfs:comment>
- <rdfs:domain rdf:resource="#NearbyPeople"/>
- <rdfs:range rdf:resource="#vCard"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasNearbyDevices -->
-
- <owl:ObjectProperty rdf:about="#hasNearbyDevices">
- <rdfs:domain rdf:resource="#ComputingContext"/>
- <rdfs:range rdf:resource="#NearbyDevices"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasNearbyPeripherals -->
-
- <owl:ObjectProperty rdf:about="#hasNearbyPeripherals">
- <rdfs:domain rdf:resource="#ComputingContext"/>
- <rdfs:range rdf:resource="#Peripherals"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasNoConnectivity -->
-
- <owl:ObjectProperty rdf:about="#hasNoConnectivity">
- <rdfs:range rdf:resource="#Bearers"/>
- <rdfs:range>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNoConnectivity"/>
- <owl:onClass rdf:resource="#Bearers"/>
- <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:maxCardinality>
- </owl:Restriction>
- </rdfs:range>
- <rdfs:range>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNoConnectivity"/>
- <owl:onClass rdf:resource="#Bearers"/>
- <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:minCardinality>
- </owl:Restriction>
- </rdfs:range>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasNotSubscribed -->
-
- <owl:ObjectProperty rdf:about="#hasNotSubscribed">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
- <rdfs:range rdf:resource="#Application"/>
- <rdfs:domain rdf:resource="#UnSubscribedApplications"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasSubscribed -->
-
- <owl:ObjectProperty rdf:about="#hasSubscribed">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
- <rdfs:range rdf:resource="#Application"/>
- <rdfs:domain rdf:resource="#SubscribedApplications"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasSubscribedJamNotification -->
-
- <owl:ObjectProperty rdf:about="#hasSubscribedJamNotification">
- <rdfs:range rdf:resource="#JamNotification"/>
- <rdfs:domain rdf:resource="#Person"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasUserId -->
-
- <owl:ObjectProperty rdf:about="#hasUserId">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
- <rdfs:comment
- >Each Person should have userID.</rdfs:comment>
- <rdfs:domain rdf:resource="#Person"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasUsualRoute -->
-
- <owl:ObjectProperty rdf:about="#hasUsualRoute">
- <rdfs:domain rdf:resource="#Person"/>
- <rdfs:range rdf:resource="#UsualRoute"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasWeatherForecast -->
-
- <owl:ObjectProperty rdf:about="#hasWeatherForecast">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="#WeatherForecast"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#userContext -->
-
- <owl:ObjectProperty rdf:about="#userContext">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:comment
- >User context, such as the user&#8217;s profile, location, people nearby and current social situation. Naturally also additional properties can be added here.</rdfs:comment>
- <rdfs:domain rdf:resource="#Person"/>
- <rdfs:range rdf:resource="#UsersContext"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#userSituation -->
-
- <owl:ObjectProperty rdf:about="#userSituation">
- <rdfs:comment
- >Current user Situation.</rdfs:comment>
- <rdfs:domain rdf:resource="#Person"/>
- <rdfs:range rdf:resource="#Situations"/>
- </owl:ObjectProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#usersCurrentLocation -->
-
- <owl:ObjectProperty rdf:about="#usersCurrentLocation">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentLocation"/>
- <rdfs:range rdf:resource="&DeliveryContext;Location"/>
- </owl:ObjectProperty>
-
-
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////
- //
- // Data properties
- //
- ///////////////////////////////////////////////////////////////////////////////////////
- -->
-
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ADR -->
-
- <owl:DatatypeProperty rdf:about="#ADR">
- <rdfs:comment
- >To specify the components of the delivery address for the vCard object. A single structured text value, separated by the SEMI-COLON character. The structured type value consists of a sequence of address components. The component values MUST be specified in their corresponding position. The structured type value corresponds, in sequence, to the post office box; the extended address; the street address; the locality (e.g., city); the region (e.g., state or province); the postal code; the country name. When a component value is missing, the associated component separator MUST still be specified.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AGENT -->
-
- <owl:DatatypeProperty rdf:about="#AGENT">
- <rdfs:comment
- >To specify information about another person who will act on behalf of the individual or resource associated with the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AccessoryStatus -->
-
- <owl:DatatypeProperty rdf:about="#AccessoryStatus">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Accessories"/>
- <rdfs:range rdf:resource="&rdfs;Literal"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Altitude -->
-
- <owl:DatatypeProperty rdf:about="#Altitude">
- <rdfs:comment
- >Altitude component of this coordinate.Represents height in meters relative to the current datum(WGS-84).</rdfs:comment>
- <rdfs:domain rdf:resource="#Position"/>
- <rdfs:subPropertyOf rdf:resource="#PositionVariables"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AssistantName -->
-
- <owl:DatatypeProperty rdf:about="#AssistantName">
- <rdfs:domain rdf:resource="#Assistant"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AssistantTelephone -->
-
- <owl:DatatypeProperty rdf:about="#AssistantTelephone">
- <rdfs:domain rdf:resource="#Assistant"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Autumn -->
-
- <owl:DatatypeProperty rdf:about="#Autumn">
- <owl:equivalentProperty rdf:resource="#Spring"/>
- <owl:equivalentProperty rdf:resource="#Summer"/>
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#Winter"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfYear"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BDAY -->
-
- <owl:DatatypeProperty rdf:about="#BDAY">
- <rdfs:comment
- >To specify the birth date of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;date"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BatteryStatus -->
-
- <owl:DatatypeProperty rdf:about="#BatteryStatus">
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- <rdfs:domain rdf:resource="#BatteryLevel"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BrowserUsageCount -->
-
- <owl:DatatypeProperty rdf:about="#BrowserUsageCount">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#BrowserUsageFrequency"/>
- <rdfs:range rdf:resource="&xsd;long"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CATEGORIES -->
-
- <owl:DatatypeProperty rdf:about="#CATEGORIES">
- <rdfs:comment
- >To specify application category information about the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CID -->
-
- <owl:DatatypeProperty rdf:about="#CID">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:range rdf:resource="&xsd;unsignedLong"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CLASS -->
-
- <owl:DatatypeProperty rdf:about="#CLASS">
- <rdfs:comment
- >To specify the access classification for a vCard object.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CPULoadStatus -->
-
- <owl:DatatypeProperty rdf:about="#CPULoadStatus">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CPULoad"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CalendarUID -->
-
- <owl:DatatypeProperty rdf:about="#CalendarUID">
- <rdfs:comment
- >Unique identifier for a calendar event.</rdfs:comment>
- <rdfs:domain rdf:resource="#iCalendar"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CalendarUsageCount -->
-
- <owl:DatatypeProperty rdf:about="#CalendarUsageCount">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CalendarUsageFrequency"/>
- <rdfs:range rdf:resource="&xsd;long"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Call -->
-
- <owl:DatatypeProperty rdf:about="#Call">
- <rdfs:domain rdf:resource="#Event"/>
- <rdfs:subPropertyOf rdf:resource="#EventTypes"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Cohabitating -->
-
- <owl:DatatypeProperty rdf:about="#Cohabitating">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Connected -->
-
- <owl:DatatypeProperty rdf:about="#Connected">
- <rdfs:comment
- >Connected using some bearer (can be asked if needed, but note that some applications might have some restrictions concerning bearers like VoIP is not feasible in GSM network and so on).
-
-Relates to use case &#39;Visualizing the situation&#39; in ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- <rdfs:domain rdf:resource="#ConnectivityStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContactsUsageCount -->
-
- <owl:DatatypeProperty rdf:about="#ContactsUsageCount">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:comment
- >Counter for Contacts application usage.</rdfs:comment>
- <rdfs:domain rdf:resource="#ContactsUsageFrequency"/>
- <rdfs:range rdf:resource="&xsd;long"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Country -->
-
- <owl:DatatypeProperty rdf:about="#Country">
- <rdfs:comment
- >Country (can short or long name).</rdfs:comment>
- <rdfs:domain rdf:resource="#Addresses"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Current -->
-
- <owl:DatatypeProperty rdf:about="#Current">
- <rdfs:domain rdf:resource="#Event"/>
- <rdfs:subPropertyOf rdf:resource="#EventTypes"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Department -->
-
- <owl:DatatypeProperty rdf:about="#Department">
- <rdfs:comment
- >Department of the Organization where person works.</rdfs:comment>
- <rdfs:domain rdf:resource="#Organizations"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Disconnected -->
-
- <owl:DatatypeProperty rdf:about="#Disconnected">
- <rdfs:domain rdf:resource="#ConnectivityStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EMAIL -->
-
- <owl:DatatypeProperty rdf:about="#EMAIL">
- <rdfs:comment
- >To specify the electronic mail address for communication with the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EmailPrimary -->
-
- <owl:DatatypeProperty rdf:about="#EmailPrimary">
- <rdfs:comment
- >Boolean value indicating whether this email address is the primary or preferred email address for this person. Supported values: &#8220;true&#8221;, &#8220;false&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#Emails"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EmailType -->
-
- <owl:DatatypeProperty rdf:about="#EmailType">
- <rdfs:comment
- >Type of email address. Enumeration. Supported values: &#8220;home&#8221;, &#8220;work&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#Emails"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EmailUsageCount -->
-
- <owl:DatatypeProperty rdf:about="#EmailUsageCount">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#EmailUsageFrequency"/>
- <rdfs:range rdf:resource="&xsd;long"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EmailValue -->
-
- <owl:DatatypeProperty rdf:about="#EmailValue">
- <rdfs:comment
- >Value of email address. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Emails"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Engaged -->
-
- <owl:DatatypeProperty rdf:about="#Engaged">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventEndTime -->
-
- <owl:DatatypeProperty rdf:about="#EventEndTime">
- <rdfs:domain rdf:resource="#EventStructure"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventStartTime -->
-
- <owl:DatatypeProperty rdf:about="#EventStartTime">
- <rdfs:domain rdf:resource="#EventStructure"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventTitle -->
-
- <owl:DatatypeProperty rdf:about="#EventTitle">
- <rdfs:domain rdf:resource="#EventStructure"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventType -->
-
- <owl:DatatypeProperty rdf:about="#EventType">
- <rdfs:domain rdf:resource="#EventStructure"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventTypes -->
-
- <owl:DatatypeProperty rdf:about="#EventTypes">
- <rdfs:domain rdf:resource="#Event"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventURI -->
-
- <owl:DatatypeProperty rdf:about="#EventURI">
- <rdfs:domain rdf:resource="#EventStructure"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#FN -->
-
- <owl:DatatypeProperty rdf:about="#FN">
- <rdfs:comment
- >To specify the formatted text corresponding to the name of the object the vCard represents. This type is based on the semantics of the X.520
-Common Name attribute. The property MUST be present in the vCard object.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#FamilyName -->
-
- <owl:DatatypeProperty rdf:about="#FamilyName">
- <rdfs:domain rdf:resource="#PersonName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Female -->
-
- <owl:DatatypeProperty rdf:about="#Female">
- <rdfs:domain rdf:resource="#Gender"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#From -->
-
- <owl:DatatypeProperty rdf:about="#From">
- <rdfs:comment
- >UID of Ovi user who triggered the notification. Value is maintained by the system and cannot be modified by user. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Notifications"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GEO -->
-
- <owl:DatatypeProperty rdf:about="#GEO">
- <rdfs:comment
- >To specify information related to the global positioning of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GPSModuleAvailable -->
-
- <owl:DatatypeProperty rdf:about="#GPSModuleAvailable"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GivenName -->
-
- <owl:DatatypeProperty rdf:about="#GivenName">
- <rdfs:domain rdf:resource="#PersonName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GroupETag -->
-
- <owl:DatatypeProperty rdf:about="#GroupETag">
- <rdfs:comment
- >Opaque string that changes whenever contents of resource changes. Value can be used in conditional operations. Read-only (value managed by the system).</rdfs:comment>
- <rdfs:domain rdf:resource="#Groups"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GroupID -->
-
- <owl:DatatypeProperty rdf:about="#GroupID">
- <rdfs:domain rdf:resource="#Groups"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GroupName -->
-
- <owl:DatatypeProperty rdf:about="#GroupName">
- <rdfs:domain rdf:resource="#Groups"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Heading -->
-
- <owl:DatatypeProperty rdf:about="#Heading">
- <rdfs:comment
- >Angle of heading in degrees counting clockwise relative to true north.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HeadingAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#HeadingAccuracy">
- <rdfs:comment
- >An estimate of the accuracy of the current heading in degrees.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Home -->
-
- <owl:DatatypeProperty rdf:about="#Home">
- <rdfs:domain rdf:resource="#Places"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HonoricPrefix -->
-
- <owl:DatatypeProperty rdf:about="#HonoricPrefix">
- <rdfs:domain rdf:resource="#PersonName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HonoricSuffix -->
-
- <owl:DatatypeProperty rdf:about="#HonoricSuffix">
- <rdfs:domain rdf:resource="#PersonName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HorizontalAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#HorizontalAccuracy">
- <rdfs:comment
- >Represents accuracy estimate in meters of the horizontal portion of the underlying coordinate.</rdfs:comment>
- <rdfs:domain rdf:resource="#Position"/>
- <rdfs:subPropertyOf rdf:resource="#PositionVariables"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IMSPrimary -->
-
- <owl:DatatypeProperty rdf:about="#IMSPrimary">
- <rdfs:comment
- >Boolean value indicating whether this address is the primary or preferred address for this person. Supported values: &#8220;true&#8221;, &#8220;false&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#Ims"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IMSType -->
-
- <owl:DatatypeProperty rdf:about="#IMSType">
- <rdfs:comment
- >Boolean value indicating whether this address is the primary or preferred address for this person. Supported values: &#8220;true&#8221;, &#8220;false&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#Ims"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IMSValue -->
-
- <owl:DatatypeProperty rdf:about="#IMSValue">
- <rdfs:comment
- >Value of IMPP address. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Ims"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IMStatus -->
-
- <owl:DatatypeProperty rdf:about="#IMStatus">
- <rdfs:domain rdf:resource="#Messaging"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Individual -->
-
- <owl:DatatypeProperty rdf:about="#Individual">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#JOBTITLE -->
-
- <owl:DatatypeProperty rdf:about="#JOBTITLE">
- <rdfs:comment
- >To specify the job title, functional position or function of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#KEY -->
-
- <owl:DatatypeProperty rdf:about="#KEY">
- <rdfs:comment
- >To specify a public key or authentication certificate associated with the object that the vCard represents</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LABEL -->
-
- <owl:DatatypeProperty rdf:about="#LABEL">
- <rdfs:comment
- >To specify the formatted text corresponding to delivery address of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LOGO -->
-
- <owl:DatatypeProperty rdf:about="#LOGO">
- <rdfs:comment
- >To specify a graphic image of a logo associated with the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Latitude -->
-
- <owl:DatatypeProperty rdf:about="#Latitude">
- <rdfs:comment
- >Latitude component of the location coordinate.Specifies latitude in WGS-84 decimal degrees notation. Out of range values are normalized to range. Positive values indicate position above the Conventional Terrestrial Pole(CTP) equator.</rdfs:comment>
- <rdfs:domain rdf:resource="#Position"/>
- <rdfs:subPropertyOf rdf:resource="#PositionVariables"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LocalTimeStamp -->
-
- <owl:DatatypeProperty rdf:about="#LocalTimeStamp">
- <rdfs:comment
- >LocalTimeStamp is timestamped (local phone time) when position is received in SAPI (or high level layer). Local time stamp is gaurantied in every location fix retrieval.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;dateTime"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Locality -->
-
- <owl:DatatypeProperty rdf:about="#Locality">
- <rdfs:domain rdf:resource="#Addresses"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Longitude -->
-
- <owl:DatatypeProperty rdf:about="#Longitude">
- <rdfs:comment
- >Longitude component of the location coordinate.Specifies latitude in WGS-84 decimal degrees notation. Out of range values are normalized to range. The reference meridian is the zero meridian defined by Bureau International de l&#39;Heure(BIH).</rdfs:comment>
- <rdfs:subPropertyOf rdf:resource="#PositionVariables"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MAILER -->
-
- <owl:DatatypeProperty rdf:about="#MAILER">
- <rdfs:comment
- >To specify the type of electronic mail software that is used by the individual associated with the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MagneticCource -->
-
- <owl:DatatypeProperty rdf:about="#MagneticCource">
- <rdfs:comment
- >The current direction in degrees to the magnetic north.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MagneticVariation -->
-
- <owl:DatatypeProperty rdf:about="#MagneticVariation">
- <rdfs:comment
- >The magnetic course error in degrees.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Male -->
-
- <owl:DatatypeProperty rdf:about="#Male">
- <rdfs:domain rdf:resource="#Gender"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Married -->
-
- <owl:DatatypeProperty rdf:about="#Married">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MemberCount -->
-
- <owl:DatatypeProperty rdf:about="#MemberCount">
- <rdfs:comment
- >Count of members that belong to the group. Value is maintained by the system and cannot be modified by user. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Groups"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MemoryStatus -->
-
- <owl:DatatypeProperty rdf:about="#MemoryStatus">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:comment
- >Status of the memory: used, free etc.</rdfs:comment>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:range rdf:resource="&rdfs;Literal"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MiddleName -->
-
- <owl:DatatypeProperty rdf:about="#MiddleName">
- <rdfs:domain rdf:resource="#PersonName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Morning -->
-
- <owl:DatatypeProperty rdf:about="#Morning">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#MorningSituation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#N -->
-
- <owl:DatatypeProperty rdf:about="#N">
- <rdfs:comment
- >To specify the components of the name of the object the vCard represents. The structured type value corresponds, in sequence, to the Family Name, Given Name, Additional Names, Honorific Prefixes, and Honorific Suffixes. The text components are separated by the SEMI-COLON character (ASCII decimal 59). Individual text components can include multiple text values (e.g., multiple Additional Names) separated by the COMMA character (ASCII decimal 44). This type is based on the semantics of the X.520 individual name attributes. The property MUST be present in the vCard object.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NAuth -->
-
- <owl:DatatypeProperty rdf:about="#NAuth">
- <rdfs:comment
- >Authentication of the consumer user (the end-user who has Nokia Account credentials) and the consumer application (the SW that uses the People API) is done using OAuth-based delegated authentication.</rdfs:comment>
- <rdfs:domain rdf:resource="#AuthorizationChallenge"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NICKNAME -->
-
- <owl:DatatypeProperty rdf:about="#NICKNAME">
- <rdfs:comment
- >To specify the text corresponding to the nickname of the object the vCard represents. The nickname is the descriptive name given instead of or in addition to the one belonging to a person, place, or thing. It can also be used to specify a familiar form of a proper name specified by the FN or N types.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NOTE -->
-
- <owl:DatatypeProperty rdf:about="#NOTE">
- <rdfs:comment
- >To specify supplemental information or a comment that is associated with the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NameOfOrganization -->
-
- <owl:DatatypeProperty rdf:about="#NameOfOrganization">
- <rdfs:domain rdf:resource="#Organizations"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Next -->
-
- <owl:DatatypeProperty rdf:about="#Next">
- <rdfs:domain rdf:resource="#Event"/>
- <rdfs:subPropertyOf rdf:resource="#EventTypes"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Night -->
-
- <owl:DatatypeProperty rdf:about="#Night">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Places"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NotificationID -->
-
- <owl:DatatypeProperty rdf:about="#NotificationID">
- <rdfs:domain rdf:resource="#Notifications"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuth -->
-
- <owl:DatatypeProperty rdf:about="#OAuth">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthConsumerKey -->
-
- <owl:DatatypeProperty rdf:about="#OAuthConsumerKey">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthNonce -->
-
- <owl:DatatypeProperty rdf:about="#OAuthNonce">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthSignature -->
-
- <owl:DatatypeProperty rdf:about="#OAuthSignature">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthSignatureMethod -->
-
- <owl:DatatypeProperty rdf:about="#OAuthSignatureMethod">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthTimestamp -->
-
- <owl:DatatypeProperty rdf:about="#OAuthTimestamp">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthToken -->
-
- <owl:DatatypeProperty rdf:about="#OAuthToken">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OAuthVersion -->
-
- <owl:DatatypeProperty rdf:about="#OAuthVersion">
- <rdfs:domain rdf:resource="#AuthorizationResponse"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ORG -->
-
- <owl:DatatypeProperty rdf:about="#ORG">
- <rdfs:comment
- >To specify the organizational name and units associated with the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PHOTO -->
-
- <owl:DatatypeProperty rdf:about="#PHOTO">
- <rdfs:comment
- >To specify an image or photograph information that annotates some aspect of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;anyType"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PID -->
-
- <owl:DatatypeProperty rdf:about="#PID">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PR -->
-
- <owl:DatatypeProperty rdf:about="#PR">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PROID -->
-
- <owl:DatatypeProperty rdf:about="#PROID">
- <rdfs:comment
- >To specify the identifier for the product that created the vCard object.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PersonID -->
-
- <owl:DatatypeProperty rdf:about="#PersonID">
- <rdfs:comment
- >UID of a Person object. Singular property. Read-only (value managed by the system).</rdfs:comment>
- <rdfs:domain rdf:resource="#Person"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhoneNumberType_Work -->
-
- <owl:DatatypeProperty rdf:about="#PhoneNumberType_Work">
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:subPropertyOf rdf:resource="#PhonenumberType"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhoneNumberValue -->
-
- <owl:DatatypeProperty rdf:about="#PhoneNumberValue">
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhonenumberType -->
-
- <owl:DatatypeProperty rdf:about="#PhonenumberType">
- <rdfs:comment
- >Type of telephone number. Enumeration. Supported values: &#8220;home&#8221;, &#8220;work&#8221;. &#8220;mobile&#8221;, &#8220;fax&#8221;, &#8220;pager&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhonenumberType_Fax -->
-
- <owl:DatatypeProperty rdf:about="#PhonenumberType_Fax">
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:subPropertyOf rdf:resource="#PhonenumberType"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhonenumberType_Home -->
-
- <owl:DatatypeProperty rdf:about="#PhonenumberType_Home">
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:subPropertyOf rdf:resource="#PhonenumberType"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhonenumberType_Mobile -->
-
- <owl:DatatypeProperty rdf:about="#PhonenumberType_Mobile">
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:subPropertyOf rdf:resource="#PhonenumberType"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhotoHuge -->
-
- <owl:DatatypeProperty rdf:about="#PhotoHuge">
- <rdfs:comment
- >Huge photo of person (composite attribute; see components below). Resolution: 150x150.</rdfs:comment>
- <rdfs:domain rdf:resource="#PhotoSize"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhotoHugeData -->
-
- <owl:DatatypeProperty rdf:about="#PhotoHugeData">
- <rdfs:comment
- >Base64 encoded representation of a photo. Format: JPEG. Singular property.</rdfs:comment>
- <rdfs:subPropertyOf rdf:resource="#PhotoHuge"/>
- <rdfs:domain rdf:resource="#PhotoSize"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhotoLarge -->
-
- <owl:DatatypeProperty rdf:about="#PhotoLarge">
- <rdfs:comment
- >Large photo of person (composite attribute; see components below). Resolution: 64x64.</rdfs:comment>
- <rdfs:domain rdf:resource="#PhotoSize"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhotoLargeData -->
-
- <owl:DatatypeProperty rdf:about="#PhotoLargeData">
- <rdfs:comment
- >Base64 encoded representation of a photo. Format: JPEG. Singular property.</rdfs:comment>
- <rdfs:subPropertyOf rdf:resource="#PhotoLarge"/>
- <rdfs:domain rdf:resource="#PhotoSize"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PointingDirection -->
-
- <owl:DatatypeProperty rdf:about="#PointingDirection">
- <rdfs:domain rdf:resource="#Magnetometer"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PositionVariables -->
-
- <owl:DatatypeProperty rdf:about="#PositionVariables">
- <rdfs:domain rdf:resource="#Position"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PostalCode -->
-
- <owl:DatatypeProperty rdf:about="#PostalCode">
- <rdfs:domain rdf:resource="#Addresses"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Primary -->
-
- <owl:DatatypeProperty rdf:about="#Primary">
- <rdfs:comment
- >Boolean value indicating whether this instance of URL is the primary or preferred URL for this person. Supported values: &#8220;true&#8221;, &#8220;false&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#Urls"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PrimaryPhonenumber -->
-
- <owl:DatatypeProperty rdf:about="#PrimaryPhonenumber">
- <rdfs:comment
- >Boolean value indicating whether this phone number is the primary or preferred number for this person. Supported values: &#8220;true&#8221;, &#8220;false&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PrinterName -->
-
- <owl:DatatypeProperty rdf:about="#PrinterName">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:comment
- >Printer name or some other identifier of the printer.</rdfs:comment>
- <rdfs:domain rdf:resource="#Peripherals"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Profiles -->
-
- <owl:DatatypeProperty rdf:about="#Profiles"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#REV -->
-
- <owl:DatatypeProperty rdf:about="#REV">
- <rdfs:comment
- >To specify revision information about the current vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ROLE -->
-
- <owl:DatatypeProperty rdf:about="#ROLE">
- <rdfs:comment
- >To specify information concerning the role, occupation, or business category of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Received -->
-
- <owl:DatatypeProperty rdf:about="#Received">
- <rdfs:comment
- >Date&amp;time when the notification was received. Value is maintained by the system and cannot be modified by user. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Notifications"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Region -->
-
- <owl:DatatypeProperty rdf:about="#Region">
- <rdfs:domain rdf:resource="#Addresses"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SMSUsageCount -->
-
- <owl:DatatypeProperty rdf:about="#SMSUsageCount">
- <rdfs:domain rdf:resource="#SMSUsageFrequency"/>
- <rdfs:range rdf:resource="&xsd;long"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SORT_STRING -->
-
- <owl:DatatypeProperty rdf:about="#SORT_STRING">
- <rdfs:comment
- >To specify the family name or given name text to be used for national-language-specific sorting of the FN and N types.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SOUND -->
-
- <owl:DatatypeProperty rdf:about="#SOUND">
- <rdfs:comment
- >To specify a digital sound content information that annotates some aspect of the vCard. By default this type is used to specify the proper pronunciation of the name type value of the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SatelliteNumView -->
-
- <owl:DatatypeProperty rdf:about="#SatelliteNumView">
- <rdfs:comment
- >The number of satellites on which the positioning modules has information.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SatelliteNumViewUsed -->
-
- <owl:DatatypeProperty rdf:about="#SatelliteNumViewUsed">
- <rdfs:comment
- >Number of satellites being used to obtain a position fix.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Separated -->
-
- <owl:DatatypeProperty rdf:about="#Separated">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Shopping -->
-
- <owl:DatatypeProperty rdf:about="#Shopping">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Places"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Single -->
-
- <owl:DatatypeProperty rdf:about="#Single">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SituationStatus -->
-
- <owl:DatatypeProperty rdf:about="#SituationStatus"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SoundLevel -->
-
- <owl:DatatypeProperty rdf:about="#SoundLevel">
- <rdfs:domain rdf:resource="#Alarm"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Speed -->
-
- <owl:DatatypeProperty rdf:about="#Speed">
- <rdfs:comment
- >Current speed in meters per second.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SpeedAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#SpeedAccuracy">
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SportsFitness -->
-
- <owl:DatatypeProperty rdf:about="#SportsFitness">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Places"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Spring -->
-
- <owl:DatatypeProperty rdf:about="#Spring">
- <owl:equivalentProperty rdf:resource="#Summer"/>
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#Winter"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfYear"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#StreetAddress -->
-
- <owl:DatatypeProperty rdf:about="#StreetAddress">
- <rdfs:domain rdf:resource="#Addresses"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Summer -->
-
- <owl:DatatypeProperty rdf:about="#Summer">
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#Winter"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfYear"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TEL -->
-
- <owl:DatatypeProperty rdf:about="#TEL">
- <rdfs:comment
- >To specify the telephone number for telephony communication with the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TZ -->
-
- <owl:DatatypeProperty rdf:about="#TZ">
- <rdfs:comment
- >To specify information related to the time zone of the object the vCard represents.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TelephoneUsageCount -->
-
- <owl:DatatypeProperty rdf:about="#TelephoneUsageCount">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#TelephoneUsageFrequency"/>
- <rdfs:range rdf:resource="&xsd;long"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Title -->
-
- <owl:DatatypeProperty rdf:about="#Title">
- <rdfs:domain rdf:resource="#Organizations"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#To -->
-
- <owl:DatatypeProperty rdf:about="#To">
- <rdfs:comment
- >UID of Ovi user who is the receiver of the notification. Value is maintained by the system and cannot be modified by user. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Notifications"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Traveling -->
-
- <owl:DatatypeProperty rdf:about="#Traveling">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Places"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TypeOfAddress -->
-
- <owl:DatatypeProperty rdf:about="#TypeOfAddress">
- <rdfs:domain rdf:resource="#Addresses"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UID -->
-
- <owl:DatatypeProperty rdf:about="#UID">
- <rdfs:comment
- >To specify a value that represents a globally unique identifier corresponding to the individual or resource associated with the vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#URI -->
-
- <owl:DatatypeProperty rdf:about="#URI">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;anyURI"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#URL -->
-
- <owl:DatatypeProperty rdf:about="#URL">
- <rdfs:comment
- >To specify a uniform resource locator associated with the object that the vCard refers to.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#URLType -->
-
- <owl:DatatypeProperty rdf:about="#URLType">
- <rdfs:comment
- >Type of URL. Enumeration. Supported values: &#8220;home&#8221;, &#8220;work&#8221;.</rdfs:comment>
- <rdfs:domain rdf:resource="#Urls"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#URLType_Home -->
-
- <owl:DatatypeProperty rdf:about="#URLType_Home">
- <rdfs:subPropertyOf rdf:resource="#URLType"/>
- <rdfs:domain rdf:resource="#Urls"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#URLType_Work -->
-
- <owl:DatatypeProperty rdf:about="#URLType_Work">
- <rdfs:subPropertyOf rdf:resource="#URLType"/>
- <rdfs:domain rdf:resource="#Urls"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UTCTimeStamp -->
-
- <owl:DatatypeProperty rdf:about="#UTCTimeStamp">
- <rdfs:comment
- >UTCTimeStamp is exact time from the position technology used. UTC timestamp could optionally present in location fix, as some of underlying technologies might not be capable to retrieve this data.</rdfs:comment>
- <rdfs:domain rdf:resource="#PositionFix"/>
- <rdfs:range rdf:resource="&xsd;dateTime"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UserID -->
-
- <owl:DatatypeProperty rdf:about="#UserID">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:domain rdf:resource="#Users"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VERSION -->
-
- <owl:DatatypeProperty rdf:about="#VERSION">
- <rdfs:comment
- >To specify the version of the vCard specification used to format this vCard.</rdfs:comment>
- <rdfs:domain rdf:resource="#vCard"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Value -->
-
- <owl:DatatypeProperty rdf:about="#Value">
- <rdfs:comment
- >Value/address of URL. Singular property.</rdfs:comment>
- <rdfs:domain rdf:resource="#Urls"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VerticalAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#VerticalAccuracy">
- <rdfs:comment
- >Represents accuracy estimate in meters of the vertical portion of the underlying coordinate.</rdfs:comment>
- <rdfs:domain rdf:resource="#Position"/>
- <rdfs:subPropertyOf rdf:resource="#PositionVariables"/>
- <rdfs:range rdf:resource="&xsd;double"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Widowed -->
-
- <owl:DatatypeProperty rdf:about="#Widowed">
- <rdfs:domain rdf:resource="#MaritalStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Winter -->
-
- <owl:DatatypeProperty rdf:about="#Winter">
- <rdfs:domain rdf:resource="#Time"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfYear"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Working -->
-
- <owl:DatatypeProperty rdf:about="#Working">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Places"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#activeContentItem -->
-
- <owl:DatatypeProperty rdf:about="#activeContentItem">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;anyURI"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#afternoon -->
-
- <owl:DatatypeProperty rdf:about="#afternoon">
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#evening"/>
- <owl:equivalentProperty rdf:resource="#eveningNight"/>
- <owl:equivalentProperty rdf:resource="#midnight"/>
- <owl:equivalentProperty rdf:resource="#morning"/>
- <owl:equivalentProperty rdf:resource="#morningNight"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfDay"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#alarmSet -->
-
- <owl:DatatypeProperty rdf:about="#alarmSet">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Alarm"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#albumArtURI -->
-
- <owl:DatatypeProperty rdf:about="#albumArtURI">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;anyURI"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#applicationName -->
-
- <owl:DatatypeProperty rdf:about="#applicationName">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#applicationUser -->
-
- <owl:DatatypeProperty rdf:about="#applicationUser">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#atHome -->
-
- <owl:DatatypeProperty rdf:about="#atHome">
- <rdfs:subPropertyOf rdf:resource="#SituationStatus"/>
- <rdfs:domain rdf:resource="#Status"/>
- <owl:equivalentProperty rdf:resource="#atOffice"/>
- <owl:equivalentProperty rdf:resource="#atWork"/>
- <owl:equivalentProperty rdf:resource="#inMeeting"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#atOffice -->
-
- <owl:DatatypeProperty rdf:about="#atOffice">
- <rdfs:subPropertyOf rdf:resource="#SituationStatus"/>
- <rdfs:domain rdf:resource="#Status"/>
- <owl:equivalentProperty rdf:resource="#atWork"/>
- <owl:equivalentProperty rdf:resource="#inMeeting"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#atWork -->
-
- <owl:DatatypeProperty rdf:about="#atWork">
- <rdfs:subPropertyOf rdf:resource="#SituationStatus"/>
- <rdfs:domain rdf:resource="#Status"/>
- <owl:equivalentProperty rdf:resource="#inMeeting"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#available -->
-
- <owl:DatatypeProperty rdf:about="#available">
- <rdfs:subPropertyOf rdf:resource="#IMStatus"/>
- <rdfs:domain rdf:resource="#Messaging"/>
- <owl:equivalentProperty rdf:resource="#busy"/>
- <owl:equivalentProperty rdf:resource="#notAvailable"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#busy -->
-
- <owl:DatatypeProperty rdf:about="#busy">
- <rdfs:subPropertyOf rdf:resource="#IMStatus"/>
- <rdfs:domain rdf:resource="#Messaging"/>
- <owl:equivalentProperty rdf:resource="#notAvailable"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#callNumber -->
-
- <owl:DatatypeProperty rdf:about="#callNumber">
- <rdfs:domain rdf:resource="#PhoneNumbers"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#callStartTime -->
-
- <owl:DatatypeProperty rdf:about="#callStartTime">
- <rdfs:range rdf:resource="&xsd;time"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#capacity -->
-
- <owl:DatatypeProperty rdf:about="#capacity">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Battery"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#command -->
-
- <owl:DatatypeProperty rdf:about="#command">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#condition -->
-
- <owl:DatatypeProperty rdf:about="#condition">
- <rdfs:domain rdf:resource="#Weather"/>
- <rdfs:domain rdf:resource="#WeatherForecast"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#currentApplication -->
-
- <owl:DatatypeProperty rdf:about="#currentApplication">
- <rdfs:domain rdf:resource="#Application"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#currentProfile -->
-
- <owl:DatatypeProperty rdf:about="#currentProfile">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#ProfileName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#deviceUpTime -->
-
- <owl:DatatypeProperty rdf:about="#deviceUpTime">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#displayFacingDown -->
-
- <owl:DatatypeProperty rdf:about="#displayFacingDown">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Orientation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#displayFacingUp -->
-
- <owl:DatatypeProperty rdf:about="#displayFacingUp">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Orientation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#endTime -->
-
- <owl:DatatypeProperty rdf:about="#endTime">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;time"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#evening -->
-
- <owl:DatatypeProperty rdf:about="#evening">
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#eveningNight"/>
- <owl:equivalentProperty rdf:resource="#midnight"/>
- <owl:equivalentProperty rdf:resource="#morning"/>
- <owl:equivalentProperty rdf:resource="#morningNight"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfDay"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#eveningNight -->
-
- <owl:DatatypeProperty rdf:about="#eveningNight">
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#midnight"/>
- <owl:equivalentProperty rdf:resource="#morning"/>
- <owl:equivalentProperty rdf:resource="#morningNight"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfDay"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#externalTotal -->
-
- <owl:DatatypeProperty rdf:about="#externalTotal">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#externalUsed -->
-
- <owl:DatatypeProperty rdf:about="#externalUsed">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#extrnalFree -->
-
- <owl:DatatypeProperty rdf:about="#extrnalFree">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#general -->
-
- <owl:DatatypeProperty rdf:about="#general">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#ProfileName"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasBTHeadset -->
-
- <owl:DatatypeProperty rdf:about="#hasBTHeadset">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#BTHeadset"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasBTStereoHeadset -->
-
- <owl:DatatypeProperty rdf:about="#hasBTStereoHeadset">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#BTStereoHeadset"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasCamera -->
-
- <owl:DatatypeProperty rdf:about="#hasCamera">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Camera"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasCarDock -->
-
- <owl:DatatypeProperty rdf:about="#hasCarDock">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:comment
- >Device is connected to the car docking station.</rdfs:comment>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#CarDock"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasConferenceCamera -->
-
- <owl:DatatypeProperty rdf:about="#hasConferenceCamera">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#ConferenceCamera"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasEventTitle -->
-
- <owl:DatatypeProperty rdf:about="#hasEventTitle"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasExternalCard -->
-
- <owl:DatatypeProperty rdf:about="#hasExternalCard">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#ExternalCard"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasFMReceiver -->
-
- <owl:DatatypeProperty rdf:about="#hasFMReceiver">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#FMReceiver"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasFMTransmitter -->
-
- <owl:DatatypeProperty rdf:about="#hasFMTransmitter">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#FMTransmitter"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasHeadset -->
-
- <owl:DatatypeProperty rdf:about="#hasHeadset">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Headset"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasKeyboard -->
-
- <owl:DatatypeProperty rdf:about="#hasKeyboard">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Keyboard"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasMagnetometer -->
-
- <owl:DatatypeProperty rdf:about="#hasMagnetometer">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Magnetometer"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasMicrophone -->
-
- <owl:DatatypeProperty rdf:about="#hasMicrophone">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Microphone"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasMouse -->
-
- <owl:DatatypeProperty rdf:about="#hasMouse">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Mouse"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasMultiTouchScreen -->
-
- <owl:DatatypeProperty rdf:about="#hasMultiTouchScreen">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#MultiTouchScreen"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#hasProximitySensor -->
-
- <owl:DatatypeProperty rdf:about="#hasProximitySensor">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#ProximitySensor"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#humidity -->
-
- <owl:DatatypeProperty rdf:about="#humidity">
- <rdfs:comment
- >Humidity in percent.</rdfs:comment>
- <rdfs:domain rdf:resource="#Weather"/>
- <rdfs:domain rdf:resource="#WeatherForecast"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#icCreatingContent -->
-
- <owl:DatatypeProperty rdf:about="#icCreatingContent">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#inActiveUse -->
-
- <owl:DatatypeProperty rdf:about="#inActiveUse">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#inCar -->
-
- <owl:DatatypeProperty rdf:about="#inCar">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#inLandscape -->
-
- <owl:DatatypeProperty rdf:about="#inLandscape">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Orientation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#inMeeting -->
-
- <owl:DatatypeProperty rdf:about="#inMeeting">
- <rdfs:subPropertyOf rdf:resource="#SituationStatus"/>
- <rdfs:domain rdf:resource="#Status"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#inPortrait -->
-
- <owl:DatatypeProperty rdf:about="#inPortrait">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#DirectUI"/>
- <rdfs:domain rdf:resource="#Orientation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#inUserHand -->
-
- <owl:DatatypeProperty rdf:about="#inUserHand">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Orientation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#internalFree -->
-
- <owl:DatatypeProperty rdf:about="#internalFree">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#internalTotal -->
-
- <owl:DatatypeProperty rdf:about="#internalTotal">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#internalUsed -->
-
- <owl:DatatypeProperty rdf:about="#internalUsed">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isAssistedHighAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#isAssistedHighAccuracy">
- <rdfs:domain rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAvailable"/>
- <owl:equivalentProperty rdf:resource="#isAssistedLowerAccuracy"/>
- <owl:equivalentProperty rdf:resource="#isHighAccuracy"/>
- <owl:equivalentProperty rdf:resource="#isLowerAccuracy"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isAssistedLowerAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#isAssistedLowerAccuracy">
- <rdfs:domain rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAvailable"/>
- <owl:equivalentProperty rdf:resource="#isHighAccuracy"/>
- <owl:equivalentProperty rdf:resource="#isLowerAccuracy"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isAvailable -->
-
- <owl:DatatypeProperty rdf:about="#isAvailable">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#PresenceStatus"/>
- <rdfs:domain rdf:resource="#Status"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isAway -->
-
- <owl:DatatypeProperty rdf:about="#isAway">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Status"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isBrowsing -->
-
- <owl:DatatypeProperty rdf:about="#isBrowsing">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isBusy -->
-
- <owl:DatatypeProperty rdf:about="#isBusy">
- <rdfs:domain rdf:resource="#Status"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isBusyText -->
-
- <owl:DatatypeProperty rdf:about="#isBusyText">
- <rdfs:domain rdf:resource="#Social"/>
- <owl:equivalentProperty rdf:resource="#isGoingToHome"/>
- <owl:equivalentProperty rdf:resource="#isGoingToWork"/>
- <owl:equivalentProperty rdf:resource="#isWithColleagues"/>
- <owl:equivalentProperty rdf:resource="#isWithFriends"/>
- <rdfs:subPropertyOf rdf:resource="#socialContext"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isCalling -->
-
- <owl:DatatypeProperty rdf:about="#isCalling">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isCharging -->
-
- <owl:DatatypeProperty rdf:about="#isCharging">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Battery"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isChatting -->
-
- <owl:DatatypeProperty rdf:about="#isChatting">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isCreatingContent -->
-
- <owl:DatatypeProperty rdf:about="#isCreatingContent">
- <rdfs:domain rdf:resource="#Activity"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isDockedinCar -->
-
- <owl:DatatypeProperty rdf:about="#isDockedinCar">
- <rdfs:domain rdf:resource="#CarDock"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isExternalCardCorrupted -->
-
- <owl:DatatypeProperty rdf:about="#isExternalCardCorrupted">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isExternalMMCCoverOpen -->
-
- <owl:DatatypeProperty rdf:about="#isExternalMMCCoverOpen">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isGaming -->
-
- <owl:DatatypeProperty rdf:about="#isGaming">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isGoingToHome -->
-
- <owl:DatatypeProperty rdf:about="#isGoingToHome">
- <rdfs:domain rdf:resource="#Social"/>
- <owl:equivalentProperty rdf:resource="#isGoingToWork"/>
- <owl:equivalentProperty rdf:resource="#isWithColleagues"/>
- <owl:equivalentProperty rdf:resource="#isWithFriends"/>
- <rdfs:subPropertyOf rdf:resource="#socialContext"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isGoingToWork -->
-
- <owl:DatatypeProperty rdf:about="#isGoingToWork">
- <rdfs:domain rdf:resource="#Social"/>
- <owl:equivalentProperty rdf:resource="#isWithColleagues"/>
- <owl:equivalentProperty rdf:resource="#isWithFriends"/>
- <rdfs:subPropertyOf rdf:resource="#socialContext"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isHeavyCPULoad -->
-
- <owl:DatatypeProperty rdf:about="#isHeavyCPULoad">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isHighAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#isHighAccuracy">
- <rdfs:domain rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAvailable"/>
- <owl:equivalentProperty rdf:resource="#isLowerAccuracy"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isInternalCardCorrupted -->
-
- <owl:DatatypeProperty rdf:about="#isInternalCardCorrupted">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isKeyboardOpen -->
-
- <owl:DatatypeProperty rdf:about="#isKeyboardOpen">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#KeyboardOpen"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isLightCPULoad -->
-
- <owl:DatatypeProperty rdf:about="#isLightCPULoad">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isListening -->
-
- <owl:DatatypeProperty rdf:about="#isListening">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isLowerAccuracy -->
-
- <owl:DatatypeProperty rdf:about="#isLowerAccuracy">
- <rdfs:domain rdf:resource="#GPSModule"/>
- <rdfs:subPropertyOf rdf:resource="#GPSModuleAvailable"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isMAXCPULoad -->
-
- <owl:DatatypeProperty rdf:about="#isMAXCPULoad">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isMoving -->
-
- <owl:DatatypeProperty rdf:about="#isMoving">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:domain rdf:resource="#DeviceStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isNearSomething -->
-
- <owl:DatatypeProperty rdf:about="#isNearSomething">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Orientation"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isOnVacation -->
-
- <owl:DatatypeProperty rdf:about="#isOnVacation">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#EventStructure"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isSilent -->
-
- <owl:DatatypeProperty rdf:about="#isSilent">
- <rdfs:domain rdf:resource="#Alarm"/>
- <rdfs:domain rdf:resource="#Profile"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isUSBCapleAttached -->
-
- <owl:DatatypeProperty rdf:about="#isUSBCapleAttached">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:subPropertyOf rdf:resource="#AccessoryStatus"/>
- <rdfs:domain rdf:resource="#Usage"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isWatching -->
-
- <owl:DatatypeProperty rdf:about="#isWatching">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#CurrentActivity"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isWithColleagues -->
-
- <owl:DatatypeProperty rdf:about="#isWithColleagues">
- <rdfs:domain rdf:resource="#Social"/>
- <owl:equivalentProperty rdf:resource="#isWithFriends"/>
- <rdfs:subPropertyOf rdf:resource="#socialContext"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#isWithFriends -->
-
- <owl:DatatypeProperty rdf:about="#isWithFriends">
- <rdfs:domain rdf:resource="#Social"/>
- <rdfs:subPropertyOf rdf:resource="#socialContext"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#lastTouch -->
-
- <owl:DatatypeProperty rdf:about="#lastTouch">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:range rdf:resource="&xsd;time"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ledEnabled -->
-
- <owl:DatatypeProperty rdf:about="#ledEnabled">
- <rdfs:domain rdf:resource="#Alarm"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#midnight -->
-
- <owl:DatatypeProperty rdf:about="#midnight">
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#morning"/>
- <owl:equivalentProperty rdf:resource="#morningNight"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfDay"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#morning -->
-
- <owl:DatatypeProperty rdf:about="#morning">
- <rdfs:domain rdf:resource="#Time"/>
- <owl:equivalentProperty rdf:resource="#morningNight"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfDay"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#morningNight -->
-
- <owl:DatatypeProperty rdf:about="#morningNight">
- <rdfs:domain rdf:resource="#Time"/>
- <rdfs:subPropertyOf rdf:resource="#timeOfDay"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#name -->
-
- <owl:DatatypeProperty rdf:about="#name">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#notAvailable -->
-
- <owl:DatatypeProperty rdf:about="#notAvailable">
- <rdfs:subPropertyOf rdf:resource="#IMStatus"/>
- <rdfs:domain rdf:resource="#Messaging"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#offline -->
-
- <owl:DatatypeProperty rdf:about="#offline">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#ProfileName"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#perVolumeFree -->
-
- <owl:DatatypeProperty rdf:about="#perVolumeFree">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#percentRemaining -->
-
- <owl:DatatypeProperty rdf:about="#percentRemaining">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Battery"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#profiles -->
-
- <owl:DatatypeProperty rdf:about="#profiles">
- <rdfs:domain rdf:resource="#ProfileName"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ramFree -->
-
- <owl:DatatypeProperty rdf:about="#ramFree">
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ramTotal -->
-
- <owl:DatatypeProperty rdf:about="#ramTotal">
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ramUsed -->
-
- <owl:DatatypeProperty rdf:about="#ramUsed">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#receivedCall -->
-
- <owl:DatatypeProperty rdf:about="#receivedCall">
- <rdfs:subPropertyOf rdf:resource="#Call"/>
- <rdfs:domain rdf:resource="#Event"/>
- <owl:equivalentProperty rdf:resource="#ringing"/>
- <owl:equivalentProperty rdf:resource="#startedCall"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#remainderOff -->
-
- <owl:DatatypeProperty rdf:about="#remainderOff">
- <rdfs:domain rdf:resource="#Reminder"/>
- <owl:equivalentProperty rdf:resource="#remainderOn"/>
- <rdfs:subPropertyOf rdf:resource="#remainderStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#remainderOn -->
-
- <owl:DatatypeProperty rdf:about="#remainderOn">
- <rdfs:domain rdf:resource="#Reminder"/>
- <rdfs:subPropertyOf rdf:resource="#remainderStatus"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#remainderStatus -->
-
- <owl:DatatypeProperty rdf:about="#remainderStatus">
- <rdfs:comment
- >User can set remainders on/off. There might be several remainders where user can select what are on/off. This is the generic swicth for reminders.</rdfs:comment>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#reserved -->
-
- <owl:DatatypeProperty rdf:about="#reserved">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ringing -->
-
- <owl:DatatypeProperty rdf:about="#ringing">
- <rdfs:subPropertyOf rdf:resource="#Call"/>
- <rdfs:domain rdf:resource="#Event"/>
- <owl:equivalentProperty rdf:resource="#startedCall"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#running -->
-
- <owl:DatatypeProperty rdf:about="#running">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#socialContext -->
-
- <owl:DatatypeProperty rdf:about="#socialContext">
- <rdfs:domain rdf:resource="#Social"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#songAlbum -->
-
- <owl:DatatypeProperty rdf:about="#songAlbum">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#songArtist -->
-
- <owl:DatatypeProperty rdf:about="#songArtist">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#songTitle -->
-
- <owl:DatatypeProperty rdf:about="#songTitle">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#startTime -->
-
- <owl:DatatypeProperty rdf:about="#startTime">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#LastMusic"/>
- <rdfs:range rdf:resource="&xsd;time"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#startedCall -->
-
- <owl:DatatypeProperty rdf:about="#startedCall">
- <rdfs:subPropertyOf rdf:resource="#Call"/>
- <rdfs:domain rdf:resource="#Event"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#swapFree -->
-
- <owl:DatatypeProperty rdf:about="#swapFree">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#swapTotal -->
-
- <owl:DatatypeProperty rdf:about="#swapTotal">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#swapUsed -->
-
- <owl:DatatypeProperty rdf:about="#swapUsed">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#tempC -->
-
- <owl:DatatypeProperty rdf:about="#tempC">
- <rdfs:domain rdf:resource="#Weather"/>
- <rdfs:domain rdf:resource="#WeatherForecast"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#tempF -->
-
- <owl:DatatypeProperty rdf:about="#tempF">
- <rdfs:domain rdf:resource="#Weather"/>
- <rdfs:domain rdf:resource="#WeatherForecast"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#timeLeftOnBattery -->
-
- <owl:DatatypeProperty rdf:about="#timeLeftOnBattery">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Battery"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#timeOfDay -->
-
- <owl:DatatypeProperty rdf:about="#timeOfDay">
- <rdfs:domain rdf:resource="#Time"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#timeOfYear -->
-
- <owl:DatatypeProperty rdf:about="#timeOfYear">
- <rdfs:domain rdf:resource="#Time"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#timeOnBattery -->
-
- <owl:DatatypeProperty rdf:about="#timeOnBattery">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Battery"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#timeToCompleteCharge -->
-
- <owl:DatatypeProperty rdf:about="#timeToCompleteCharge">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Battery"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#totalSize -->
-
- <owl:DatatypeProperty rdf:about="#totalSize">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#totalTimeOpen -->
-
- <owl:DatatypeProperty rdf:about="#totalTimeOpen">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:domain rdf:resource="#VisibleApplication"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#totalTimeOpenSession -->
-
- <owl:DatatypeProperty rdf:about="#totalTimeOpenSession">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#totalTimesOpened -->
-
- <owl:DatatypeProperty rdf:about="#totalTimesOpened">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;integer"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#upTimeInformation -->
-
- <owl:DatatypeProperty rdf:about="#upTimeInformation">
- <rdfs:domain rdf:resource="#Uptime"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#used -->
-
- <owl:DatatypeProperty rdf:about="#used">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Memory"/>
- <rdfs:subPropertyOf rdf:resource="#MemoryStatus"/>
- <rdfs:range rdf:resource="&xsd;int"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#userDefined -->
-
- <owl:DatatypeProperty rdf:about="#userDefined">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#ProfileName"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#userofApplication -->
-
- <owl:DatatypeProperty rdf:about="#userofApplication">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#vibraEnabled -->
-
- <owl:DatatypeProperty rdf:about="#vibraEnabled">
- <rdfs:domain rdf:resource="#Alarm"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#virtual -->
-
- <owl:DatatypeProperty rdf:about="#virtual">
- <rdfs:domain rdf:resource="#Application"/>
- <rdfs:subPropertyOf rdf:resource="#currentApplication"/>
- <rdfs:range rdf:resource="&xsd;string"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#walking -->
-
- <owl:DatatypeProperty rdf:about="#walking">
- <rdf:type rdf:resource="&owl;FunctionalProperty"/>
- <rdfs:domain rdf:resource="#Situations"/>
- <rdfs:range rdf:resource="&xsd;boolean"/>
- </owl:DatatypeProperty>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#deviceIdentifier -->
-
- <owl:DatatypeProperty rdf:about="&DeliveryContext;deviceIdentifier"/>
-
-
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////
- //
- // Classes
- //
- ///////////////////////////////////////////////////////////////////////////////////////
- -->
-
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Accelerometer -->
-
- <owl:Class rdf:about="#Accelerometer">
- <rdfs:subClassOf rdf:resource="#Sensors"/>
- <owl:disjointWith rdf:resource="#AccelerometerContext"/>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT
-
-Visualizing the situation (ContextUseCaseCandidatesOP20090303.xls).</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AccelerometerContext -->
-
- <owl:Class rdf:about="#AccelerometerContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AccessControlPolicy -->
-
- <owl:Class rdf:about="#AccessControlPolicy">
- <rdfs:subClassOf rdf:resource="#Users"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Accessories -->
-
- <owl:Class rdf:about="#Accessories">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#AccessoryContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AccessoryContext -->
-
- <owl:Class rdf:about="#AccessoryContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#AccessoryStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Action -->
-
- <owl:Class rdf:about="#Action">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <rdfs:comment rdf:datatype="&xsd;string"
- >Represents a set of all actions</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Activity -->
-
- <owl:Class rdf:about="#Activity">
- <rdfs:subClassOf rdf:resource="#Users"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Addresses -->
-
- <owl:Class rdf:about="#Addresses">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Locality"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#TypeOfAddress"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#StreetAddress"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Country"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PostalCode"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >Structured address of person. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Advertising -->
-
- <owl:Class rdf:about="#Advertising">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ContextualAdvertising"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Alarm -->
-
- <owl:Class rdf:about="#Alarm">
- <rdfs:subClassOf rdf:resource="#AlarmClock"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SoundLevel"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isSilent"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#ledEnabled"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#vibraEnabled"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#AlarmContext"/>
- <owl:disjointWith rdf:resource="#Application-levelRoamingandOnlineContentUpdate"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AlarmClock -->
-
- <owl:Class rdf:about="#AlarmClock">
- <rdfs:subClassOf rdf:resource="#Application"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AlarmContext -->
-
- <owl:Class rdf:about="#AlarmContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AmbientLightContext -->
-
- <owl:Class rdf:about="#AmbientLightContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:disjointWith rdf:resource="#Ambient_light"/>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Ambient_light -->
-
- <owl:Class rdf:about="#Ambient_light">
- <rdfs:subClassOf rdf:resource="#Light"/>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Anniversasy -->
-
- <owl:Class rdf:about="#Anniversasy">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Application -->
-
- <owl:Class rdf:about="#Application">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#lastTouch"/>
- <owl:someValuesFrom rdf:resource="&xsd;time"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#atWork"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Device"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#applicationUser"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#command"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PR"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#totalTimeOpen"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#reserved"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#activeContentItem"/>
- <owl:someValuesFrom rdf:resource="&xsd;anyURI"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#totalTimeOpenSession"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PID"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNearByContacts"/>
- <owl:someValuesFrom rdf:resource="#vCard"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#virtual"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#totalTimesOpened"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#applicationName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#BackLightLevel"/>
- <owl:disjointWith rdf:resource="#CurrentApplicationContext"/>
- <owl:disjointWith rdf:resource="#CurrentBackLightLevel"/>
- <owl:disjointWith rdf:resource="#MostUsedApplications"/>
- <owl:disjointWith rdf:resource="#SubscribedApplications"/>
- <owl:disjointWith rdf:resource="#UnSubscribedApplications"/>
- <owl:disjointWith rdf:resource="#UnusedApplications"/>
- <owl:disjointWith rdf:resource="#Weather"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Application-levelRoamingandOnlineContentUpdate -->
-
- <owl:Class rdf:about="#Application-levelRoamingandOnlineContentUpdate">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#Browser"/>
- <owl:disjointWith rdf:resource="#Calendar"/>
- <owl:disjointWith rdf:resource="#ConnectivityStatus"/>
- <owl:disjointWith rdf:resource="#Download"/>
- <owl:disjointWith rdf:resource="#DownloadedContent"/>
- <owl:disjointWith rdf:resource="#Feeds"/>
- <owl:disjointWith rdf:resource="#Learning"/>
- <owl:disjointWith rdf:resource="#MusicPlayer"/>
- <owl:disjointWith rdf:resource="#Share"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <owl:disjointWith rdf:resource="#Widgets"/>
- <rdfs:comment
- >Application-level roaming &amp; online content update. ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ApplicationSubscriptionStatus -->
-
- <owl:Class rdf:about="#ApplicationSubscriptionStatus">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ApplicationUsageFrequencies -->
-
- <owl:Class rdf:about="#ApplicationUsageFrequencies">
- <rdfs:subClassOf rdf:resource="#UsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Assistant -->
-
- <owl:Class rdf:about="#Assistant">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#AssistantTelephone"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#AssistantName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Authentication -->
-
- <owl:Class rdf:about="#Authentication">
- <rdfs:subClassOf rdf:resource="#People"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AuthorizationChallenge -->
-
- <owl:Class rdf:about="#AuthorizationChallenge">
- <rdfs:subClassOf rdf:resource="#Authentication"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#NAuth"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AuthorizationResponse -->
-
- <owl:Class rdf:about="#AuthorizationResponse">
- <rdfs:subClassOf rdf:resource="#Authentication"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuthTimestamp"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuthSignatureMethod"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuth"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuthSignature"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuthNonce"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuthToken"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#OAuthConsumerKey"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AutomaticPresenceChanges -->
-
- <owl:Class rdf:about="#AutomaticPresenceChanges">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#Calendar"/>
- <owl:disjointWith rdf:resource="#ConnectivityStatus"/>
- <owl:disjointWith rdf:resource="#Contacts"/>
- <owl:disjointWith rdf:resource="#PresenceStatus"/>
- <owl:disjointWith rdf:resource="#Time"/>
- <rdfs:comment
- >Automatic presence changes. ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AutomaticRedial -->
-
- <owl:Class rdf:about="#AutomaticRedial">
- <rdfs:subClassOf rdf:resource="#Setting"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BTHeadset -->
-
- <owl:Class rdf:about="#BTHeadset">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasBTHeadset"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BTStereoHeadset -->
-
- <owl:Class rdf:about="#BTStereoHeadset">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasBTStereoHeadset"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BackGroundImageFileName -->
-
- <owl:Class rdf:about="#BackGroundImageFileName">
- <rdfs:subClassOf rdf:resource="#Setting"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BackLightLevel -->
-
- <owl:Class rdf:about="#BackLightLevel">
- <rdfs:subClassOf rdf:resource="#Ambient_light"/>
- <owl:disjointWith rdf:resource="#CurrentBackLightLevel"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BackgroundNoise -->
-
- <owl:Class rdf:about="#BackgroundNoise">
- <rdfs:subClassOf rdf:resource="#Sensors"/>
- <owl:disjointWith rdf:resource="#VolumeIncreaseinNoisyEnvironment"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Backlight -->
-
- <owl:Class rdf:about="#Backlight">
- <rdfs:subClassOf rdf:resource="#Display"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BackupRestore -->
-
- <owl:Class rdf:about="#BackupRestore">
- <rdfs:subClassOf rdf:resource="#Application"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BasicInfoVisibility -->
-
- <owl:Class rdf:about="#BasicInfoVisibility">
- <rdfs:subClassOf rdf:resource="#AccessControlPolicy"/>
- <rdfs:subClassOf rdf:resource="#Users"/>
- <rdfs:comment
- >Rule controlling the visibility of basic profile information towards other users. Enumeration. Supported values: &#8220;everybody&#8221;, &#8220;friends&#8221;. Note that this rule also (implicitly) controls the policy owner&#39;s visibility in user searches. Singular property.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Battery -->
-
- <owl:Class rdf:about="#Battery">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BatteryLevel -->
-
- <owl:Class rdf:about="#BatteryLevel">
- <rdfs:subClassOf rdf:resource="#Battery"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#BatteryStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BatteryStatusContext -->
-
- <owl:Class rdf:about="#BatteryStatusContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Bearers -->
-
- <owl:Class rdf:about="#Bearers">
- <rdfs:subClassOf rdf:resource="#Connectivity"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Birthday -->
-
- <owl:Class rdf:about="#Birthday">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Books -->
-
- <owl:Class rdf:about="#Books">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Favorite books of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Browser -->
-
- <owl:Class rdf:about="#Browser">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ContextualRemindersActions"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#VisualizingSituation"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BrowserUsageFrequency -->
-
- <owl:Class rdf:about="#BrowserUsageFrequency">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CPULoad -->
-
- <owl:Class rdf:about="#CPULoad">
- <rdfs:subClassOf rdf:resource="&DeliveryContext;CPU"/>
- <owl:disjointWith rdf:resource="#currentCPULoad"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CPULoadContext -->
-
- <owl:Class rdf:about="#CPULoadContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:disjointWith rdf:resource="#currentCPULoad"/>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Calendar -->
-
- <owl:Class rdf:about="#Calendar">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ContextualAdvertising"/>
- <owl:disjointWith rdf:resource="#ContextualRemindersActions"/>
- <owl:disjointWith rdf:resource="#ContextualTagging"/>
- <owl:disjointWith rdf:resource="#InMeeting"/>
- <owl:disjointWith rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- <owl:disjointWith rdf:resource="#ViewandNavigatetoMeetingLocation"/>
- <owl:disjointWith rdf:resource="#VisualizingSituation"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CalendarUsageFrequency -->
-
- <owl:Class rdf:about="#CalendarUsageFrequency">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CallContext -->
-
- <owl:Class rdf:about="#CallContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Call"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#Telephone"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Camera -->
-
- <owl:Class rdf:about="#Camera">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasCamera"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CarContext -->
-
- <owl:Class rdf:about="#CarContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasCarDock"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#CarDock"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CarDock -->
-
- <owl:Class rdf:about="#CarDock">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasCarDock"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isDockedinCar"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CarUI -->
-
- <owl:Class rdf:about="#CarUI">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#Evening"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ChargeLocation -->
-
- <owl:Class rdf:about="#ChargeLocation">
- <rdfs:subClassOf rdf:resource="#Location"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Charger -->
-
- <owl:Class rdf:about="#Charger">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isCharging"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ChargingSuggested -->
-
- <owl:Class rdf:about="#ChargingSuggested">
- <rdfs:subClassOf rdf:resource="#Charger"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#chargesuggestion"/>
- <owl:someValuesFrom rdf:resource="#ChargeLocation"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#Location"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Children -->
-
- <owl:Class rdf:about="#Children">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Clock -->
-
- <owl:Class rdf:about="#Clock">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ContextualRemindersActions"/>
- <owl:disjointWith rdf:resource="#ContextualTagging"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Colleagues -->
-
- <owl:Class rdf:about="#Colleagues">
- <rdfs:subClassOf rdf:resource="#Members"/>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ComputingContext -->
-
- <owl:Class rdf:about="#ComputingContext">
- <rdfs:subClassOf rdf:resource="#Context"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNearbyPeripherals"/>
- <owl:someValuesFrom rdf:resource="#Peripherals"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNearbyDevices"/>
- <owl:someValuesFrom rdf:resource="#NearbyDevices"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasConnectivity"/>
- <owl:someValuesFrom rdf:resource="#ConnectivityStatus"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#People"/>
- <owl:disjointWith rdf:resource="#Places"/>
- <owl:disjointWith rdf:resource="#Things"/>
- <rdfs:comment
- >Means e.g. network connectivity, communication costs, and
-communication bandwidth, and nearby devices and peripherals.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ConferenceCamera -->
-
- <owl:Class rdf:about="#ConferenceCamera">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasConferenceCamera"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Connectivity -->
-
- <owl:Class rdf:about="#Connectivity">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ConnectivityStatus -->
-
- <owl:Class rdf:about="#ConnectivityStatus">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Connected"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Disconnected"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Connectivity"/>
- <owl:disjointWith rdf:resource="#ContextualRemindersActions"/>
- <owl:disjointWith rdf:resource="#DelayedBackupandSynchronization"/>
- <owl:disjointWith rdf:resource="#DelayedUploadShareofContent"/>
- <owl:disjointWith rdf:resource="#Location-basedWLANSearch"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- <rdfs:comment
- >Visualizing the situation (ContextUseCaseCandidatesOP20090303.xls).</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Contacts -->
-
- <owl:Class rdf:about="#Contacts">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ContextualAdvertising"/>
- <owl:disjointWith rdf:resource="#ContextualRemindersActions"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContactsUsageFrequency -->
-
- <owl:Class rdf:about="#ContactsUsageFrequency">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Context -->
-
- <owl:Class rdf:about="#Context">
- <owl:disjointWith rdf:resource="#People"/>
- <owl:disjointWith rdf:resource="#Places"/>
- <owl:disjointWith rdf:resource="#Things"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_EnvironmentEntity"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_HardwareEntity"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_NetworkEntity"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_SoftwareEntity"/>
- <owl:backwardCompatibleWith
- >The Nokia Context Ontology provides a formal model of the characteristics of the environment in which devices interact with the Web, applications inside device and services in network. The context ontology includes the characteristics of the device, the software used to access the service and the network providing the connection, personal and group information etc.
-
-The context ontology is an important source of information that can be used to adapt materials to make them useable on a wide range of different devices, applications and services with different capabilities.
-
-The ontology is formally specified in the Web Ontology Language [OWL]. This document describes the ontology and gives details of each property that it contains.
-
-The ontology conforms to the OWL-DL expressivity. This allows it to be used within appropriately written reasoning systems.
-
-The Context class represents the set of characteristics that describes the context in which materials are exchanged between the applications, Web, services and a device.</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContextualAdvertising -->
-
- <owl:Class rdf:about="#ContextualAdvertising">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#DirectUI"/>
- <owl:disjointWith rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#Maps"/>
- <owl:disjointWith rdf:resource="#People"/>
- <owl:disjointWith rdf:resource="#Reminder"/>
- <owl:disjointWith rdf:resource="#Situations"/>
- <owl:disjointWith rdf:resource="#Time"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContextualMediaPlayers -->
-
- <owl:Class rdf:about="#ContextualMediaPlayers">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#CurrentActivity"/>
- <owl:disjointWith rdf:resource="#MusicPlayer"/>
- <owl:disjointWith rdf:resource="#Sensors"/>
- <owl:disjointWith rdf:resource="#Situations"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContextualRemindersActions -->
-
- <owl:Class rdf:about="#ContextualRemindersActions">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#remainderStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#DirectUI"/>
- <owl:disjointWith rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#Maps"/>
- <owl:disjointWith rdf:resource="#Multimedia"/>
- <owl:disjointWith rdf:resource="#PresenceStatus"/>
- <owl:disjointWith rdf:resource="#Reminder"/>
- <owl:disjointWith rdf:resource="#Share"/>
- <owl:disjointWith rdf:resource="#Situations"/>
- <owl:disjointWith rdf:resource="#Time"/>
- <rdfs:comment
- >Contextual reminders/actions. ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContextualTagging -->
-
- <owl:Class rdf:about="#ContextualTagging">
- <rdfs:subClassOf rdf:resource="#ComputingContext"/>
- <owl:disjointWith rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#TaggingWidget"/>
- <owl:disjointWith rdf:resource="#UserCurrentSituation"/>
- <owl:disjointWith rdf:resource="#Weather"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <rdfs:comment
- >Contextual tagging. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ContextualWidgetsandServices -->
-
- <owl:Class rdf:about="#ContextualWidgetsandServices">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#Display"/>
- <owl:disjointWith rdf:resource="#DownloadedContent"/>
- <owl:disjointWith rdf:resource="#Events"/>
- <owl:disjointWith rdf:resource="#JamNotification"/>
- <owl:disjointWith rdf:resource="#Learning"/>
- <owl:disjointWith rdf:resource="#Maps"/>
- <owl:disjointWith rdf:resource="#PresenceStatus"/>
- <owl:disjointWith rdf:resource="#Sensors"/>
- <owl:disjointWith rdf:resource="#Situations"/>
- <owl:disjointWith rdf:resource="#Social"/>
- <owl:disjointWith rdf:resource="#Time"/>
- <owl:disjointWith rdf:resource="#Weather"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <owl:disjointWith rdf:resource="#Widgets"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentActivity -->
-
- <owl:Class rdf:about="#CurrentActivity">
- <rdfs:subClassOf rdf:resource="#Activity"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isWatching"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isCalling"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isListening"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isBrowsing"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isChatting"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isCreatingContent"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#CurrentActivityContext"/>
- <owl:disjointWith rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentActivityContext -->
-
- <owl:Class rdf:about="#CurrentActivityContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentApplicationContext -->
-
- <owl:Class rdf:about="#CurrentApplicationContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#currentApplication"/>
- <owl:someValuesFrom rdf:resource="&rdfs;Literal"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentBackLightLevel -->
-
- <owl:Class rdf:about="#CurrentBackLightLevel">
- <rdfs:subClassOf rdf:resource="#Ambient_light"/>
- <owl:disjointWith rdf:resource="#Physicalcontext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentEvent -->
-
- <owl:Class rdf:about="#CurrentEvent">
- <rdfs:subClassOf rdf:resource="#EventStructure"/>
- <rdfs:subClassOf rdf:resource="#Events"/>
- <owl:disjointWith rdf:resource="#DeviceOrientationforUI"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentEventContext -->
-
- <owl:Class rdf:about="#CurrentEventContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:disjointWith rdf:resource="#EventStructure"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentLocation -->
-
- <owl:Class rdf:about="#CurrentLocation">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <rdfs:subClassOf rdf:resource="#Position"/>
- <owl:disjointWith rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#Reminder"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentOrientation -->
-
- <owl:Class rdf:about="#CurrentOrientation">
- <rdfs:subClassOf rdf:resource="#Accelerometer"/>
- <rdfs:subClassOf rdf:resource="#Orientation"/>
- <owl:disjointWith rdf:resource="#DeviceOrientationforUI"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentStatus -->
-
- <owl:Class rdf:about="#CurrentStatus">
- <rdfs:subClassOf rdf:resource="#Accelerometer"/>
- <rdfs:subClassOf rdf:resource="#DeviceStatus"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CurrentTimeZone -->
-
- <owl:Class rdf:about="#CurrentTimeZone">
- <rdfs:subClassOf rdf:resource="#Time"/>
- <rdfs:subClassOf rdf:resource="#TimeZones"/>
- <owl:disjointWith rdf:resource="#TimeZoneContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DelayedBackupandSynchronization -->
-
- <owl:Class rdf:about="#DelayedBackupandSynchronization">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#MusicPlayer"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DelayedUploadShareofContent -->
-
- <owl:Class rdf:about="#DelayedUploadShareofContent">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasSubscribed"/>
- <owl:someValuesFrom rdf:resource="#SubscribedApplications"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#Multimedia"/>
- <owl:disjointWith rdf:resource="#NearbyDevices"/>
- <owl:disjointWith rdf:resource="#Share"/>
- <owl:disjointWith rdf:resource="#Sharemedia"/>
- <rdfs:comment
- >Delayed upload/share of content. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Device -->
-
- <owl:Class rdf:about="#Device">
- <rdfs:subClassOf rdf:resource="#Things"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DeviceOrientationforUI -->
-
- <owl:Class rdf:about="#DeviceOrientationforUI">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <owl:disjointWith rdf:resource="#DirectUI"/>
- <owl:disjointWith rdf:resource="#SetUIforCorrectPosition"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DeviceStatus -->
-
- <owl:Class rdf:about="#DeviceStatus">
- <rdfs:subClassOf rdf:resource="#Accelerometer"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DirectUI -->
-
- <owl:Class rdf:about="#DirectUI">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#VisualizingSituation"/>
- <rdfs:comment
- >Visualizing the situation (ContextUseCaseCandidatesOP20090303.xls).</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Display -->
-
- <owl:Class rdf:about="#Display">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#TouchEventContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Download -->
-
- <owl:Class rdf:about="#Download">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DownloadedContent -->
-
- <owl:Class rdf:about="#DownloadedContent">
- <rdfs:subClassOf rdf:resource="#ProvidersforOnlineContext"/>
- <rdfs:comment
- >Downloaded content that can be viewed at any time.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#DuringDay -->
-
- <owl:Class rdf:about="#DuringDay">
- <rdfs:subClassOf rdf:resource="#Situations"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#available"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#atWork"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#remainderStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#MostUsedApplications"/>
- <owl:disjointWith rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <owl:disjointWith rdf:resource="#WorkLocation"/>
- <rdfs:comment
- >During day with Mary. Context_Aware_Situation_Manager.ppt, slide 5.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ETag -->
-
- <owl:Class rdf:about="#ETag">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >Opaque string that changes whenever contents of resource changes. Value can be used in conditional operations. Read-only (value managed by the system).
-
-PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EasyAccess -->
-
- <owl:Class rdf:about="#EasyAccess">
- <rdfs:subClassOf rdf:resource="#Application"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EmailUsageFrequency -->
-
- <owl:Class rdf:about="#EmailUsageFrequency">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Emails -->
-
- <owl:Class rdf:about="#Emails">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EmailPrimary"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EmailValue"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EmailType"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EnvironmentalContext -->
-
- <owl:Class rdf:about="#EnvironmentalContext">
- <rdfs:subClassOf rdf:resource="#UsersContext"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Evening -->
-
- <owl:Class rdf:about="#Evening">
- <rdfs:subClassOf rdf:resource="#Situations"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isDockedinCar"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <rdfs:comment
- >In the evening with Mary. Context_Aware_Situation_Manager.ppt, slide 6.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Event -->
-
- <owl:Class rdf:about="#Event">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#ringing"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#receivedCall"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#startedCall"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Activity"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Next"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Current"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EventStructure -->
-
- <owl:Class rdf:about="#EventStructure">
- <rdfs:subClassOf rdf:resource="#Events"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EventStartTime"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EventType"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EventEndTime"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EventURI"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EventTitle"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isOnVacation"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Events -->
-
- <owl:Class rdf:about="#Events">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Everybody -->
-
- <owl:Class rdf:about="#Everybody">
- <rdfs:subClassOf rdf:resource="#BasicInfoVisibility"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Everyone -->
-
- <owl:Class rdf:about="#Everyone">
- <rdfs:subClassOf rdf:resource="#Members"/>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ExternalCard -->
-
- <owl:Class rdf:about="#ExternalCard">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasExternalCard"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ExternalMmcCoverOpen -->
-
- <owl:Class rdf:about="#ExternalMmcCoverOpen">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isExternalMMCCoverOpen"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#FMReceiver -->
-
- <owl:Class rdf:about="#FMReceiver">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasFMReceiver"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#FMTransmitter -->
-
- <owl:Class rdf:about="#FMTransmitter">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasFMTransmitter"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Family -->
-
- <owl:Class rdf:about="#Family">
- <rdfs:subClassOf rdf:resource="#Members"/>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Feedback -->
-
- <owl:Class rdf:about="#Feedback">
- <rdfs:subClassOf rdf:resource="#Learning"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Feeds -->
-
- <owl:Class rdf:about="#Feeds">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Food -->
-
- <owl:Class rdf:about="#Food">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Favorite food of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#FrequencyCheckThresholdValue -->
-
- <owl:Class rdf:about="#FrequencyCheckThresholdValue">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- <rdfs:comment
- >Time in hours when new frequency check is allowed. E.g. once in week ==&gt; Then the value of this 168. Naturally the value is updateable at any time.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Friends -->
-
- <owl:Class rdf:about="#Friends">
- <rdfs:subClassOf rdf:resource="#Members"/>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#VisibilityforFriends"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GPSModule -->
-
- <owl:Class rdf:about="#GPSModule">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Games -->
-
- <owl:Class rdf:about="#Games">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Favorite games of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Gender -->
-
- <owl:Class rdf:about="#Gender">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Female"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Male"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >Gender of person (male|female). Singular property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Groups -->
-
- <owl:Class rdf:about="#Groups">
- <rdfs:subClassOf rdf:resource="#People"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GroupETag"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GroupID"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GroupName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#MemberOf"/>
- <owl:disjointWith rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#Users"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Headset -->
-
- <owl:Class rdf:about="#Headset">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasHeadset"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Hobbies -->
-
- <owl:Class rdf:about="#Hobbies">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Hobbies of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HomeLocation -->
-
- <owl:Class rdf:about="#HomeLocation">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PositionVariables"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#MorningSituation"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Ims -->
-
- <owl:Class rdf:about="#Ims">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#IMSType"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#IMSPrimary"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#IMSValue"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >Address for Instant Messaging and Presence Protocol applications (see e.g. RFC4770). PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#InMeeting -->
-
- <owl:Class rdf:about="#InMeeting">
- <rdfs:subClassOf rdf:resource="#Situations"/>
- <owl:disjointWith rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#Messaging"/>
- <owl:disjointWith rdf:resource="#People"/>
- <owl:disjointWith rdf:resource="#PresenceStatus"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <owl:backwardCompatibleWith
- >During the day with Mary. Context_Aware_Situation_Manager.ppt, slide 5.</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Interests -->
-
- <owl:Class rdf:about="#Interests">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Interests of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#JamNotification -->
-
- <owl:Class rdf:about="#JamNotification">
- <rdfs:subClassOf rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#Physicalcontext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Keyboard -->
-
- <owl:Class rdf:about="#Keyboard">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasKeyboard"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#KeyboardOpen -->
-
- <owl:Class rdf:about="#KeyboardOpen">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isKeyboardOpen"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Landmarks -->
-
- <owl:Class rdf:about="#Landmarks">
- <rdfs:subClassOf rdf:resource="#Places"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LastMusic -->
-
- <owl:Class rdf:about="#LastMusic">
- <rdfs:subClassOf rdf:resource="#Activity"/>
- <owl:disjointWith rdf:resource="#Music"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LatetsFrequencyCheckMade -->
-
- <owl:Class rdf:about="#LatetsFrequencyCheckMade">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- <rdfs:comment
- >Tells when the latest frequency check is made This prevents &#39;ping-pong&#39; effects that migh make updates constantly.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Learning -->
-
- <owl:Class rdf:about="#Learning">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#MostUsedApplications"/>
- <rdfs:comment
- >Most used applications (ContextUseCaseCandidatesOP20090303.xls).</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LearningAlgorithms -->
-
- <owl:Class rdf:about="#LearningAlgorithms">
- <rdfs:subClassOf rdf:resource="#Learning"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Light -->
-
- <owl:Class rdf:about="#Light">
- <rdfs:subClassOf rdf:resource="#Sensors"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Location -->
-
- <owl:Class rdf:about="#Location">
- <rdfs:subClassOf rdf:resource="#Places"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GPSModuleAttached"/>
- <owl:someValuesFrom rdf:resource="#GPSModule"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#Location-basedWLANSearch"/>
- <owl:disjointWith rdf:resource="#Situations"/>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- <owl:disjointWith rdf:resource="#ViewandNavigatetoMeetingLocation"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Location-basedWLANSearch -->
-
- <owl:Class rdf:about="#Location-basedWLANSearch">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >Location-based WLAN search. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Magnetometer -->
-
- <owl:Class rdf:about="#Magnetometer">
- <rdfs:subClassOf rdf:resource="#Sensors"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasMagnetometer"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PointingDirection"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#MagnetometerContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MagnetometerContext -->
-
- <owl:Class rdf:about="#MagnetometerContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MapView -->
-
- <owl:Class rdf:about="#MapView">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#UsualRoute"/>
- <rdfs:comment
- >Showing map, showing landmarks on map.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Maps -->
-
- <owl:Class rdf:about="#Maps">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- <owl:disjointWith rdf:resource="#ViewandNavigatetoMeetingLocation"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MaritalStatus -->
-
- <owl:Class rdf:about="#MaritalStatus">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Widowed"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Married"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Individual"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Cohabitating"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Engaged"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Separated"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Single"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >Marital status of person (single|married|separated|divorced|widowed|engaged|cohabitating). PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MemberOf -->
-
- <owl:Class rdf:about="#MemberOf">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >List of groups that person belongs to. Value is maintained by the system and cannot be modified by user. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Members -->
-
- <owl:Class rdf:about="#Members">
- <rdfs:subClassOf rdf:resource="#Groups"/>
- <owl:disjointWith rdf:resource="#VisibilityforFriends"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Memory -->
-
- <owl:Class rdf:about="#Memory">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#MemoryContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MemoryContext -->
-
- <owl:Class rdf:about="#MemoryContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MemoryStatus"/>
- <owl:someValuesFrom rdf:resource="&rdfs;Literal"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:backwardCompatibleWith
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</owl:backwardCompatibleWith>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MentalContext -->
-
- <owl:Class rdf:about="#MentalContext">
- <rdfs:subClassOf rdf:resource="#PersonalContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Menu -->
-
- <owl:Class rdf:about="#Menu">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Messaging -->
-
- <owl:Class rdf:about="#Messaging">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#VisualizingSituation"/>
- <rdfs:comment
- >Visualizing the situation (ContextUseCaseCandidatesOP20090303.xls).</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Microphone -->
-
- <owl:Class rdf:about="#Microphone">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasMicrophone"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MorningSituation -->
-
- <owl:Class rdf:about="#MorningSituation">
- <rdfs:subClassOf rdf:resource="#Situations"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#morning"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasUsualRoute"/>
- <owl:someValuesFrom rdf:resource="#UsualRoute"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#alarmSet"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#currentWeather"/>
- <owl:someValuesFrom rdf:resource="#MorningSituation"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasSubscribedJamNotification"/>
- <owl:someValuesFrom rdf:resource="#MorningSituation"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#available"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#MostUsedApplications"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <rdfs:comment
- >&quot;In the morning with Mary&quot; (Context_Aware_Situation_Manager.ppt)</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MostUsedApplications -->
-
- <owl:Class rdf:about="#MostUsedApplications">
- <rdfs:subClassOf rdf:resource="#ComputingContext"/>
- <owl:disjointWith rdf:resource="#UnusedApplications"/>
- <owl:disjointWith rdf:resource="#VisualizingSituation"/>
- <owl:disjointWith rdf:resource="#Weather"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <owl:disjointWith rdf:resource="#WorkRelatedApplications"/>
- <rdfs:comment
- >You can create e.g. a formula where you calculate and average value of the applications usage frequencies and those values that are above the average values are considered as MostUsedApplications.
-
-Most used application (ContextUseCaseCandidatesOP20090303.xls).</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Mouse -->
-
- <owl:Class rdf:about="#Mouse">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasMouse"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Movies -->
-
- <owl:Class rdf:about="#Movies">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Favorite movies of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MultiTouchScreen -->
-
- <owl:Class rdf:about="#MultiTouchScreen">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasMultiTouchScreen"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Multimedia -->
-
- <owl:Class rdf:about="#Multimedia">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <rdfs:comment
- >All kinds of media like audio, video, images etc.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Music -->
-
- <owl:Class rdf:about="#Music">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Favorite music of person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MusicPlayer -->
-
- <owl:Class rdf:about="#MusicPlayer">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#VolumeIncreaseinNoisyEnvironment"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Navigator -->
-
- <owl:Class rdf:about="#Navigator">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <owl:disjointWith rdf:resource="#UsualRoute"/>
- <rdfs:comment
- >Selecting a location from map, engaging navigation.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NearbyContacsContext -->
-
- <owl:Class rdf:about="#NearbyContacsContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNearByContacts"/>
- <owl:someValuesFrom rdf:resource="#NearbyPeople"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#NearbyPeople"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NearbyDevices -->
-
- <owl:Class rdf:about="#NearbyDevices">
- <rdfs:subClassOf rdf:resource="#Connectivity"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="&DeliveryContext;deviceIdentifier"/>
- <owl:someValuesFrom rdf:resource="&rdfs;Literal"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NearbyPeople -->
-
- <owl:Class rdf:about="#NearbyPeople">
- <rdfs:subClassOf rdf:resource="#Users"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#usersCurrentLocation"/>
- <owl:someValuesFrom rdf:resource="#CurrentLocation"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasNearByContacts"/>
- <owl:someValuesFrom rdf:resource="#Person"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Nickname -->
-
- <owl:Class rdf:about="#Nickname">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Note -->
-
- <owl:Class rdf:about="#Note">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >Supplemental information (e.g. a comment) that is associated with person. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NotificationType -->
-
- <owl:Class rdf:about="#NotificationType">
- <rdfs:subClassOf rdf:resource="#Notifications"/>
- <rdfs:comment
- >Type of the notification. Enumeration. Supported values: &quot;invitationSent&quot;, &quot;invitationReceived&quot;,
-&#8220;invitationRejected&#8221;,
-&#8220;invitationCancelled&#8221;,
-&quot;relationCreated&quot;, &quot;relationRemoved&quot;,</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Notifications -->
-
- <owl:Class rdf:about="#Notifications">
- <rdfs:subClassOf rdf:resource="#Users"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#From"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Received"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#NotificationID"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#To"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Organizations -->
-
- <owl:Class rdf:about="#Organizations">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#NameOfOrganization"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Title"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Department"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >Organizational title, name and department associated with person. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Orientation -->
-
- <owl:Class rdf:about="#Orientation">
- <rdfs:subClassOf rdf:resource="#Accelerometer"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#OviProfile -->
-
- <owl:Class rdf:about="#OviProfile">
- <rdfs:subClassOf rdf:resource="#Users"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#People -->
-
- <owl:Class rdf:about="#People">
- <rdfs:subClassOf rdf:resource="#Context"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Peripherals -->
-
- <owl:Class rdf:about="#Peripherals">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PrinterName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Person -->
-
- <owl:Class rdf:about="#Person">
- <rdfs:subClassOf rdf:resource="#Social"/>
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- <rdfs:subClassOf rdf:resource="#vCard"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#UserID"/>
- <owl:someValuesFrom rdf:resource="&xsd;unsignedLong"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasSubscribedJamNotification"/>
- <owl:someValuesFrom rdf:resource="#JamNotification"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasMorningSituation"/>
- <owl:someValuesFrom rdf:resource="#MorningSituation"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#remainderStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PersonID"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#IMStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#Users"/>
- <owl:disjointWith rdf:resource="#UsualRoute"/>
- <rdfs:comment
- >Person object represents either another Ovi user or a contact record (person.type property indicates which one).
-
-It might be good to know, what is the current activity (value of CurrentActivity class) and current location (CurrentLocation class) of friends etc.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PersonName -->
-
- <owl:Class rdf:about="#PersonName">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#FamilyName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#HonoricSuffix"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MiddleName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GivenName"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#HonoricPrefix"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PersonalContext -->
-
- <owl:Class rdf:about="#PersonalContext">
- <rdfs:subClassOf rdf:resource="#UsersContext"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhoneNumbers -->
-
- <owl:Class rdf:about="#PhoneNumbers">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhoneNumberType_Work"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhonenumberType_Home"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhonenumberType_Mobile"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhonenumberType_Fax"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhonenumberType"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhoneNumberValue"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhotoSize -->
-
- <owl:Class rdf:about="#PhotoSize">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhotoHuge"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhotoHugeData"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhotoLarge"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PhotoLargeData"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Physicalcontext -->
-
- <owl:Class rdf:about="#Physicalcontext">
- <rdfs:subClassOf rdf:resource="#Context"/>
- <owl:disjointWith rdf:resource="#Places"/>
- <owl:disjointWith rdf:resource="#Things"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_EnvironmentEntity"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_HardwareEntity"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;DeliveryContext_MeasureEntity"/>
- <owl:disjointWith rdf:resource="&DeliveryContext;Environment"/>
- <rdfs:comment
- >Such as lighting, noise levels, traffic conditions, and temperature.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PhysiologicalContext -->
-
- <owl:Class rdf:about="#PhysiologicalContext">
- <rdfs:subClassOf rdf:resource="#PersonalContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Places -->
-
- <owl:Class rdf:about="#Places">
- <rdfs:subClassOf rdf:resource="#Context"/>
- <owl:disjointWith rdf:resource="#Users"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PlacesVisited -->
-
- <owl:Class rdf:about="#PlacesVisited">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <rdfs:comment
- >Places visited by person. List of words or phrases. Plural property. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Policy -->
-
- <owl:Class rdf:about="#Policy">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Position -->
-
- <owl:Class rdf:about="#Position">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PositionVariables"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#UsualRoute"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PositionFix -->
-
- <owl:Class rdf:about="#PositionFix">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <rdfs:subClassOf rdf:resource="#Position"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Speed"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SatelliteNumViewUsed"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MagneticCource"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Heading"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SpeedAccuracy"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MagneticVariation"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#LocalTimeStamp"/>
- <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#UTCTimeStamp"/>
- <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SatelliteNumView"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#HeadingAccuracy"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#UsualRoute"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Presence -->
-
- <owl:Class rdf:about="#Presence">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PresenceContext -->
-
- <owl:Class rdf:about="#PresenceContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:disjointWith rdf:resource="#PresenceStatus"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PresenceStatus -->
-
- <owl:Class rdf:about="#PresenceStatus">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isBusy"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isAvailable"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isAway"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Presence"/>
- <owl:disjointWith rdf:resource="#ViewandNavigatetoMeetingLocation"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#PresenceUpdate -->
-
- <owl:Class rdf:about="#PresenceUpdate">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >Update global presence status according to events scheduled in Calendar. ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Profile -->
-
- <owl:Class rdf:about="#Profile">
- <rdfs:subClassOf rdf:resource="#Setting"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ProfileName -->
-
- <owl:Class rdf:about="#ProfileName">
- <rdfs:subClassOf rdf:resource="#Profile"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ProfileURL -->
-
- <owl:Class rdf:about="#ProfileURL">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >URL to a profile page of person in Ovi. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ProvidersforOnlineContentContext -->
-
- <owl:Class rdf:about="#ProvidersforOnlineContentContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <owl:disjointWith rdf:resource="#ProvidersforOnlineContext"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ProvidersforOnlineContext -->
-
- <owl:Class rdf:about="#ProvidersforOnlineContext">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#Share"/>
- <owl:disjointWith rdf:resource="#Time"/>
- <owl:disjointWith rdf:resource="#Widgets"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ProximitySensor -->
-
- <owl:Class rdf:about="#ProximitySensor">
- <rdfs:subClassOf rdf:resource="#Sensors"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isNearSomething"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasProximitySensor"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ProximitySensorContext -->
-
- <owl:Class rdf:about="#ProximitySensorContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isNearSomething"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#RefersTo -->
-
- <owl:Class rdf:about="#RefersTo">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >In case person object represents a contact record (i.e. it has a person.type property with value &#8220;contact card&#8221;) the refersTo attribute may connect the contact record to an Ovi user profile within the system (all contact records do not have this attribute). Value is an id of a person object that represents the Ovi profile of this particular contact. Value is maintained by the system and cannot be modified by user. Singular property.
-
-PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Reminder -->
-
- <owl:Class rdf:about="#Reminder">
- <rdfs:subClassOf rdf:resource="#ProvidersforOnlineContext"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SMSUsageFrequency -->
-
- <owl:Class rdf:about="#SMSUsageFrequency">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Sensors -->
-
- <owl:Class rdf:about="#Sensors">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#SituationBasedChanges"/>
- <owl:disjointWith rdf:resource="#Situations"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SetUIforCorrectPosition -->
-
- <owl:Class rdf:about="#SetUIforCorrectPosition">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >Device orientation for UI. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Setting -->
-
- <owl:Class rdf:about="#Setting">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Share -->
-
- <owl:Class rdf:about="#Share">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <rdfs:comment
- >Sharing medias like images, videos.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Sharemedia -->
-
- <owl:Class rdf:about="#Sharemedia">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >Delayed upload/share of content. ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SignatureforAV -->
-
- <owl:Class rdf:about="#SignatureforAV">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SituationBasedChanges -->
-
- <owl:Class rdf:about="#SituationBasedChanges">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:subClassOf rdf:resource="#Alarm"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#IMStatus"/>
- <owl:someValuesFrom rdf:resource="&rdfs;Literal"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#AccessoryStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SituationStatus"/>
- <owl:someValuesFrom rdf:resource="&rdfs;Literal"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SoundLevel"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Speed"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#BatteryStatus"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#Situations"/>
- <owl:disjointWith rdf:resource="#Time"/>
- <owl:disjointWith rdf:resource="#UserPreferences"/>
- <owl:disjointWith rdf:resource="#Weather"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Situations -->
-
- <owl:Class rdf:about="#Situations">
- <rdfs:subClassOf rdf:resource="#Social"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#running"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#walking"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#VisualizingSituation"/>
- <owl:disjointWith rdf:resource="#WeatherForecast"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Social -->
-
- <owl:Class rdf:about="#Social">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#atWork"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#People"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#socialContext"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isBusyText"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isGoingToWork"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isWithColleagues"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isGoingToHome"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isWithFriends"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SocialContext -->
-
- <owl:Class rdf:about="#SocialContext">
- <rdfs:subClassOf rdf:resource="#UsersContext"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Spatio&#8722;TemporalContext -->
-
- <owl:Class rdf:about="#Spatio&#8722;TemporalContext">
- <rdfs:subClassOf rdf:resource="#UsersContext"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Spouse -->
-
- <owl:Class rdf:about="#Spouse">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment>PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Status -->
-
- <owl:Class rdf:about="#Status">
- <rdfs:subClassOf rdf:resource="#Situations"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SubscribedApplications -->
-
- <owl:Class rdf:about="#SubscribedApplications">
- <rdfs:subClassOf rdf:resource="#ApplicationSubscriptionStatus"/>
- <owl:disjointWith rdf:resource="#UnSubscribedApplications"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Synchronization -->
-
- <owl:Class rdf:about="#Synchronization">
- <rdfs:subClassOf rdf:resource="#Application"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TaggingWidget -->
-
- <owl:Class rdf:about="#TaggingWidget">
- <rdfs:subClassOf rdf:resource="#Widgets"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TaskContext -->
-
- <owl:Class rdf:about="#TaskContext">
- <rdfs:subClassOf rdf:resource="#UsersContext"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Telephone -->
-
- <owl:Class rdf:about="#Telephone">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <owl:disjointWith rdf:resource="#VolumeIncreaseinNoisyEnvironment"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TelephoneUsageFrequency -->
-
- <owl:Class rdf:about="#TelephoneUsageFrequency">
- <rdfs:subClassOf rdf:resource="#ApplicationUsageFrequencies"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Things -->
-
- <owl:Class rdf:about="#Things">
- <rdfs:subClassOf rdf:resource="#Context"/>
- <owl:disjointWith rdf:resource="#Users"/>
- <owl:disjointWith rdf:resource="#UsersContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Time -->
-
- <owl:Class rdf:about="#Time">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#afternoon"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#timeOfYear"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#morningNight"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#morning"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#midnight"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#evening"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#timeOfDay"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Autumn"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#eveningNight"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Spring"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Summer"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Winter"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#Device"/>
- <owl:disjointWith rdf:resource="#TimeContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TimeContext -->
-
- <owl:Class rdf:about="#TimeContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TimeZoneContext -->
-
- <owl:Class rdf:about="#TimeZoneContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TimeZones -->
-
- <owl:Class rdf:about="#TimeZones">
- <rdfs:subClassOf rdf:resource="#Time"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#LOGO"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#TimezoneAwareness"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TimezoneAwareness -->
-
- <owl:Class rdf:about="#TimezoneAwareness">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >Timezone awareness. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#TouchEventContext -->
-
- <owl:Class rdf:about="#TouchEventContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#lastTouch"/>
- <owl:someValuesFrom rdf:resource="&xsd;time"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Type -->
-
- <owl:Class rdf:about="#Type">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >Type of a Person object. Singular property. Enumeration. Supported values: &#8220;profile&#8221;, &#8220;contactCard&#8221;. Read-only (value managed by the system).
-
-PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#USBCableAttached -->
-
- <owl:Class rdf:about="#USBCableAttached">
- <rdfs:subClassOf rdf:resource="#Accessories"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isUSBCapleAttached"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UnSubscribedApplications -->
-
- <owl:Class rdf:about="#UnSubscribedApplications">
- <rdfs:subClassOf rdf:resource="#ApplicationSubscriptionStatus"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UnusedApplications -->
-
- <owl:Class rdf:about="#UnusedApplications">
- <rdfs:subClassOf rdf:resource="#Learning"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Updated -->
-
- <owl:Class rdf:about="#Updated">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:comment
- >Date&amp;time when resource was last modified. Singular property. Read-only (value managed by the system). PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Uptime -->
-
- <owl:Class rdf:about="#Uptime">
- <rdfs:subClassOf rdf:resource="#Device"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#upTimeInformation"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#UptimeContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UptimeContext -->
-
- <owl:Class rdf:about="#UptimeContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#upTimeInformation"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Urls -->
-
- <owl:Class rdf:about="#Urls">
- <rdfs:subClassOf rdf:resource="#Person"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#URLType_Home"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#URLType"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#URLType_Work"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Primary"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >URL meaningful to person. PEOPLE API.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Usage -->
-
- <owl:Class rdf:about="#Usage">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UsageFrequencies -->
-
- <owl:Class rdf:about="#UsageFrequencies">
- <rdfs:subClassOf rdf:resource="#Learning"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UserCurrentLocation -->
-
- <owl:Class rdf:about="#UserCurrentLocation">
- <rdfs:subClassOf rdf:resource="#Users"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#usersCurrentLocation"/>
- <owl:onClass rdf:resource="&DeliveryContext;Location"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UserCurrentSituation -->
-
- <owl:Class rdf:about="#UserCurrentSituation">
- <rdfs:subClassOf rdf:resource="#Situations"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#currentSituation"/>
- <owl:onClass rdf:resource="#Situations"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UserPreferences -->
-
- <owl:Class rdf:about="#UserPreferences">
- <rdfs:subClassOf rdf:resource="#Device"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Users -->
-
- <owl:Class rdf:about="#Users">
- <rdfs:subClassOf rdf:resource="#People"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#UserID"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >List / search other Ovi users</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UsersContext -->
-
- <owl:Class rdf:about="#UsersContext">
- <rdfs:subClassOf rdf:resource="#Context"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#currentSituation"/>
- <owl:onClass rdf:resource="#UserCurrentSituation"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#usersCurrentLocation"/>
- <owl:onClass rdf:resource="&DeliveryContext;Location"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#isBusy"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#currentProfile"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >This class is a collection of properties that form the user context.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#UsualRoute -->
-
- <owl:Class rdf:about="#UsualRoute">
- <rdfs:subClassOf rdf:resource="#Places"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SatelliteNumView"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Speed"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SatelliteNumViewUsed"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SpeedAccuracy"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MagneticVariation"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#Heading"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GPSModuleAttached"/>
- <owl:someValuesFrom rdf:resource="#GPSModule"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#LocalTimeStamp"/>
- <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#UTCTimeStamp"/>
- <owl:someValuesFrom rdf:resource="&xsd;dateTime"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MagneticCource"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#HeadingAccuracy"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ViewandNavigatetoMeetingLocation -->
-
- <owl:Class rdf:about="#ViewandNavigatetoMeetingLocation">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >View and navigate to meeting location. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VisibilityforFriends -->
-
- <owl:Class rdf:about="#VisibilityforFriends">
- <rdfs:subClassOf rdf:resource="#Everybody"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VisibleApplication -->
-
- <owl:Class rdf:about="#VisibleApplication">
- <rdfs:subClassOf rdf:resource="#Activity"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VisualizingSituation -->
-
- <owl:Class rdf:about="#VisualizingSituation">
- <owl:equivalentClass>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasConnectivity"/>
- <owl:someValuesFrom rdf:resource="#ConnectivityStatus"/>
- </owl:Restriction>
- </owl:equivalentClass>
- <rdfs:subClassOf rdf:resource="#UsersContext"/>
- <owl:disjointWith rdf:resource="#VisualizingtheSituation"/>
- <rdfs:comment
- >Visualizing the situation (ContextUseCaseCandidatesOP20090303.xls).</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VisualizingtheSituation -->
-
- <owl:Class rdf:about="#VisualizingtheSituation">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:comment
- >Visualizing the situation. ContextUseCaseCandidatesOP20090303.xls</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#VolumeIncreaseinNoisyEnvironment -->
-
- <owl:Class rdf:about="#VolumeIncreaseinNoisyEnvironment">
- <rdfs:subClassOf rdf:resource="#Action"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#hasSubscribed"/>
- <owl:someValuesFrom rdf:resource="#BackgroundNoise"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >Volume increase in noisy environment. ContextUseCaseCandidatesOP20090303.xls.</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Weather -->
-
- <owl:Class rdf:about="#Weather">
- <rdfs:subClassOf rdf:resource="#ProvidersforOnlineContext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#tempF"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#humidity"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#condition"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#tempC"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <owl:disjointWith rdf:resource="#WeatherContext"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WeatherContext -->
-
- <owl:Class rdf:about="#WeatherContext">
- <rdfs:subClassOf rdf:resource="#Physicalcontext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#currentWeather"/>
- <owl:someValuesFrom rdf:resource="#WeatherForecast"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >http://saescr005.ext.nokia.com/scrumworks/webreport/5MTMxMT</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WeatherForecast -->
-
- <owl:Class rdf:about="#WeatherForecast">
- <rdfs:subClassOf rdf:resource="#ProvidersforOnlineContext"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#humidity"/>
- <owl:someValuesFrom rdf:resource="&xsd;int"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#tempF"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#tempC"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#condition"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Widgets -->
-
- <owl:Class rdf:about="#Widgets">
- <rdfs:subClassOf rdf:resource="#Application"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WorkLocation -->
-
- <owl:Class rdf:about="#WorkLocation">
- <rdfs:subClassOf rdf:resource="#Location"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PositionVariables"/>
- <owl:someValuesFrom rdf:resource="&xsd;double"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WorkRelatedApplications -->
-
- <owl:Class rdf:about="#WorkRelatedApplications">
- <rdfs:subClassOf rdf:resource="#Application"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#atWork"/>
- <owl:someValuesFrom rdf:resource="&xsd;boolean"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#currentCPULoad -->
-
- <owl:Class rdf:about="#currentCPULoad">
- <rdfs:subClassOf rdf:resource="&DeliveryContext;CPU"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#CPULoadStatus"/>
- <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
- </owl:Restriction>
- </rdfs:subClassOf>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#iCalendar -->
-
- <owl:Class rdf:about="#iCalendar">
- <rdfs:subClassOf rdf:resource="#Calendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#vCard -->
-
- <owl:Class rdf:about="#vCard">
- <rdfs:subClassOf rdf:resource="#Contacts"/>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PROID"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#VERSION"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#ROLE"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#GEO"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#TZ"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#NOTE"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#UID"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#KEY"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#CATEGORIES"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#MAILER"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#JOBTITLE"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#ORG"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#FN"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#LABEL"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#URL"/>
- <owl:someValuesFrom rdf:resource="&xsd;anyURI"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SOUND"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#ADR"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#N"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#SORT_STRING"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#CLASS"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#REV"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#NICKNAME"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#URL"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#EMAIL"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#TEL"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#AGENT"/>
- <owl:someValuesFrom rdf:resource="&xsd;string"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#BDAY"/>
- <owl:someValuesFrom rdf:resource="&xsd;date"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:subClassOf>
- <owl:Restriction>
- <owl:onProperty rdf:resource="#PHOTO"/>
- <owl:someValuesFrom rdf:resource="&xsd;anyType"/>
- </owl:Restriction>
- </rdfs:subClassOf>
- <rdfs:comment
- >Prior vCard RFC 2426</rdfs:comment>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#DomainOf_rrule -->
-
- <owl:Class rdf:about="&ical;DomainOf_rrule">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#List_of_Float -->
-
- <owl:Class rdf:about="&ical;List_of_Float">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Valarm -->
-
- <owl:Class rdf:about="&ical;Valarm">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Value_CAL-ADDRESS -->
-
- <owl:Class rdf:about="&ical;Value_CAL-ADDRESS">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Value_DATE -->
-
- <owl:Class rdf:about="&ical;Value_DATE">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Value_DATE-TIME -->
-
- <owl:Class rdf:about="&ical;Value_DATE-TIME">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Value_DURATION -->
-
- <owl:Class rdf:about="&ical;Value_DURATION">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Value_PERIOD -->
-
- <owl:Class rdf:about="&ical;Value_PERIOD">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Value_RECUR -->
-
- <owl:Class rdf:about="&ical;Value_RECUR">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Vevent -->
-
- <owl:Class rdf:about="&ical;Vevent">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Vfreebusy -->
-
- <owl:Class rdf:about="&ical;Vfreebusy">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Vjournal -->
-
- <owl:Class rdf:about="&ical;Vjournal">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Vtimezone -->
-
- <owl:Class rdf:about="&ical;Vtimezone">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2002/12/cal/ical#Vtodo -->
-
- <owl:Class rdf:about="&ical;Vtodo">
- <rdfs:subClassOf rdf:resource="#iCalendar"/>
- </owl:Class>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#CPU -->
-
- <owl:Class rdf:about="&DeliveryContext;CPU"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#DeliveryContext_EnvironmentEntity -->
-
- <owl:Class rdf:about="&DeliveryContext;DeliveryContext_EnvironmentEntity"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#DeliveryContext_HardwareEntity -->
-
- <owl:Class rdf:about="&DeliveryContext;DeliveryContext_HardwareEntity"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#DeliveryContext_MeasureEntity -->
-
- <owl:Class rdf:about="&DeliveryContext;DeliveryContext_MeasureEntity"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#DeliveryContext_NetworkEntity -->
-
- <owl:Class rdf:about="&DeliveryContext;DeliveryContext_NetworkEntity"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#DeliveryContext_SoftwareEntity -->
-
- <owl:Class rdf:about="&DeliveryContext;DeliveryContext_SoftwareEntity"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#Environment -->
-
- <owl:Class rdf:about="&DeliveryContext;Environment"/>
-
-
-
- <!-- http://www.w3.org/2007/uwa/ontologies/DeliveryContext.owl#Location -->
-
- <owl:Class rdf:about="&DeliveryContext;Location"/>
-
-
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////
- //
- // Individuals
- //
- ///////////////////////////////////////////////////////////////////////////////////////
- -->
-
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ActionInstrument -->
-
- <Action rdf:about="#ActionInstrument">
- <rdfs:comment rdf:datatype="&xsd;string"
- >Thing that the actor uses to perform the action</rdfs:comment>
- </Action>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ActionLocation -->
-
- <Action rdf:about="#ActionLocation">
- <rdfs:comment rdf:datatype="&xsd;string"
- >Where the action is performed</rdfs:comment>
- </Action>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#ActionTime -->
-
- <Action rdf:about="#ActionTime">
- <rdfs:comment rdf:datatype="&xsd;string"
- >Time at which the action is performed</rdfs:comment>
- </Action>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Actor -->
-
- <Action rdf:about="#Actor">
- <rdfs:comment rdf:datatype="&xsd;string"
- >Entity that performs the action</rdfs:comment>
- </Action>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AssistedHighAccuracy -->
-
- <GPSModule rdf:about="#AssistedHighAccuracy">
- <rdfs:comment
- >This method uses various assisted satellite positioning systems. [Cost Possible, High Accuracy, Higher Power].</rdfs:comment>
- </GPSModule>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#AssistedLowerAccuracy -->
-
- <GPSModule rdf:about="#AssistedLowerAccuracy">
- <rdfs:comment
- >This method mainly uses various assisted radio cell positioning technologies. [Cost Possible, Lower Accuracy, Lower Power].</rdfs:comment>
- </GPSModule>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BT -->
-
- <Bearers rdf:about="#BT"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Beeper -->
-
- <ProfileName rdf:about="#Beeper"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#BrightLight -->
-
- <BackLightLevel rdf:about="#BrightLight"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#CDMA -->
-
- <Bearers rdf:about="#CDMA"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Dark -->
-
- <BackLightLevel rdf:about="#Dark"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#EDGE -->
-
- <Bearers rdf:about="#EDGE"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Email -->
-
- <Messaging rdf:about="#Email"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Ethernet -->
-
- <Bearers rdf:about="#Ethernet"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#GSM -->
-
- <Bearers rdf:about="#GSM"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#General -->
-
- <ProfileName rdf:about="#General"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HeavyCPULoad -->
-
- <CPULoad rdf:about="#HeavyCPULoad"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#HighAccuracy -->
-
- <GPSModule rdf:about="#HighAccuracy">
- <rdfs:comment
- >This method mainly uses various standalone satellite positioning systems. [No Cost, High Accuracy, Higher Power].</rdfs:comment>
- </GPSModule>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IM -->
-
- <Messaging rdf:about="#IM">
- <IMStatus></IMStatus>
- <IMStatusAvailable rdf:resource="#IM"/>
- </Messaging>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#InvitationReceived -->
-
- <NotificationType rdf:about="#InvitationReceived"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#InvitationRejected -->
-
- <NotificationType rdf:about="#InvitationRejected"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#InvitationSent -->
-
- <NotificationType rdf:about="#InvitationSent"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#IrDA -->
-
- <Bearers rdf:about="#IrDA"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Landscape -->
-
- <Orientation rdf:about="#Landscape"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LightCPULoad -->
-
- <CPULoad rdf:about="#LightCPULoad"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LowLight -->
-
- <BackLightLevel rdf:about="#LowLight"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#LowerAccuracy -->
-
- <GPSModule rdf:about="#LowerAccuracy">
- <rdfs:comment
- >This method mainly uses various radio cell positioning technologies. [No Cost, Lower Accuracy, Lower Power].</rdfs:comment>
- </GPSModule>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MMS -->
-
- <Messaging rdf:about="#MMS"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#MaxCPULoad -->
-
- <CPULoad rdf:about="#MaxCPULoad"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Meeting -->
-
- <ProfileName rdf:about="#Meeting"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Moving -->
-
- <DeviceStatus rdf:about="#Moving"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#NotificationCanceled -->
-
- <NotificationType rdf:about="#NotificationCanceled"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Offline -->
-
- <ProfileName rdf:about="#Offline"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Outdoors -->
-
- <ProfileName rdf:about="#Outdoors"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Portrait -->
-
- <Orientation rdf:about="#Portrait"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Printer -->
-
- <Peripherals rdf:about="#Printer"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Recipient -->
-
- <Action rdf:about="#Recipient">
- <rdfs:comment rdf:datatype="&xsd;string"
- >Entity that receives the effect after the action is performed</rdfs:comment>
- </Action>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#RelationCreated -->
-
- <NotificationType rdf:about="#RelationCreated"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#RelationUpdated -->
-
- <NotificationType rdf:about="#RelationUpdated"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#SMS -->
-
- <Messaging rdf:about="#SMS"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Silent -->
-
- <ProfileName rdf:about="#Silent"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#Target -->
-
- <Action rdf:about="#Target">
- <rdfs:comment rdf:datatype="&xsd;string"
- >Object that the action applies to</rdfs:comment>
- </Action>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WCDMA -->
-
- <Bearers rdf:about="#WCDMA"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WLAN -->
-
- <Bearers rdf:about="#WLAN"/>
-
-
-
- <!-- http://www.semanticweb.org/ontologies/2009/2/Context.owl#WiMAX -->
-
- <Bearers rdf:about="#WiMAX"/>
-</rdf:RDF>
-
-
-
-<!-- Generated by the OWL API (version 2.2.1.974) http://owlapi.sourceforge.net -->
-
diff --git a/spec/Makefile.in b/spec/Makefile.in
new file mode 100644
index 00000000..43074800
--- /dev/null
+++ b/spec/Makefile.in
@@ -0,0 +1,487 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = spec
+DIST_COMMON = $(dist_context_DATA) $(dist_html_DATA) \
+ $(dist_noinst_DATA) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(contextdir)" "$(DESTDIR)$(htmldir)"
+dist_contextDATA_INSTALL = $(INSTALL_DATA)
+dist_htmlDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_context_DATA) $(dist_html_DATA) $(dist_noinst_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = xmllint --noout --schema
+XSLTPROC = xsltproc --xinclude --nonet
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = $(datadir)/doc/contextkit/html/
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+dist_noinst_DATA = context.valid.stamp $(INTROSPECT)
+dist_html_DATA = context-properties.html contextkit.html context-provider-schema.html
+contextdir = $(datadir)/contextkit/
+dist_context_DATA = core.context
+DROP_NAMESPACE = perl -pe '$$hash = chr(35); s{xmlns:tp="http://telepathy\.freedesktop\.org/wiki/DbusSpec$${hash}extensions-v0"}{}g'
+RST2HTML = rst2html
+SPEC_TOOLS = spec-to-introspect.xsl \
+ context2asciidoc.pl \
+ doc-generator.xsl
+
+INTERFACES = \
+ Manager.xml \
+ Subscriber.xml
+
+SPEC_FILES = \
+ $(INTERFACES) \
+ generic-types.xml
+
+INTROSPECT = $(INTERFACES:%.xml=introspect/%.xml)
+tools_dir = $(top_srcdir)/tools
+EXTRA_DIST = \
+ $(SPEC_FILES) \
+ all.xml \
+ context.xsd \
+ $(SPEC_TOOLS) \
+ myfilter.conf
+
+MAINTAINERCLEANFILES = \
+ $(INTROSPECT) \
+ context.valid.stamp \
+ context-properties.html \
+ contextkit.html \
+ context-provider-schema.html
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign spec/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign spec/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_contextDATA: $(dist_context_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(contextdir)" || $(MKDIR_P) "$(DESTDIR)$(contextdir)"
+ @list='$(dist_context_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dist_contextDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(contextdir)/$$f'"; \
+ $(dist_contextDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(contextdir)/$$f"; \
+ done
+
+uninstall-dist_contextDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_context_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(contextdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(contextdir)/$$f"; \
+ done
+install-dist_htmlDATA: $(dist_html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(dist_html_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dist_htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(dist_htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
+uninstall-dist_htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_html_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -f "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(contextdir)" "$(DESTDIR)$(htmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_contextDATA install-dist_htmlDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_contextDATA uninstall-dist_htmlDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dist_contextDATA \
+ install-dist_htmlDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic maintainer-clean-local mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-dist_contextDATA \
+ uninstall-dist_htmlDATA
+
+
+# Generating introspection files
+
+$(INTROSPECT): introspect/%.xml: %.xml spec-to-introspect.xsl
+ install -d introspect
+ $(XSLTPROC) $(srcdir)/spec-to-introspect.xsl $< | $(DROP_NAMESPACE) > $@
+
+# Validating our core property list
+
+context.valid.stamp: context.xsd core.context
+ $(XMLLINT) $^
+ touch $@
+
+# Creating docs from a property declaration file
+
+context-properties.html: core.context context2asciidoc.pl
+ $(srcdir)/context2asciidoc.pl < $< | asciidoc -f $(srcdir)/myfilter.conf -o $@ -
+
+# Creating docs from a DbusSpec
+
+contextkit.html: all.xml $(SPEC_FILES) doc-generator.xsl
+ $(XSLTPROC) $(srcdir)/doc-generator.xsl $< > $@.tmp && mv $@.tmp $@
+
+# Creating docs from a XML schema
+
+context-provider-schema.html: context.xsd
+ xsltproc --nonet --output $@ xs3p/xs3p.xsl $<
+
+maintainer-clean-local:
+ rmdir introspect
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/spec/context-properties.html b/spec/context-properties.html
new file mode 100644
index 00000000..57ff2cfb
--- /dev/null
+++ b/spec/context-properties.html
@@ -0,0 +1,1142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.2.7" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock {
+ margin-right: 0%;
+}
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+div.olist > ol {
+ list-style-type: decimal;
+}
+div.olist2 > ol {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hlist td {
+ padding-bottom: 15px;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+
+/* Because IE6 child selector is broken. */
+div.olist2 ol {
+ list-style-type: lower-alpha;
+}
+div.olist2 div.olist ol {
+ list-style-type: decimal;
+}
+</style>
+<title>Core Context Properties</title>
+</head>
+<body>
+<div id="header">
+<h1>Core Context Properties</h1>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="para"><p>This is the list of the core contextual properties of the Maemo
+platform.</p></div>
+<div class="para"><p>This document is maintained as part of the <tt>contextkit</tt> package.
+Please report change requests as bugs against the <tt>contextkit</tt>
+package.</p></div>
+<div class="para"><p><strong>NOTE:</strong> Most of these properties are unstable and their definition will
+change for some time still. Only the ones explicitly marked as stable
+should be used for now.</p></div>
+</div>
+</div>
+<h2 id="_display_screens">Display screens</h2>
+<div class="sectionbody">
+<div class="para"><p>These properties talk about the display screens of the device.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Screen.TopEdge</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The edge of the main display screen where the user expects
+the top-most UI elements to be. Possible values are the
+strings "top", "bottom", "left", and "right", which refer to
+the edges of the screen in its normal orientation as defined
+by the graphics hardware. <em>(stable)</em>
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+top::
+bottom::
+left::
+right::</p></div>
+</dd>
+<dt>
+<strong>Screen.IsCovered</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the main display screen is covered and can thus not be
+seen by the user. This might mean that the device is laying face down
+on a table, or that its lid is closed if it has one. <em>(stable)</em>
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_location">Location</h2>
+<div class="sectionbody">
+<div class="para"><p>Best effort location information. If any of the keys are not
+appliciable to the current location, they will be unavailable.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Location.Coordinates</strong> (List of <em>double</em>s)
+</dt>
+<dd>
+<p>
+The coordinates of the current position as a list of two or three
+doubles. The first two elemets are latitude and longitude,
+respectivly, in degrees. The third element, when present, is the
+altitude in meter.
+</p>
+</dd>
+<dt>
+<strong>Location.Street</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The street nearest the location of the device, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.PostalCode</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The postcode of the location of the device, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.Area</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the local area where the device is, for example a
+neighborhood or campus, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.Locality</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the village, town or city where the device is, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.Region</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The administrative region which contains the location of the device, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.Country</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The country which contains the location of the device, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.CountryCode</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The ISO 3166 two letter country code of the country which contains the location of the device.
+</p>
+</dd>
+<dt>
+<strong>Location.Timezone</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+TBD
+</p>
+</dd>
+<dt>
+<strong>Location.TimezoneOffset</strong> (<em>duration</em>)
+</dt>
+<dd>
+<p>
+TBD
+</p>
+</dd>
+<dt>
+<strong>Location.Continent</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the current continent, as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.Planet</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the current planet (or dwarf planet), as a localized string.
+</p>
+</dd>
+<dt>
+<strong>Location.PointOfInterest</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The URI of the current point of interest, if any. (The URI points to
+a Nepomuk object inside the Content Framework.)
+</p>
+</dd>
+<dt>
+<strong>Location.NearbyContacts</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+A list of URIs for contacts that are physically nearby.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_battery">Battery</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the batteries of the device.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Battery.ChargePercentage</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+The average charge level of the currently connected batteries.
+Expressed as percentage of the maximum charge level.
+</p>
+</dd>
+<dt>
+<strong>Battery.OnBattery</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently running on battery power,
+i.e., whether at least one of its batteries is currently discharging.
+</p>
+</dd>
+<dt>
+<strong>Battery.LowBattery</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently running on low battery power.
+True if OnBattery is true and the charge levels of all
+batteries are below 10%.
+</p>
+</dd>
+<dt>
+<strong>Battery.IsCharging</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently charging at least one of its batteries.
+</p>
+</dd>
+<dt>
+<strong>Battery.TimeUntilLow</strong> (<em>duration</em>)
+</dt>
+<dd>
+<p>
+Estimates the time that the device can run on battery before the property
+OnLowBattery becomes true. In seconds.
+</p>
+</dd>
+<dt>
+<strong>Battery.TimeUntilFull</strong> (<em>duration</em>)
+</dt>
+<dd>
+<p>
+Estimates the needed charging time of the device. In seconds.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_system">System</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the current state of the device.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>System.MemoryPressure</strong> (<em>int-enum</em>)
+</dt>
+<dd>
+<p>
+Current memory load. Possible values: 0 (normal), 1 (high; low watermark exceeded), 2 (critical; high watermark exceeded).
+</p>
+<div class="para"><p>Type: int-enum
+[horizontal]
+normal :: ARRAY(0x8c61d68)
+high :: ARRAY(0x8c620f8)
+critical :: ARRAY(0x8c61b38)</p></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_internet_connectivity">Internet connectivity</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the connection of the devide to the Internet.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Internet.NetworkType</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The type of the current connection to the Internet. This is one of
+the strings "wifi", "wimax", "cellular", "bluetooth", "ethernet", or
+"usb". (From ConnMan. New types might be defined in the future, of
+course.)
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+wifi::
+wimax::
+cellular::
+bluetooth::
+ethernet::</p></div>
+</dd>
+<dt>
+<strong>Internet.NetworkName</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the current network.
+</p>
+</dd>
+<dt>
+<strong>Internet.NetworkState</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The state of the Internet connection, as one of "connected",
+ "disconnected", and "connecting".
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+disconnected::
+connecting::
+connected::</p></div>
+</dd>
+<dt>
+<strong>Internet.SignalStrength</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+The signal strength of the current connection to the Internet. For
+example, when Internet.NetworkType is "cellular", this is the signal
+strength at the cellular radio, when it is "wifi", it is the signal
+strength at the WLAN radio.
+</p>
+</dd>
+<dt>
+<strong>Internet.TrafficOut</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+A rough indication of the current traffic rate to the Internet, in
+percent of the maximum possible rate.
+</p>
+</dd>
+<dt>
+<strong>Internet.TrafficIn</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+A rough indication of the current traffic rate from the Internet, in
+percent of the maximum possible rate.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_bluetooth">Bluetooth</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about Bluetooth related things.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Bluetooth.Enabled</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the Bluetooth radio is enabled.
+</p>
+</dd>
+<dt>
+<strong>Bluetooth.Visible</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the device is visible to other
+Bluetooth devices when they search for others.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_cellular">Cellular</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the cellular radio.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Cellular.NetworkName</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the cellular network.
+</p>
+</dd>
+<dt>
+<strong>Cellular.SignalStrength</strong> (<em>percentage</em>)
+</dt>
+<dd>
+<p>
+The signal strength at the cellular radio, in percent of the maximum.
+</p>
+</dd>
+<dt>
+<strong>Cellular.Technology</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The currently used Radio Access Technology.
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+gsm::
+umts::</p></div>
+</dd>
+<dt>
+<strong>Cellular.DataTechnology</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The currently used Radio Access Technology for data transfer.
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+gprs::
+egprs::
+umts::
+hspa::</p></div>
+</dd>
+<dt>
+<strong>Cellular.RegistrationStatus</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The current cellular network registration status.
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+home:: Registered with the home network
+roam:: Roaming
+no-sim:: No SIM card is present
+offline:: Cellular radio is powered off
+forbidden:: Cellular access is denied, e.g., because of invalid SIM</p></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_user_alarms">User alarms</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the alams set by the user. We assume, that the user
+can disable or enable all the alarms. In addition, the user can enable
+or disable each alarm individually.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>UserAlarm.Present</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Indicates whether there is an upcoming alarm set by the user. Can be
+true even if alarms are disabled.
+</p>
+</dd>
+<dt>
+<strong>UserAlarm.Enabled</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Indicates whether the alarms are enabled or disabled by the user. If
+there are no alarms, UserAlarm.Enabled is true.
+</p>
+</dd>
+<dt>
+<strong>UserAlarm.NextTime</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The time of the next (enabled) alarm, in Unix time (the number of
+seconds since January 1.1.1970 00:00 UTC). If no alarms are present,
+the value is Unknown.
+</p>
+</dd>
+<dt>
+<strong>UserAlarm.NextDescription</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The description of the next (enabled) alarm. If no alarms are present,
+the value is Unknown.
+</p>
+</dd>
+<dt>
+<strong>UserAlarm.NextCookie</strong> (<em>int32</em>)
+</dt>
+<dd>
+<p>
+The cookie of the next (enabled) alarm. The cookie can be used for
+referring to the alarm when communicating with timed.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_environment">Environment</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the environment the device is in.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Environment.SunRise</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The time of sun rise.
+</p>
+</dd>
+<dt>
+<strong>Environment.SunSet</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The time of sun set.
+</p>
+</dd>
+<dt>
+<strong>Environment.Weather</strong> (Map)
+</dt>
+<dd>
+<p>
+The current weather. See <a href="http://www.ominous-valve.com/wx_codes.txt">http://www.ominous-valve.com/wx_codes.txt</a> for
+more information about codifying weather conditions. We should lift
+something from there, if just for extra geek points.
+</p>
+<div class="para"><p>Possible map keys:
+[horizontal]
+Condition:: The current weather condition, as a localized, human readable string.
+Examples are "Cloudy", "Raining", etc.
+ConditionCode:: The current weather condition, as a symbolic string. The set of
+symbols is to be defined, but it will be fixed and quite small so that
+you can provide an icon for each of them, etc.
+Humidity:: The relative humidity in percent.
+Temperature:: The temperature as a localized string. This string represents the
+temperature in the way preferred by the user. Most often this means
+either degrees Celsius or degrees Fahrenheit, but it could be some
+other unit entirely.
+TemperatureK:: The temperature in Kelvin.
+ApparentTemperature:: The felt temperature as a localized string, analogous to Temperature.
+ApparentTemperatureK:: The felt temperature in Kelvin.
+DewPoint:: The dew point as a localized string, analogous to Temperature.
+DewPointK:: The dew point in Kelvin.
+Pressure:: The atmospheric pressure in milli bar.
+Precipitation:: The rain or snow fall in millimeter per square meter per hour (or some
+other more common unit).
+Visibility:: The visibility in meter.
+WindSpeed:: The wind speed in meters per second.
+WindDirection:: The wind direction as a localized string. The direction is given in
+compass terms: North, South-West, etc.
+WindDirectionD:: The wind direction in degrees. North is 0, east is 90, etc.</p></div>
+</dd>
+<dt>
+<strong>Environment.IsDark</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not it is especially dark.
+</p>
+</dd>
+<dt>
+<strong>Environment.IsBright</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not it is especially bright.
+</p>
+</dd>
+<dt>
+<strong>Environment.IsLoud</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not it is especially loud.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_use">Use</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the current usage context of the device.</p></div>
+<div class="para"><p>Situations are a UI concept similar to Profiles that allows the user
+to have different customizations for his/her device and
+automatically/explcicitly switch between them. Typical Situations are
+"AtHome", "AtWork", "InMeeting" etc. Some of them are probably
+pre-defined, others can be defined by the user. Situations might form
+a hierarchy: InMeeting includes AtWork.</p></div>
+<div class="para"><p>Not much is known about all this right now.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Use.Situations</strong> (<em>string-list</em>)
+</dt>
+<dd>
+<p>
+The symbolic names of the currently active Situations. Note that more
+than one situation might be active at the same time.
+</p>
+</dd>
+<dt>
+<strong>Use.Mode</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The current main usage mode of the device.
+</p>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+editing:: The user is interacting closely with the device and is creating new
+content, such as when composing a email message or creating any other
+kind of document.
+recording:: The user is taking pictures, or recording video or audio.
+browsing:: The user is interacting closely with the device without
+creating new content, such as when browsing search results, or
+browsing through his/her music collection.
+watching:: The user is watching a video, without closely interacting with the
+device.
+listening:: The user is listening to audio, without closely interacting with the
+device.
+reading:: The user is reading a document, such as when reading a article on the
+web or a e-book.
+chatting:: The user is involved in a real-time, text-based dialog with external
+parties.
+gaming:: The user is interacting closely with the device, for entertainment.
+calling:: The user is involved in a real-time, audio- or video-based dialog with
+external parties.
+active:: The user interacting closely with the device, for an activity that
+doesn't fit into any of the above categories.
+idle:: The device is not being used.
+maintenance:: The user is doing system-wide maintenance work such as restoring a
+backup or upgrading the OS software.</p></div>
+</dd>
+<dt>
+<strong>Use.ConnectedContacts</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+A list of URIs for contacts that the user is currently engaged in
+conversations with. (The URIs point to Nepomuk objects.)
+</p>
+</dd>
+<dt>
+<strong>Use.RecentDocuments</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+A list of URIs for recently used documents, at most ten elements long.
+(The URIs point to Nepomuk objects.)
+</p>
+</dd>
+<dt>
+<strong>Use.Keyboarding</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the user is ready to use the keyboard. This property
+is true when a slideout keyboard has been slided out, for example, or
+when a transformer laptop with a tablet mode is in "laptop mode".
+</p>
+</dd>
+<dt>
+<strong>Use.Phoning</strong> (<em>bool</em>)
+</dt>
+<dd>
+<p>
+Whether or not the user is using the device as a telephone handset,
+holding it next to ear and mouth.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_events">Events</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about current and upcoming calendar entries.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Event.Current</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+The currently active events, as a list of Nepomuk URIs. The list
+contains all events whose start time is earlier than or equal to the
+current time, and whose end time is later.
+</p>
+</dd>
+<dt>
+<strong>Event.CurrentStart</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The earliest start time of the events in Events.Current.
+</p>
+</dd>
+<dt>
+<strong>Event.CurrentEnd</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The latest end time of the events in Events.Current.
+</p>
+</dd>
+<dt>
+<strong>Event.Next</strong> (List of <em>nepomuk-uri</em>s)
+</dt>
+<dd>
+<p>
+The upcoming events, as a list of Nepomuk URIs. The list contains
+those events whose start time is later than the current time and
+closest to now. If there are multiple events in the list, they all
+start at exactly the same time.
+</p>
+</dd>
+<dt>
+<strong>Event.NextStart</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The earliest start time of the events in Events.Next.
+</p>
+</dd>
+<dt>
+<strong>Event.NextEnd</strong> (<em>time</em>)
+</dt>
+<dd>
+<p>
+The latest end time of the events in Events.Next.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_profiles">Profiles</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the expected behavior of the device.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Profile.Name</strong> (<em>string</em>)
+</dt>
+<dd>
+<p>
+The name of the currently active profile as a localized string. You
+should not try to interpret this string, it is only meant to be
+displayed as a reminder to the user.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_session">Session</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about the current user session. If there is no current
+session, all values are null.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Session.State</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The state of the current session, as string valued enumeration. When
+a session is started, it remains in the "starting" state until it is
+fully ready and the system is idle again. It then changes between
+"running", "suspended", and "eclipsed" as explained below until it
+shuts down and is in the "terminating" state.
+</p>
+</dd>
+</dl></div>
+<div class="para"><p>The session is in the "running" state when the normal desktop UI
+components such as the panel, desktop icons, taskbars, notification
+areas and status menus are available to the user.</p></div>
+<div class="para"><p>The session goes to the "suspended" state when the user stops
+interacting with it. The screen is typically blanked when the session
+is suspended. In general, there is no point in trying to interact
+with the user when the session is suspended.</p></div>
+<div class="para"><p>The session is in the "eclipsed" state when the complete screen has
+been given to some other application, such as full-screen video
+playback. In that state, the notification areas and status menus, etc
+of the desktop aren't visible to the user, of course, and
+notifications should be unintrusive and important.</p></div>
+<div class="para"><p>Applications should be prepared to see all states in any kind of order
+without getting confused.</p></div>
+<div class="para"><p>+</p></div>
+<div class="para"><p>Possible enumeration values:
+[horizontal]
+starting::
+running::
+suspended::
+eclipsed::
+terminating::</p></div>
+</div>
+<h2 id="_media">Media</h2>
+<div class="sectionbody">
+<div class="para"><p>Information about media related activity.</p></div>
+<div class="vlist"><dl>
+<dt>
+<strong>Media.NowPlaying</strong> (Map)
+</dt>
+<dd>
+<p>
+The currently playing media, such as a video or audio track. The
+value is a dictionary with the listed entries. If "resource" is
+included, then "title", "artist", "genre", and "album" are consistent
+with what Tracker has stored.
+</p>
+</dd>
+</dl></div>
+<div class="para"><p>The current position in the media is always "current-time -
+start-time". If the user seeks then that is expressed by changing
+"start-time". In other words, "start-time" is not the point in time
+when the user has clicked the play button, it is the point in time
+when the media would have had to start to play uninterrupted to reach
+its current position now. This slight complication is done in favor
+of transmitting the position directly to avoid telling you once every
+second that it is now one second later.</p></div>
+<div class="para"><p>+</p></div>
+<div class="para"><p>Possible map keys:
+[horizontal]
+resource::
+title::
+artist::
+genre::
+album::
+duration::
+start-time::
+state::</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-10-20 09:32:33 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/spec/context-provider-schema.html b/spec/context-provider-schema.html
new file mode 100644
index 00000000..5199b462
--- /dev/null
+++ b/spec/context-provider-schema.html
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>XML Schema Documentation</title>
+ <meta http-equiv="Content-Type" content="text/xml; charset=iso-8859-1" />
+ <style type="text/css">
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+/* More-configurable styles */
+
+/******** General ********/
+
+/* Document body */
+body {
+ color: Black;
+ background-color: White;
+ font-family: Arial, sans-serif;
+ font-size: 10pt;
+}
+/* Horizontal rules */
+hr {
+ color: black;
+}
+/* Document title */
+h1 {
+ font-size: 18pt;
+ letter-spacing: 2px;
+ border-bottom: 1px #ccc solid;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+/* Main section headers */
+h2 {
+ font-size: 14pt;
+ letter-spacing: 1px;
+}
+/* Sub-section headers */
+h3, h3 a, h3 span {
+ font-size: 12pt;
+ font-weight: bold;
+ color: black;
+}
+/* Table displaying the properties of the schema components or the
+ schema document itself */
+table.properties th, table.properties th a {
+ color: black;
+ background-color: #F99; /* Pink */
+}
+table.properties td {
+ background-color: #eee; /* Gray */
+}
+
+
+/******** Table of Contents Section ********/
+
+/* Controls for switching between printing and viewing modes */
+div#printerControls {
+ color: #963; /* Orange-brown */
+}
+/* Controls that can collapse or expand all XML Instance
+ Representation and Schema Component Representation boxes */
+div#globalControls {
+ border: 2px solid #999;
+}
+
+
+/******** Schema Document Properties Section ********/
+
+/* Table displaying the namespaces declared in the schema */
+table.namespaces th {
+ background-color: #ccc;
+}
+table.namespaces td {
+ background-color: #eee;
+}
+/* Target namespace of the schema */
+span.targetNS {
+ color: #06C;
+ font-weight: bold;
+}
+
+
+/******** Schema Components' Sections ********/
+
+/* Name of schema component */
+.name {
+ color: #F93; /* Orange */
+}
+
+/* Hierarchy table */
+table.hierarchy {
+ border: 2px solid #999; /* Gray */
+}
+
+/* XML Instance Representation table */
+div.sample div.contents {
+ border: 2px dashed black;
+}
+
+/* Schema Component Representation table */
+div.schemaComponent div.contents {
+ border: 2px black solid;
+}
+
+
+/******** Glossary Section ********/
+
+/* Glossary Terms */
+.glossaryTerm {
+ color: #036; /* Blue */
+}
+
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+/* Printer-version styles */
+
+@media print {
+
+/* Ensures that controls are hidden when printing */
+div#printerControls {
+ visibility: hidden;
+}
+div#globalControls {
+ visibility: hidden;
+}
+#legend {
+ display: none;
+}
+#legendTOC {
+ display: none;
+}
+#glossary {
+ display: none;
+}
+#glossaryTOC {
+ display: none;
+}
+
+}
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+/* Base styles */
+
+/******** General ********/
+
+/* Unordered lists */
+ul {
+ margin-left: 1.5em;
+ margin-bottom: 0em;
+}
+/* Tables */
+table {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+table th, table td {
+ font-size: 10pt;
+ vertical-align: top;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+table th {
+ font-weight: bold;
+ text-align: left;
+}
+/* Table displaying the properties of the schema components or the
+ schema document itself */
+table.properties {
+ width: 90%;
+}
+table.properties th {
+ width: 30%;
+}
+/* Boxes that can make its content appear and disappear*/
+div.box {
+ margin: 1em;
+}
+ /* Box caption */
+div.box span.caption {
+ font-weight: bold;
+}
+ /* Button to open and close the box */
+div.box input.control {
+ width: 1.4em;
+ height: 1.4em;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 11pt;
+}
+ /* Box contents */
+div.box div.contents {
+ margin-top: 3px;
+}
+
+
+/******** Table of Contents Section ********/
+
+/* Controls for switching between printing and viewing modes */
+div#printerControls {
+ white-space: nowrap;
+ font-weight: bold;
+ padding: 5px;
+ margin: 5px;
+}
+/* Controls that can collapse or expand all XML Instance
+ Representation and Schema Component Representation boxes */
+div#globalControls {
+ padding: 10px;
+ margin: 5px;
+}
+
+
+/******** Schema Document Properties Section ********/
+
+/* Table displaying the namespaces declared in the schema */
+table.namespaces th {
+}
+table.namespaces td {
+}
+/* Target namespace of the schema */
+span.targetNS {
+}
+
+
+/******** Schema Components' Sections ********/
+
+/* Name of schema component */
+.name {
+}
+
+/* Hierarchy table */
+table.hierarchy {
+ width: 90%;
+}
+table.hierarchy th {
+ font-weight: normal;
+ font-style: italic;
+ width: 20%;
+}
+table.hierarchy th, table.hierarchy td {
+ padding: 5px;
+}
+
+/* XML Instance Representation table */
+div.sample {
+ width: 90%;
+}
+div.sample div.contents {
+ padding: 5px;
+ font-family: Courier New, sans-serif;
+ font-size: 10pt;
+}
+ /* Normal elements and attributes */
+div.sample div.contents, div.sample div.contents a {
+ color: black;
+}
+ /* Group Headers */
+div.sample div.contents .group, div.sample div.contents .group a {
+ color: #999; /* Light gray */
+}
+ /* Type Information */
+div.sample div.contents .type, div.sample div.contents .type a {
+ color: #999; /* Light gray */
+}
+ /* Occurrence Information */
+div.sample div.contents .occurs, div.sample div.contents .occurs a {
+ color: #999; /* Light gray */
+}
+ /* Fixed values */
+div.sample div.contents .fixed {
+ color: #063; /* Green */
+ font-weight: bold;
+}
+ /* Simple type constraints */
+div.sample div.contents .constraint, div.sample div.contents .constraint a {
+ color: #999; /* Light gray */
+}
+ /* Elements and attributes inherited from base type */
+div.sample div.contents .inherited, div.sample div.contents .inherited a {
+ color: #666; /* Dark gray */
+}
+ /* Elements and attributes added to or changed from base type */
+div.sample div.contents .newFields {
+ font-weight: bold;
+}
+ /* Other type of information */
+div.sample div.contents .other, div.sample div.contents .other a {
+ color: #369; /* Blue */
+ font-style: italic;
+}
+ /* Link to open up window displaying documentation */
+div.sample div.contents a.documentation {
+ text-decoration: none;
+ padding-left: 3px;
+ padding-right: 3px;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ font-weight: bold;
+ font-size: 11pt;
+ background-color: #FFD;
+ color: #069;
+}
+ /* Invert colors when hovering over link to open up window
+ displaying documentation */
+div.sample div.contents a.documentation:hover {
+ color: #FFD;
+ background-color: #069;
+}
+
+/* Schema Component Representation table */
+div.schemaComponent {
+ width: 90%;
+}
+div.schemaComponent div.contents {
+ font-family: Courier New, sans-serif;
+ font-size: 10pt;
+ padding: 5px;
+}
+ /* Syntax characters */
+div.schemaComponent div.contents {
+ color: #00f; /* blue */
+}
+ /* Element and attribute tags */
+div.schemaComponent div.contents .scTag {
+ color: #933; /* maroon */
+}
+ /* Element and attribute content */
+div.schemaComponent div.contents .scContent, div.schemaComponent div.contents .scContent a {
+ color: black;
+ font-weight: bold;
+}
+ /* Comments */
+div.schemaComponent div.contents .comment {
+ color: #999; /* Light gray */
+}
+
+/******** Legend Section ********/
+
+div#legend table, div#legend div {
+ margin-bottom: 3px;
+}
+div#legend div.hint {
+ color: #999; /* Light gray */
+ width: 90%;
+ margin-left: 1em;
+ margin-bottom: 2em;
+}
+
+
+/******** Glossary Section ********/
+
+/* Glossary Terms */
+.glossaryTerm {
+ font-weight: bold;
+}
+
+
+/******** Footer ********/
+
+.footer {
+ font-size: 8pt;
+}
+</style>
+ <script type="text/javascript">
+<!--
+/* IDs of XML Instance Representation boxes */
+var xiBoxes = new Array('type_dbusBusType_xibox', 'group_propertyElement_xibox', 'type_propertyList_xibox', 'type_providerDefn_xibox', 'element_provider_xibox', 'element_properties_xibox', 'element_doc_xibox', 'element_key_xibox', 'element_type_xibox', 'element_typedoc_xibox');
+/* IDs of Schema Component Representation boxes */
+var scBoxes = new Array('schema_scbox', 'type_dbusBusType_scbox', 'group_propertyElement_scbox', 'type_propertyList_scbox', 'type_providerDefn_scbox', 'element_provider_scbox', 'element_properties_scbox', 'element_doc_scbox', 'element_key_scbox', 'element_type_scbox', 'element_typedoc_scbox');
+
+/**
+ * Can get the ID of the button controlling
+ * a collapseable box by concatenating
+ * this string onto the ID of the box itself.
+ */
+var B_SFIX = "_button";
+
+/**
+ * Counter of documentation windows
+ * Used to give each window a unique name
+ */
+var windowCount = 0;
+
+/**
+ * Returns an element in the current HTML document.
+ *
+ * @param elementID Identifier of HTML element
+ * @return HTML element object
+ */
+function getElementObject(elementID) {
+ var elemObj = null;
+ if (document.getElementById) {
+ elemObj = document.getElementById(elementID);
+ }
+ return elemObj;
+}
+
+/**
+ * Closes a collapseable box.
+ *
+ * @param boxObj Collapseable box
+ * @param buttonObj Button controlling box
+ */
+function closeBox(boxObj, buttonObj) {
+ if (boxObj == null || buttonObj == null) {
+ // Box or button not found
+ } else {
+ // Change 'display' CSS property of box
+ boxObj.style.display="none";
+
+ // Change text of button
+ if (boxObj.style.display=="none") {
+ buttonObj.value=" + ";
+ }
+ }
+}
+
+/**
+ * Opens a collapseable box.
+ *
+ * @param boxObj Collapseable box
+ * @param buttonObj Button controlling box
+ */
+function openBox(boxObj, buttonObj) {
+ if (boxObj == null || buttonObj == null) {
+ // Box or button not found
+ } else {
+ // Change 'display' CSS property of box
+ boxObj.style.display="block";
+
+ // Change text of button
+ if (boxObj.style.display=="block") {
+ buttonObj.value=" - ";
+ }
+ }
+}
+
+/**
+ * Sets the state of a collapseable box.
+ *
+ * @param boxID Identifier of box
+ * @param open If true, box is "opened",
+ * Otherwise, box is "closed".
+ */
+function setState(boxID, open) {
+ var boxObj = getElementObject(boxID);
+ var buttonObj = getElementObject(boxID+B_SFIX);
+ if (boxObj == null || buttonObj == null) {
+ // Box or button not found
+ } else if (open) {
+ openBox(boxObj, buttonObj);
+ // Make button visible
+ buttonObj.style.display="inline";
+ } else {
+ closeBox(boxObj, buttonObj);
+ // Make button visible
+ buttonObj.style.display="inline";
+ }
+}
+
+/**
+ * Switches the state of a collapseable box, e.g.
+ * if it's opened, it'll be closed, and vice versa.
+ *
+ * @param boxID Identifier of box
+ */
+function switchState(boxID) {
+ var boxObj = getElementObject(boxID);
+ var buttonObj = getElementObject(boxID+B_SFIX);
+ if (boxObj == null || buttonObj == null) {
+ // Box or button not found
+ } else if (boxObj.style.display=="none") {
+ // Box is closed, so open it
+ openBox(boxObj, buttonObj);
+ } else if (boxObj.style.display=="block") {
+ // Box is opened, so close it
+ closeBox(boxObj, buttonObj);
+ }
+}
+
+/**
+ * Closes all boxes in a given list.
+ *
+ * @param boxList Array of box IDs
+ */
+function collapseAll(boxList) {
+ var idx;
+ for (idx = 0; idx < boxList.length; idx++) {
+ var boxObj = getElementObject(boxList[idx]);
+ var buttonObj = getElementObject(boxList[idx]+B_SFIX);
+ closeBox(boxObj, buttonObj);
+ }
+}
+
+/**
+ * Open all boxes in a given list.
+ *
+ * @param boxList Array of box IDs
+ */
+function expandAll(boxList) {
+ var idx;
+ for (idx = 0; idx < boxList.length; idx++) {
+ var boxObj = getElementObject(boxList[idx]);
+ var buttonObj = getElementObject(boxList[idx]+B_SFIX);
+ openBox(boxObj, buttonObj);
+ }
+}
+
+/**
+ * Makes all the control buttons of boxes appear.
+ *
+ * @param boxList Array of box IDs
+ */
+function viewControlButtons(boxList) {
+ var idx;
+ for (idx = 0; idx < boxList.length; idx++) {
+ buttonObj = getElementObject(boxList[idx]+B_SFIX);
+ if (buttonObj != null) {
+ buttonObj.style.display = "inline";
+ }
+ }
+}
+
+/**
+ * Makes all the control buttons of boxes disappear.
+ *
+ * @param boxList Array of box IDs
+ */
+function hideControlButtons(boxList) {
+ var idx;
+ for (idx = 0; idx < boxList.length; idx++) {
+ buttonObj = getElementObject(boxList[idx]+B_SFIX);
+ if (buttonObj != null) {
+ buttonObj.style.display = "none";
+ }
+ }
+}
+
+/**
+ * Sets the page for either printing mode
+ * or viewing mode. In printing mode, the page
+ * is made to be more readable when printing it out.
+ * In viewing mode, the page is more browsable.
+ *
+ * @param isPrinterVersion If true, display in
+ * printing mode; otherwise,
+ * in viewing mode
+ */
+function displayMode(isPrinterVersion) {
+ var obj;
+ if (isPrinterVersion) {
+ // Hide global control buttons
+ obj = getElementObject("globalControls");
+ if (obj != null) {
+ obj.style.visibility = "hidden";
+ }
+ // Hide Legend
+ obj = getElementObject("legend");
+ if (obj != null) {
+ obj.style.display = "none";
+ }
+ obj = getElementObject("legendTOC");
+ if (obj != null) {
+ obj.style.display = "none";
+ }
+ // Hide Glossary
+ obj = getElementObject("glossary");
+ if (obj != null) {
+ obj.style.display = "none";
+ }
+ obj = getElementObject("glossaryTOC");
+ if (obj != null) {
+ obj.style.display = "none";
+ }
+
+ // Expand all XML Instance Representation tables
+ expandAll(xiBoxes);
+ // Expand all Schema Component Representation tables
+ expandAll(scBoxes);
+
+ // Hide Control buttons
+ hideControlButtons(xiBoxes);
+ hideControlButtons(scBoxes);
+ } else {
+ // View global control buttons
+ obj = getElementObject("globalControls");
+ if (obj != null) {
+ obj.style.visibility = "visible";
+ }
+ // View Legend
+ obj = getElementObject("legend");
+ if (obj != null) {
+ obj.style.display = "block";
+ }
+ obj = getElementObject("legendTOC");
+ if (obj != null) {
+ obj.style.display = "block";
+ }
+ // View Glossary
+ obj = getElementObject("glossary");
+ if (obj != null) {
+ obj.style.display = "block";
+ }
+ obj = getElementObject("glossaryTOC");
+ if (obj != null) {
+ obj.style.display = "block";
+ }
+
+ // Expand all XML Instance Representation tables
+ expandAll(xiBoxes);
+ // Collapse all Schema Component Representation tables
+ collapseAll(scBoxes);
+
+ // View Control buttons
+ viewControlButtons(xiBoxes);
+ viewControlButtons(scBoxes);
+ }
+}
+
+/**
+ * Opens up a window displaying the documentation
+ * of a schema component in the XML Instance
+ * Representation table.
+ *
+ * @param compDesc Description of schema component
+ * @param compName Name of schema component
+ * @param docTextArray Array containing the paragraphs
+ * of the new document
+ */
+function viewDocumentation(compDesc, compName, docTextArray) {
+ var width = 400;
+ var height = 200;
+ var locX = 100;
+ var locY = 200;
+
+ /* Generate content */
+ var actualText = "<html>";
+ actualText += "<head><title>";
+ actualText += compDesc;
+ if (compName != '') {
+ actualText += ": " + compName;
+ }
+ actualText += "</title></head>";
+ actualText += "<body bgcolor=\"#FFFFEE\">";
+ // Title
+ actualText += "<p style=\"font-family: Arial, sans-serif; font-size: 12pt; font-weight: bold; letter-spacing:1px;\">";
+ actualText += compDesc;
+ if (compName != '') {
+ actualText += ": <span style=\"color:#006699\">" + compName + "</span>";
+ }
+ actualText += "</p>";
+ // Documentation
+ var idx;
+ for (idx = 0; idx < docTextArray.length; idx++) {
+ actualText += "<p style=\"font-family: Arial, sans-serif; font-size: 10pt;\">" + docTextArray[idx] + "</p>";
+ }
+ // Link to close window
+ actualText += "<a href=\"javascript:void(0)\" onclick=\"window.close();\" style=\"font-family: Arial, sans-serif; font-size: 8pt;\">Close</a>";
+ actualText += "</body></html>";
+
+ /* Display window */
+ windowCount++;
+ var docWindow = window.open("", "documentation"+windowCount, "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable,alwaysRaised,dependent,titlebar=no,width="+width+",height="+height+",screenX="+locX+",left="+locX+",screenY="+locY+",top="+locY);
+ docWindow.document.write(actualText);
+}
+
+// -->
+</script>
+ </head>
+ <body>
+ <h1>
+ <a name="top" id="top">XML Schema Documentation</a>
+ </h1>
+ <div style="float: right;">
+ <div id="printerControls" style="display:none;"><input type="checkbox" onclick="displayMode(this.checked)" />Printer-friendly Version</div>
+ <script type="text/javascript">
+<!--
+
+var pc = getElementObject("printerControls");
+if (pc != null) {
+ pc.style.display="block";
+}
+
+// -->
+</script>
+ <div id="globalControls" style="display:none">
+ <strong>XML Instance Representation:</strong>
+ <br />
+ <span style="margin-left: 1em; white-space: nowrap">[ <a href="javascript:void(0)" onclick="expandAll(xiBoxes)">Expand All</a> | <a href="javascript:void(0)" onclick="collapseAll(xiBoxes)">Collapse All</a> ]</span>
+ <br />
+ <br />
+ <strong>Schema Component Representation:</strong>
+ <br />
+ <span style="margin-left: 1em; white-space: nowrap">[ <a href="javascript:void(0)" onclick="expandAll(scBoxes)">Expand All</a> | <a href="javascript:void(0)" onclick="collapseAll(scBoxes)">Collapse All</a> ]</span>
+ </div>
+ <script type="text/javascript">
+<!--
+
+var gc = getElementObject("globalControls");
+if (gc != null) {
+ gc.style.display="block";
+}
+
+// -->
+</script>
+ </div>
+ <h2>Table of Contents</h2>
+ <ul>
+ <li>
+ <a href="#SchemaProperties">Schema Document Properties</a>
+ </li>
+ <li>
+ <a href="#SchemaDeclarations">Global Declarations</a>
+ <ul>
+ <li>
+ <a href="#element_doc">Element: <strong>doc</strong></a>
+ </li>
+ <li>
+ <a href="#element_key">Element: <strong>key</strong></a>
+ </li>
+ <li>
+ <a href="#element_properties">Element: <strong>properties</strong></a>
+ </li>
+ <li>
+ <a href="#element_provider">Element: <strong>provider</strong></a>
+ </li>
+ <li>
+ <a href="#element_type">Element: <strong>type</strong></a>
+ </li>
+ <li>
+ <a href="#element_typedoc">Element: <strong>typedoc</strong></a>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <a href="#SchemaDefinitions">Global Definitions</a>
+ <ul>
+ <li>
+ <a href="#type_propertyList">Complex Type: <strong>propertyList</strong></a>
+ </li>
+ <li>
+ <a href="#type_providerDefn">Complex Type: <strong>providerDefn</strong></a>
+ </li>
+ <li>
+ <a href="#group_propertyElement">Model Group: <strong>propertyElement</strong></a>
+ </li>
+ <li>
+ <a href="#type_dbusBusType">Simple Type: <strong>dbusBusType</strong></a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul id="legendTOC" style="margin-top: 0em">
+ <li>
+ <a href="#Legend">Legend</a>
+ </li>
+ </ul>
+ <ul id="glossaryTOC" style="margin-top: 0em">
+ <li>
+ <a href="#Glossary">Glossary</a>
+ </li>
+ </ul>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h2>
+ <a name="SchemaProperties" id="SchemaProperties">Schema Document Properties</a>
+ </h2>
+ <table class="properties">
+ <tr>
+ <th>
+ <a title="Look up 'Target Namespace' in glossary" href="#term_TargetNS">Target Namespace</a>
+ </th>
+ <td>
+ <span class="targetNS">http://contextkit.freedesktop.org/Provider</span>
+ </td>
+ </tr>
+ <tr>
+ <th>Element and Attribute Namespaces</th>
+ <td>
+ <ul>
+ <li>Global element and attribute declarations belong to this schema's target namespace.</li>
+ <li>By default, local element declarations have no namespace.</li>
+ <li>By default, local attribute declarations have no namespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ Documentation for ContextKit Provider schema.
+ Copyright 2009 Nokia Corporation.
+ <br /><br />
+ This schema is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public License
+ as published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+ <br /><br />
+ This schema is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ <br /><br />
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA
+ </td>
+ </tr>
+ </table>
+ <h3>Declared Namespaces</h3>
+ <table class="namespaces">
+ <tr>
+ <th>Prefix</th>
+ <th>Namespace</th>
+ </tr>
+ <tr>
+ <td>
+ <a name="ns_" id="ns_">Default namespace</a>
+ </td>
+ <td>http://www.w3.org/2001/XMLSchema</td>
+ </tr>
+ <tr>
+ <td>
+ <a name="ns_xml" id="ns_xml">xml</a>
+ </td>
+ <td>http://www.w3.org/XML/1998/namespace</td>
+ </tr>
+ <tr>
+ <td>
+ <a name="ns_provider" id="ns_provider">provider</a>
+ </td>
+ <td>
+ <span class="targetNS">http://contextkit.freedesktop.org/Provider</span>
+ </td>
+ </tr>
+ </table>
+ <div class="schemaComponent box">
+ <div><input type="button" id="schema_scbox_button" class="control" onclick="switchState('schema_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="schema_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">schema</span> <span class="scTag">targetNamespace</span>="<span class="scContent">http://contextkit.freedesktop.org/Provider</span>"&gt;<div class="scContent" style="margin-left: 1.5em">...</div>&lt;/<span class="scTag">schema</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('schema_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h2>
+ <a name="SchemaDeclarations" id="SchemaDeclarations">Global Declarations</a>
+ </h2>
+ <h3>Element: <a name="element_doc" class="name" id="element_doc">doc</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>doc</td>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <td>
+ <span class="type">normalizedString</span>
+ </td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Nillable' in glossary" href="#term_Nillable">Nillable</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ Documentation about a key or node.
+ </td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="element_doc_xibox_button" class="control" onclick="switchState('element_doc_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="element_doc_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:doc&gt; <span class="type">normalizedString</span> &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:doc&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_doc_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="element_doc_scbox_button" class="control" onclick="switchState('element_doc_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="element_doc_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">doc</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">normalizedString</span></span>"/&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_doc_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Element: <a name="element_key" class="name" id="element_key">key</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>key</td>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <td>Locally-defined complex type</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Nillable' in glossary" href="#term_Nillable">Nillable</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="element_key_xibox_button" class="control" onclick="switchState('element_key_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="element_key_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:key<br /><span style="margin-left: 0.5em"> name="<span class="type">token</span> <span class="occurs">[1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The name of this key.'); viewDocumentation('Attribute', 'name', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em"> type="<span class="type">token</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The type of this key, if it is a simple string.'); viewDocumentation('Attribute', 'type', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em"> typedoc="<span class="type">token</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The type of this key, if it is a simple string.'); viewDocumentation('Attribute', 'typedoc', docArray);">?</a>"</span>&gt; <br /><span class="group" style="margin-left: 1.5em">Start <a title="Look up 'All' in glossary" href="#term_All">All</a> <span class="occurs">[1]</span></span><br /><div style="margin-left: 3em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; <span class="occurs">[0..1]</span></div><div style="margin-left: 3em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;type&quot; element declaration." href="#element_type">type</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;type&quot; element declaration." href="#element_type">type</a>&gt; <span class="occurs">[0..1]</span></div><div style="margin-left: 3em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;typedoc&quot; element declaration." href="#element_typedoc">typedoc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;typedoc&quot; element declaration." href="#element_typedoc">typedoc</a>&gt; <span class="occurs">[0..1]</span></div><span class="group" style="margin-left: 1.5em">End All</span><br />&lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:key&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_key_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="element_key_scbox_button" class="control" onclick="switchState('element_key_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="element_key_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">key</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">complexType</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">all</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">element</span> <span class="scTag">ref</span>="<span class="scContent"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a></span>" <span class="scTag">minOccurs</span>="<span class="scContent">0</span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">element</span> <span class="scTag">ref</span>="<span class="scContent"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;type&quot; element declaration." href="#element_type">type</a></span>" <span class="scTag">minOccurs</span>="<span class="scContent">0</span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">element</span> <span class="scTag">ref</span>="<span class="scContent"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;typedoc&quot; element declaration." href="#element_typedoc">typedoc</a></span>" <span class="scTag">minOccurs</span>="<span class="scContent">0</span>"/&gt;</div>&lt;/<span class="scTag">all</span>&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">name</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">token</span></span>" <span class="scTag">use</span>="<span class="scContent">required</span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">type</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">token</span></span>" <span class="scTag">use</span>="<span class="scContent">optional</span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">typedoc</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">token</span></span>" <span class="scTag">use</span>="<span class="scContent">optional</span>"/&gt;</div>&lt;/<span class="scTag">complexType</span>&gt;</div>&lt;/<span class="scTag">element</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_key_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Element: <a name="element_properties" class="name" id="element_properties">properties</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>properties</td>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <td>
+ <span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyList&quot; type definition." href="#type_propertyList">propertyList</a></span>
+ </td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Nillable' in glossary" href="#term_Nillable">Nillable</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ A top-level definition of property names and meaning, divorced from a
+ specific context providing service.
+ </td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="element_properties_xibox_button" class="control" onclick="switchState('element_properties_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="element_properties_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:properties&gt; <br /><span class="group" style="margin-left: 1.5em">Start Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a> <span class="occurs">[0..*]</span></span><br /><span class="group" style="margin-left: 3em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a> <span class="occurs">[1]</span></span><br /><div style="margin-left: 4.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; <span class="occurs">[1]</span></div><div style="margin-left: 4.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; <span class="occurs">[1]</span></div><span class="group" style="margin-left: 3em">End Choice</span><br /><span class="group" style="margin-left: 1.5em">End Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a></span><br />&lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:properties&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_properties_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="element_properties_scbox_button" class="control" onclick="switchState('element_properties_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="element_properties_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">properties</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyList&quot; type definition." href="#type_propertyList">propertyList</a></span></span>"/&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_properties_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Element: <a name="element_provider" class="name" id="element_provider">provider</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>provider</td>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <td>
+ <span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;providerDefn&quot; type definition." href="#type_providerDefn">providerDefn</a></span>
+ </td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Nillable' in glossary" href="#term_Nillable">Nillable</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ A top-level declaration of a context-providing service using the
+ ContextKit framework.
+ </td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="element_provider_xibox_button" class="control" onclick="switchState('element_provider_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="element_provider_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:provider<br /><span style="margin-left: 0.5em"> plugin="<span class="type">string</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('Which libcontextsubscriber plugin can communicate with the provider. For the ContextKit D-Bus protocol, use contextkit-dbus.'); viewDocumentation('Attribute', 'plugin', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em"> constructionString="<span class="type">string</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The parameter given to the plugin communicating with the provider. For the ContextKit D-Bus protocol, use dbustype:dbusservicename.'); viewDocumentation('Attribute', 'constructionString', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em"> bus="<span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;dbusBusType&quot; type definition." href="#type_dbusBusType">dbusBusType</a></span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('Which standard D-Bus bus this service can be activated on (To be deprecated: use the plugin and constructionString attributes instead.)'); viewDocumentation('Attribute', 'bus', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em"> service="<span class="type">NCName</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The bus name of the service that will provide these keys. This service must be activatable on the bus specified in \&quot;bus\&quot;. (To be deprecated: use the plugin and constructionString attributes instead.)'); viewDocumentation('Attribute', 'service', docArray);">?</a>"</span>&gt; <br /><span class="group" style="margin-left: 1.5em">Start Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a> <span class="occurs">[0..*]</span></span><br /><span class="group" style="margin-left: 3em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a> <span class="occurs">[1]</span></span><br /><div style="margin-left: 4.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; <span class="occurs">[1]</span></div><div style="margin-left: 4.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; <span class="occurs">[1]</span></div><span class="group" style="margin-left: 3em">End Choice</span><br /><span class="group" style="margin-left: 1.5em">End Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a></span><br />&lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:provider&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_provider_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="element_provider_scbox_button" class="control" onclick="switchState('element_provider_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="element_provider_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">provider</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;providerDefn&quot; type definition." href="#type_providerDefn">providerDefn</a></span></span>"/&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_provider_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Element: <a name="element_type" class="name" id="element_type">type</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>type</td>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <td>Locally-defined complex type</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Nillable' in glossary" href="#term_Nillable">Nillable</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ The type of this key.
+ </td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="element_type_xibox_button" class="control" onclick="switchState('element_type_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="element_type_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:type&gt; <br /><span class="other" style="margin-left: 1.5em">&lt;!-- Mixed content --&gt;</span><br /><div class="other" style="margin-left: 1.5em">Allow any elements from any namespace (lax validation). <span class="occurs">[0..1]</span></div>&lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:type&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_type_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="element_type_scbox_button" class="control" onclick="switchState('element_type_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="element_type_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">type</span>"&gt;<div class="comment" style="margin-left: 1.5em">&lt;-- XXX - not very strict --&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">complexType</span> <span class="scTag">mixed</span>="<span class="scContent">true</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">sequence</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">any</span> <span class="scTag">minOccurs</span>="<span class="scContent">0</span>" <span class="scTag">processContents</span>="<span class="scContent">lax</span>"/&gt;</div>&lt;/<span class="scTag">sequence</span>&gt;</div>&lt;/<span class="scTag">complexType</span>&gt;</div>&lt;/<span class="scTag">element</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_type_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Element: <a name="element_typedoc" class="name" id="element_typedoc">typedoc</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>typedoc</td>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <td>Locally-defined complex type</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Nillable' in glossary" href="#term_Nillable">Nillable</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ The type of this key.
+ </td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="element_typedoc_xibox_button" class="control" onclick="switchState('element_typedoc_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="element_typedoc_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:typedoc&gt; <br /><span class="other" style="margin-left: 1.5em">&lt;!-- Mixed content --&gt;</span><br /><div class="other" style="margin-left: 1.5em">Allow any elements from any namespace (lax validation). <span class="occurs">[0..1]</span></div>&lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:typedoc&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_typedoc_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="element_typedoc_scbox_button" class="control" onclick="switchState('element_typedoc_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="element_typedoc_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">typedoc</span>"&gt;<div class="comment" style="margin-left: 1.5em">&lt;-- XXX - not very strict --&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">complexType</span> <span class="scTag">mixed</span>="<span class="scContent">true</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">sequence</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">any</span> <span class="scTag">minOccurs</span>="<span class="scContent">0</span>" <span class="scTag">processContents</span>="<span class="scContent">lax</span>"/&gt;</div>&lt;/<span class="scTag">sequence</span>&gt;</div>&lt;/<span class="scTag">complexType</span>&gt;</div>&lt;/<span class="scTag">element</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('element_typedoc_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h2>
+ <a name="SchemaDefinitions" id="SchemaDefinitions">Global Definitions</a>
+ </h2>
+ <h3>Complex Type: <a name="type_propertyList" class="name" id="type_propertyList">propertyList</a></h3>
+ <table class="hierarchy">
+ <tr>
+ <th>Super-types:</th>
+ <td>None</td>
+ </tr>
+ <tr>
+ <th>Sub-types:</th>
+ <td>
+ <ul>
+ <li><span class="type"><a title="Jump to &quot;providerDefn&quot; type definition." href="#type_providerDefn">providerDefn</a></span> (by extension)</li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>propertyList</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="type_propertyList_xibox_button" class="control" onclick="switchState('type_propertyList_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="type_propertyList_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;...&gt; <br /><span class="group" style="margin-left: 1.5em">Start Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a> <span class="occurs">[0..*]</span></span><br /><span class="group" style="margin-left: 3em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a> <span class="occurs">[1]</span></span><br /><div style="margin-left: 4.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; <span class="occurs">[1]</span></div><div style="margin-left: 4.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; <span class="occurs">[1]</span></div><span class="group" style="margin-left: 3em">End Choice</span><br /><span class="group" style="margin-left: 1.5em">End Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a></span><br />&lt;/...&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('type_propertyList_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="type_propertyList_scbox_button" class="control" onclick="switchState('type_propertyList_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="type_propertyList_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">complexType</span> <span class="scTag">name</span>="<span class="scContent">propertyList</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">sequence</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">group</span> <span class="scTag">ref</span>="<span class="scContent"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a></span>" <span class="scTag">minOccurs</span>="<span class="scContent">0</span>" <span class="scTag">maxOccurs</span>="<span class="scContent">unbounded</span>"/&gt;</div>&lt;/<span class="scTag">sequence</span>&gt;</div>&lt;/<span class="scTag">complexType</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('type_propertyList_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Complex Type: <a name="type_providerDefn" class="name" id="type_providerDefn">providerDefn</a></h3>
+ <table class="hierarchy">
+ <tr>
+ <th>Super-types:</th>
+ <td><span class="type"><a title="Jump to &quot;propertyList&quot; type definition." href="#type_propertyList">propertyList</a></span> &lt; <strong>providerDefn</strong> (by extension)</td>
+ </tr>
+ <tr>
+ <th>Sub-types:</th>
+ <td>None</td>
+ </tr>
+ </table>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>providerDefn</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="type_providerDefn_xibox_button" class="control" onclick="switchState('type_providerDefn_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="type_providerDefn_xibox" class="contents">
+ <div style="margin-left: 0em">&lt;...<br /><span style="margin-left: 0.5em" class="newFields"> plugin="<span class="type">string</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('Which libcontextsubscriber plugin can communicate with the provider. For the ContextKit D-Bus protocol, use contextkit-dbus.'); viewDocumentation('Attribute', 'plugin', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em" class="newFields"> constructionString="<span class="type">string</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The parameter given to the plugin communicating with the provider. For the ContextKit D-Bus protocol, use dbustype:dbusservicename.'); viewDocumentation('Attribute', 'constructionString', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em" class="newFields"> bus="<span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;dbusBusType&quot; type definition." href="#type_dbusBusType">dbusBusType</a></span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('Which standard D-Bus bus this service can be activated on (To be deprecated: use the plugin and constructionString attributes instead.)'); viewDocumentation('Attribute', 'bus', docArray);">?</a>"</span><br /><span style="margin-left: 0.5em" class="newFields"> service="<span class="type">NCName</span> <span class="occurs">[0..1]</span> <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('The bus name of the service that will provide these keys. This service must be activatable on the bus specified in \&quot;bus\&quot;. (To be deprecated: use the plugin and constructionString attributes instead.)'); viewDocumentation('Attribute', 'service', docArray);">?</a>"</span>&gt; <br /><span class="group" style="margin-left: 1.5em">Start Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a> <span class="occurs">[0..*]</span></span><br /><span class="group" style="margin-left: 3em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a> <span class="occurs">[1]</span></span><br /><div style="margin-left: 4.5em" class="inherited">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; <span class="occurs">[1]</span></div><div style="margin-left: 4.5em" class="inherited">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; <span class="occurs">[1]</span></div><span class="group" style="margin-left: 3em">End Choice</span><br /><span class="group" style="margin-left: 1.5em">End Group: <a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyElement&quot; group definition." href="#group_propertyElement">propertyElement</a></span><br />&lt;/...&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('type_providerDefn_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="type_providerDefn_scbox_button" class="control" onclick="switchState('type_providerDefn_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="type_providerDefn_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">complexType</span> <span class="scTag">name</span>="<span class="scContent">providerDefn</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">complexContent</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">extension</span> <span class="scTag">base</span>="<span class="scContent"><span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;propertyList&quot; type definition." href="#type_propertyList">propertyList</a></span></span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">plugin</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">string</span></span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">constructionString</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">string</span></span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">bus</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;dbusBusType&quot; type definition." href="#type_dbusBusType">dbusBusType</a></span></span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">service</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">NCName</span></span>"/&gt;</div>&lt;/<span class="scTag">extension</span>&gt;</div>&lt;/<span class="scTag">complexContent</span>&gt;</div>&lt;/<span class="scTag">complexType</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('type_providerDefn_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Model Group: <a name="group_propertyElement" class="name" id="group_propertyElement">propertyElement</a></h3>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>propertyElement</td>
+ </tr>
+ </table>
+ <div class="sample box">
+ <div><input type="button" id="group_propertyElement_xibox_button" class="control" onclick="switchState('group_propertyElement_xibox'); return false;" style="display: none" /> <span class="caption">XML Instance Representation</span></div>
+ <div id="group_propertyElement_xibox" class="contents">
+ <span class="group" style="margin-left: 0em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a> <span class="occurs">[1]</span></span>
+ <br />
+ <div style="margin-left: 1.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a>&gt; <span class="occurs">[1]</span></div>
+ <div style="margin-left: 1.5em">&lt;<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; ... &lt;/<a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a>&gt; <span class="occurs">[1]</span></div>
+ <span class="group" style="margin-left: 0em">End Choice</span>
+ <br />
+ </div>
+ <script type="text/javascript">
+<!--
+setState('group_propertyElement_xibox', true);
+// -->
+</script>
+ </div>
+ <div class="schemaComponent box">
+ <div><input type="button" id="group_propertyElement_scbox_button" class="control" onclick="switchState('group_propertyElement_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="group_propertyElement_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">group</span> <span class="scTag">name</span>="<span class="scContent">propertyElement</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">choice</span>&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">element</span> <span class="scTag">ref</span>="<span class="scContent"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;doc&quot; element declaration." href="#element_doc">doc</a></span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">element</span> <span class="scTag">ref</span>="<span class="scContent"><a href="#ns_provider" title="Find out namespace of 'provider' prefix">provider</a>:<a title="Jump to &quot;key&quot; element declaration." href="#element_key">key</a></span>"/&gt;</div>&lt;/<span class="scTag">choice</span>&gt;</div>&lt;/<span class="scTag">group</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('group_propertyElement_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <h3>Simple Type: <a name="type_dbusBusType" class="name" id="type_dbusBusType">dbusBusType</a></h3>
+ <table class="hierarchy">
+ <tr>
+ <th>Super-types:</th>
+ <td><span class="type">string</span> &lt; <strong>dbusBusType</strong> (by restriction)</td>
+ </tr>
+ <tr>
+ <th>Sub-types:</th>
+ <td>None</td>
+ </tr>
+ </table>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>dbusBusType</td>
+ </tr>
+ <tr>
+ <th>Content</th>
+ <td>
+ <ul>
+ <li>Base XSD Type: string</li>
+ </ul>
+ <ul>
+ <li><em>value</em> comes from list: {'system'|'session'}</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <th>Documentation</th>
+ <td>
+ Represents a standard D-Bus bus type.
+ </td>
+ </tr>
+ </table>
+ <div class="schemaComponent box">
+ <div><input type="button" id="type_dbusBusType_scbox_button" class="control" onclick="switchState('type_dbusBusType_scbox'); return false;" style="display: none" /> <span class="caption">Schema Component Representation</span></div>
+ <div id="type_dbusBusType_scbox" class="contents">
+ <div style="margin-left: 0em">&lt;<span class="scTag">simpleType</span> <span class="scTag">name</span>="<span class="scContent">dbusBusType</span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">restriction</span> <span class="scTag">base</span>="<span class="scContent"><span class="type">string</span></span>"&gt;<div style="margin-left: 1.5em">&lt;<span class="scTag">enumeration</span> <span class="scTag">value</span>="<span class="scContent">system</span>"/&gt;</div><div style="margin-left: 1.5em">&lt;<span class="scTag">enumeration</span> <span class="scTag">value</span>="<span class="scContent">session</span>"/&gt;</div>&lt;/<span class="scTag">restriction</span>&gt;</div>&lt;/<span class="scTag">simpleType</span>&gt;</div>
+ </div>
+ <script type="text/javascript">
+<!--
+setState('type_dbusBusType_scbox', false);
+// -->
+</script>
+ </div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ <div id="legend">
+ <h2>
+ <a name="Legend" id="Legend">Legend</a>
+ </h2>
+ <div style="float: left; width: 15em;">
+ <h3 style="margin-bottom: 0px;">Complex Type:</h3>
+ <div class="hint" style="margin-left: 0em;">Schema Component Type</div>
+ </div>
+ <div style="float: left; width: 15em;">
+ <h3 style="margin-bottom: 0px;">
+ <span class="name">AusAddress</span>
+ </h3>
+ <div class="hint" style="margin-left: 0em;">Schema Component Name</div>
+ </div>
+ <table class="hierarchy" style="clear : both">
+ <tr>
+ <th>Super-types:</th>
+ <td><span class="type" style="color: #0000FF; text-decoration:underline;">Address</span> &lt; <span class="current">AusAddress</span> (by extension)</td>
+ </tr>
+ <tr>
+ <th>Sub-types:</th>
+ <td>
+ <ul>
+ <li><span class="type" style="color: #0000FF; text-decoration:underline;">QLDAddress</span> (by restriction)</li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+ <div class="hint">If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.</div>
+ <table class="properties">
+ <tr>
+ <th>Name</th>
+ <td>AusAddress</td>
+ </tr>
+ <tr>
+ <th>
+ <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
+ </th>
+ <td>no</td>
+ </tr>
+ </table>
+ <div class="hint">The table above displays the properties of this schema component.</div>
+ <div class="sample box">
+ <div>
+ <span class="caption">XML Instance Representation</span>
+ </div>
+ <div class="contents"><span style="margin-left: 0em">&lt;...</span><span class="newFields"><span> country="<span class="fixed">Australia</span>"</span></span>&gt; <br /><span style="margin-left: 1.5em" class="inherited">&lt;unitNo&gt; <span class="type">string</span> &lt;/unitNo&gt; <span class="occurs">[0..1]</span></span><br /><span style="margin-left: 1.5em" class="inherited">&lt;houseNo&gt; <span class="type">string</span> &lt;/houseNo&gt; <span class="occurs">[1]</span></span><br /><span style="margin-left: 1.5em" class="inherited">&lt;street&gt; <span class="type">string</span> &lt;/street&gt; <span class="occurs">[1]</span></span><br /><span class="group" style="margin-left: 1.5em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a><span class="occurs">[1]</span></span><br /><span style="margin-left: 3em" class="inherited">&lt;city&gt; <span class="type">string</span> &lt;/city&gt; <span class="occurs">[1]</span></span><br /><span style="margin-left: 3em" class="inherited">&lt;town&gt; <span class="type">string</span> &lt;/town&gt; <span class="occurs">[1]</span></span><br /><span class="group" style="margin-left: 1.5em">End Choice</span><br /><span class="newFields"><span style="margin-left: 1.5em">&lt;state&gt; <span class="type" style="text-decoration:underline;">AusStates</span> &lt;/state&gt; <span class="occurs">[1]</span></span><br /><span style="margin-left: 1.5em">&lt;postcode&gt; <span class="constraint">string &lt;&lt;<em>pattern</em> = [1-9][0-9]{3}&gt;&gt;</span> &lt;/postcode&gt; <span class="occurs">[1]</span><a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('Post code must be a four-digit number.'); viewDocumentation('Element', 'postcode', docArray);">?</a></span><br /></span><span style="margin-left: 0em">&lt;/...&gt;</span><br /></div>
+ </div>
+ <div class="hint">
+ <p>The XML Instance Representation table above shows the schema component's content as an XML instance.</p>
+ <ul>
+ <li>The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].</li>
+ <li>Model group information are shown in gray, e.g. Start Choice ... End Choice.</li>
+ <li>For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in <span style="font-weight: bold">bold</span>.</li>
+ <li>If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".</li>
+ <li>Otherwise, the type of the element/attribute is displayed.
+ <ul><li>If the element/attribute's type is in the schema, a link is provided to it.</li><li>For local simple type definitions, the constraints are displayed in angle brackets, e.g. &lt;&lt;<em>pattern</em> = [1-9][0-9]{3}&gt;&gt;.</li></ul></li>
+ <li>If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. &lt;postcode&gt;.</li>
+ </ul>
+ </div>
+ <div class="schemaComponent box">
+ <div>
+ <span class="caption">Schema Component Representation</span>
+ </div>
+ <div class="contents">
+ <span style="margin-left: 0em">&lt;<span class="scTag">complexType</span><span class="scTag">name</span>="<span class="scContent">AusAddress</span>"&gt;</span>
+ <br />
+ <span style="margin-left: 1.5em">&lt;<span class="scTag">complexContent</span>&gt;</span>
+ <br />
+ <span style="margin-left: 3em">&lt;<span class="scTag">extension</span><span class="scTag">base</span>="<span class="scContent"><span class="type" style="text-decoration:underline;">Address</span></span>"&gt;</span>
+ <br />
+ <span style="margin-left: 4.5em">&lt;<span class="scTag">sequence</span>&gt;</span>
+ <br />
+ <span style="margin-left: 6em">&lt;<span class="scTag">element</span><span class="scTag">name</span>="<span class="scContent">state</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type" style="text-decoration:underline;">AusStates</span></span>"/&gt;</span>
+ <br />
+ <span style="margin-left: 6em">&lt;<span class="scTag">element</span><span class="scTag">name</span>="<span class="scContent">postcode</span>"&gt;</span>
+ <br />
+ <span style="margin-left: 7.5em">&lt;<span class="scTag">simpleType</span>&gt;</span>
+ <br />
+ <span style="margin-left: 9em">&lt;<span class="scTag">restriction</span><span class="scTag">base</span>="<span class="scContent"><span class="type">string</span></span>"&gt;</span>
+ <br />
+ <span style="margin-left: 10.5em">&lt;<span class="scTag">pattern</span><span class="scTag">value</span>="<span class="scContent">[1-9][0-9]{3}</span>"/&gt;</span>
+ <br />
+ <span style="margin-left: 9em">&lt;/<span class="scTag">restriction</span>&gt;</span>
+ <br />
+ <span style="margin-left: 7.5em">&lt;/<span class="scTag">simpleType</span>&gt;</span>
+ <br />
+ <span style="margin-left: 6em">&lt;/<span class="scTag">element</span>&gt;</span>
+ <br />
+ <span style="margin-left: 4.5em">&lt;/<span class="scTag">sequence</span>&gt;</span>
+ <br />
+ <span style="margin-left: 4.5em">&lt;<span class="scTag">attribute</span><span class="scTag">name</span>="<span class="scContent">country</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">string</span></span>" <span class="scTag">fixed</span>="<span class="scContent">Australia</span>"/&gt;</span>
+ <br />
+ <span style="margin-left: 3em">&lt;/<span class="scTag">extension</span>&gt;</span>
+ <br />
+ <span style="margin-left: 1.5em">&lt;/<span class="scTag">complexContent</span>&gt;</span>
+ <br />
+ <span style="margin-left: 0em">&lt;/<span class="scTag">complexType</span>&gt;</span>
+ <br />
+ </div>
+ </div>
+ <div class="hint">The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)</div>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ </div>
+ <div id="glossary">
+ <h2>
+ <a name="Glossary" id="Glossary">Glossary</a>
+ </h2>
+ <p><span class="glossaryTerm"><a name="term_Abstract" id="term_Abstract">Abstract</a> </span>(Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.</p>
+ <p><span class="glossaryTerm"><a name="term_All" id="term_All">All Model Group</a> </span>Child elements can be provided <em>in any order</em> in instances. See: <a title="http://www.w3.org/TR/xmlschema-1/#element-all" href="http://www.w3.org/TR/xmlschema-1/#element-all">http://www.w3.org/TR/xmlschema-1/#element-all</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_Choice" id="term_Choice">Choice Model Group</a> </span><em>Only one</em> from the list of child elements and model groups can be provided in instances. See: <a title="http://www.w3.org/TR/xmlschema-1/#element-choice" href="http://www.w3.org/TR/xmlschema-1/#element-choice">http://www.w3.org/TR/xmlschema-1/#element-choice</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_CollapseWS" id="term_CollapseWS">Collapse Whitespace Policy</a> </span>Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.</p>
+ <p><span class="glossaryTerm"><a name="term_ElemBlock" id="term_ElemBlock">Disallowed Substitutions</a> </span>(Applies to element declarations). If <em>substitution</em> is specified, then <a title="Look up 'substitution group' in glossary" href="#term_SubGroup">substitution group</a> members cannot be used in place of the given element declaration to validate element instances. If <em>derivation methods</em>, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an <code>xsi:type</code> attribute.</p>
+ <p><span class="glossaryTerm"><a name="term_Key" id="term_Key">Key Constraint</a> </span>Like <a title="Look up 'Uniqueness Constraint' in glossary" href="#term_Unique">Uniqueness Constraint</a>, but additionally requires that the specified value(s) must be provided. See: <a title="http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions" href="http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions">http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_KeyRef" id="term_KeyRef">Key Reference Constraint</a> </span>Ensures that the specified value(s) must match value(s) from a <a title="Look up 'Key Constraint' in glossary" href="#term_Key">Key Constraint</a> or <a title="Look up 'Uniqueness Constraint' in glossary" href="#term_Unique">Uniqueness Constraint</a>. See: <a title="http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions" href="http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions">http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_ModelGroup" id="term_ModelGroup">Model Group</a> </span>Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: <a title="http://www.w3.org/TR/xmlschema-1/#Model_Groups" href="http://www.w3.org/TR/xmlschema-1/#Model_Groups">http://www.w3.org/TR/xmlschema-1/#Model_Groups</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_Nillable" id="term_Nillable">Nillable</a> </span>(Applies to element declarations). If an element declaration is nillable, instances can use the <code>xsi:nil</code> attribute. The <code>xsi:nil</code> attribute is the boolean attribute, <em>nil</em>, from the <em>http://www.w3.org/2001/XMLSchema-instance</em> namespace. If an element instance has an <code>xsi:nil</code> attribute set to true, it can be left empty, even though its element declaration may have required content.</p>
+ <p><span class="glossaryTerm"><a name="term_Notation" id="term_Notation">Notation</a> </span>A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: <a title="http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations" href="http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations">http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_PreserveWS" id="term_PreserveWS">Preserve Whitespace Policy</a> </span>Preserve whitespaces exactly as they appear in instances.</p>
+ <p><span class="glossaryTerm"><a name="term_TypeFinal" id="term_TypeFinal">Prohibited Derivations</a> </span>(Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.</p>
+ <p><span class="glossaryTerm"><a name="term_TypeBlock" id="term_TypeBlock">Prohibited Substitutions</a> </span>(Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.</p>
+ <p><span class="glossaryTerm"><a name="term_ReplaceWS" id="term_ReplaceWS">Replace Whitespace Policy</a> </span>Replace tab, line feed, and carriage return characters with space character (Unicode character 32).</p>
+ <p><span class="glossaryTerm"><a name="term_Sequence" id="term_Sequence">Sequence Model Group</a> </span>Child elements and model groups must be provided <em>in the specified order</em> in instances. See: <a title="http://www.w3.org/TR/xmlschema-1/#element-sequence" href="http://www.w3.org/TR/xmlschema-1/#element-sequence">http://www.w3.org/TR/xmlschema-1/#element-sequence</a>.</p>
+ <p><span class="glossaryTerm"><a name="term_SubGroup" id="term_SubGroup">Substitution Group</a> </span>Elements that are <em>members</em> of a substitution group can be used wherever the <em>head</em> element of the substitution group is referenced.</p>
+ <p><span class="glossaryTerm"><a name="term_ElemFinal" id="term_ElemFinal">Substitution Group Exclusions</a> </span>(Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.</p>
+ <p><span class="glossaryTerm"><a name="term_TargetNS" id="term_TargetNS">Target Namespace</a> </span>The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.</p>
+ <p><span class="glossaryTerm"><a name="term_Unique" id="term_Unique">Uniqueness Constraint</a> </span>Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: <a title="http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions" href="http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions">http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</a>.</p>
+ <div style="text-align: right; clear: both;">
+ <a href="#top">top</a>
+ </div>
+ <hr />
+ </div>
+ <p class="footer">Generated by <a href="http://xml.fiforms.org/xs3p/">xs3p</a> (<a href="http://titanium.dstc.edu.au/xml/xs3p">old link</a>)
+ . Last modified: <script type="text/javascript">
+<!--
+document.write(document.lastModified);
+// -->
+</script></p>
+ </body>
+</html>
diff --git a/spec/context.valid.stamp b/spec/context.valid.stamp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/spec/context.valid.stamp
diff --git a/spec/contextkit.html b/spec/contextkit.html
new file mode 100644
index 00000000..25e26972
--- /dev/null
+++ b/spec/contextkit.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ascii" /><title>ContextKit D-Bus interface specification version 0.0.1</title><style type="text/css">
+
+ body {
+ font-family: sans-serif;
+ margin: 2em;
+ height: 100%;
+ font-size: 1.2em;
+ }
+ h1 {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ font-size: 1.6em;
+ background: #dadae2;
+ }
+ h2 {
+ font-size: 1.3em;
+ }
+ h3 {
+ font-size: 1.2em;
+ }
+ a:link, a:visited, a:link:hover, a:visited:hover {
+ font-weight: bold;
+ }
+ .topbox {
+ padding-top: 10px;
+ padding-left: 10px;
+ border-bottom: black solid 1px;
+ padding-bottom: 10px;
+ background: #dadae2;
+ font-size: 2em;
+ font-weight: bold;
+ color: #5c5c5c;
+ }
+ .topnavbox {
+ padding-left: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ background: #abacba;
+ border-bottom: black solid 1px;
+ font-size: 1.2em;
+ }
+ .topnavbox a{
+ color: black;
+ font-weight: normal;
+ }
+ .sidebar {
+ float: left;
+ /* width:9em;
+ border-right:#abacba solid 1px;
+ border-left: #abacba solid 1px;
+ height:100%; */
+ border: #abacba solid 1px;
+ padding-left: 10px;
+ margin-left: 10px;
+ padding-right: 10px;
+ margin-right: 10px;
+ color: #5d5d5d;
+ background: #dadae2;
+ }
+ .sidebar a {
+ text-decoration: none;
+ border-bottom: #e29625 dotted 1px;
+ color: #e29625;
+ font-weight: normal;
+ }
+ .sidebar h1 {
+ font-size: 1.2em;
+ color: black;
+ }
+ .sidebar ul {
+ padding-left: 25px;
+ padding-bottom: 10px;
+ border-bottom: #abacba solid 1px;
+ }
+ .sidebar li {
+ padding-top: 2px;
+ padding-bottom: 2px;
+ }
+ .sidebar h2 {
+ font-style:italic;
+ font-size: 0.81em;
+ padding-left: 5px;
+ padding-right: 5px;
+ font-weight: normal;
+ }
+ .date {
+ font-size: 0.6em;
+ float: right;
+ font-style: italic;
+ }
+ .method, .signal, .property {
+ margin-left: 1em;
+ margin-right: 4em;
+ }
+ .rationale {
+ font-style: italic;
+ border-left: 0.25em solid #808080;
+ padding-left: 0.5em;
+ }
+
+ .added {
+ color: #006600;
+ background: #ffffff;
+ }
+ .deprecated {
+ color: #ff0000;
+ background: #ffffff;
+ }
+ table, tr, td, th {
+ border: 1px solid #666;
+ }
+
+ </style></head><body><h1 class="topbox">ContextKit D-Bus interface specification</h1><h2>Version 0.0.1</h2><div>Copyright (C) 2008 Nokia Corporation</div><div class="license">
+<p>This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.</p>
+
+<p>This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.</p>
+
+<p>You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
+</div><h2>Interfaces</h2><ul><li><code><a href="#org.freedesktop.ContextKit.Manager">org.freedesktop.ContextKit.Manager</a></code></li><li><code><a href="#org.freedesktop.ContextKit.Subscriber">org.freedesktop.ContextKit.Subscriber</a></code></li></ul><h1><a name="org.freedesktop.ContextKit.Manager" id="org.freedesktop.ContextKit.Manager"></a>org.freedesktop.ContextKit.Manager</h1><h2>Methods:</h2><div class="method"><h3><a name="org.freedesktop.ContextKit.Manager.Get" id="org.freedesktop.ContextKit.Manager.Get">Get</a> (
+ as: keys
+ ) &#8594;
+ a{sv}, as</h3><div class="docstring">
+ Get the values of a set of context keys.
+ </div><div><h4>Parameters</h4><dl><dt><code>keys</code> &#8722;
+ <code>as</code></dt><dd>
+ An array of the keys to get.
+ </dd></dl></div><div><h4>Returns</h4><dl><dt><code>values</code> &#8722;
+ <code>a{sv}</code> (<a xmlns="" href="#type-Value_Set">Value_Set</a>)</dt><dd>
+ A Value_Set mapping the requested keys to their values.
+ </dd><dt><code>undeterminable_keys</code> &#8722;
+ <code>as</code></dt><dd>
+ An array of keys which we couldn't determine the values for.
+ </dd></dl></div></div><div class="method"><h3><a name="org.freedesktop.ContextKit.Manager.GetSubscriber" id="org.freedesktop.ContextKit.Manager.GetSubscriber">GetSubscriber</a> (
+
+ ) &#8594;
+ o</h3><div class="docstring">
+ Get the Subscriber object for making subscriptions.
+ </div><div><h4>Returns</h4><dl><dt><code>subscription_object</code> &#8722;
+ <code>o</code></dt><dd>
+ The object on which to subscribe, unsubscribe keys and listen to key value changes.
+ </dd></dl></div></div><p>Interface has no signals.</p><p>Interface has no Telepathy
+ properties.</p><p>Interface has no D-Bus core
+ properties.</p><h1><a name="org.freedesktop.ContextKit.Subscriber" id="org.freedesktop.ContextKit.Subscriber"></a>org.freedesktop.ContextKit.Subscriber</h1><h2>Methods:</h2><div class="method"><h3><a name="org.freedesktop.ContextKit.Subscriber.Subscribe" id="org.freedesktop.ContextKit.Subscriber.Subscribe">Subscribe</a> (
+ as: keys
+ ) &#8594;
+ a{sv}, as</h3><div class="docstring">
+ Subscribe to a one or more keys
+ </div><div><h4>Parameters</h4><dl><dt><code>keys</code> &#8722;
+ <code>as</code></dt><dd>
+ An array of the keys to subscribe to.
+ </dd></dl></div><div><h4>Returns</h4><dl><dt><code>values</code> &#8722;
+ <code>a{sv}</code> (<a xmlns="" href="#type-Value_Set">Value_Set</a>)</dt><dd>
+ A Value_Set mapping the requested keys to their current values.
+ </dd><dt><code>undeterminable_keys</code> &#8722;
+ <code>as</code></dt><dd>
+ An array of keys which we couldn't determine the values for.
+ </dd></dl></div></div><div class="method"><h3><a name="org.freedesktop.ContextKit.Subscriber.Unsubscribe" id="org.freedesktop.ContextKit.Subscriber.Unsubscribe">Unsubscribe</a> (
+ as: keys
+ ) &#8594;
+ nothing</h3><div class="docstring">
+ A Value_Set mapping the requested keys to their values.
+ </div><div><h4>Parameters</h4><dl><dt><code>keys</code> &#8722;
+ <code>as</code></dt><dd>
+ An array of the keys to unsubscribe from.
+ </dd></dl></div></div><h2>Signals:</h2><div class="signal"><h3><a name="org.freedesktop.ContextKit.Subscriber.Changed" id="org.freedesktop.ContextKit.Subscriber.Changed">Changed</a> (
+ a{sv}: values, as: undeterminable_keys
+ )</h3><div class="docstring"></div><div><h4>Parameters</h4><dl><dt><code>values</code> &#8722;
+ <code>a{sv}</code> (<a xmlns="" href="#type-Value_Set">Value_Set</a>)</dt><dd>
+ A Value_Set mapping the changed keys to their values.
+ </dd><dt><code>undeterminable_keys</code> &#8722;
+ <code>as</code></dt><dd>
+ An array of keys which we can no longer determine the values for.
+ </dd></dl></div></div><p>Interface has no Telepathy
+ properties.</p><p>Interface has no D-Bus core
+ properties.</p><h1>Generic types</h1><h2>Mapping types</h2><div class="struct"><h3><a name="type-Value_Set" id="type-Value_Set">Value_Set</a> &#8722; a{
+ s: Key &#8594; v: Value
+ }
+ </h3><div class="docstring">A mapping from key names to a variant</div><div><h4>Members</h4><dl><dt><code>Key</code> &#8722;
+ <code>s</code></dt><dd><em>(undocumented)</em></dd><dt><code>Value</code> &#8722;
+ <code>v</code></dt><dd><em>(undocumented)</em></dd></dl></div></div><h1>Index</h1><h2>Index of interfaces</h2><ul><li><code><a href="#org.freedesktop.ContextKit.Manager">org.freedesktop.ContextKit.Manager</a></code></li><li><code><a href="#org.freedesktop.ContextKit.Subscriber">org.freedesktop.ContextKit.Subscriber</a></code></li></ul><h2>Index of types</h2><ul><li><code><a href="#type-Value_Set">Value_Set</a></code>
+ &#8722; a{ s &#8594; v }
+ </li></ul></body></html>
diff --git a/spec/introspect/Manager.xml b/spec/introspect/Manager.xml
new file mode 100644
index 00000000..8178c767
--- /dev/null
+++ b/spec/introspect/Manager.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/">
+ <interface name="org.freedesktop.ContextKit.Manager">
+ <method name="Get">
+ <arg name="keys" type="as" direction="in"/>
+ <arg name="values" type="a{sv}" direction="out"/>
+ <arg name="undeterminable_keys" type="as" direction="out"/>
+ </method>
+ <method name="GetSubscriber">
+ <arg name="subscription_object" type="o" direction="out"/>
+ </method>
+ </interface>
+</node>
diff --git a/spec/introspect/Subscriber.xml b/spec/introspect/Subscriber.xml
new file mode 100644
index 00000000..637ba79e
--- /dev/null
+++ b/spec/introspect/Subscriber.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/">
+ <interface name="org.freedesktop.ContextKit.Subscriber">
+ <method name="Subscribe">
+ <arg name="keys" type="as" direction="in"/>
+ <arg name="values" type="a{sv}" direction="out"/>
+ <arg name="undeterminable_keys" type="as" direction="out"/>
+ </method>
+ <signal name="Changed">
+ <arg name="values" type="a{sv}"/>
+ <arg name="undeterminable_keys" type="as"/>
+ </signal>
+ <method name="Unsubscribe">
+ <arg name="keys" type="as" direction="in"/>
+ </method>
+ </interface>
+</node>
diff --git a/spec/xs3p/CHANGES b/spec/xs3p/CHANGES
deleted file mode 100644
index 6a67241c..00000000
--- a/spec/xs3p/CHANGES
+++ /dev/null
@@ -1,9 +0,0 @@
-xs3p was originally developed by DSTC and was availabe
-through their website at http://titanium.dstc.edu.au/xml/xs3p/
-
-Since the demise of this organization, we at FiForms Solutions
-have decided to host xs3p, since we have been using it in
-documenting the XML used in FiForms. The stylesheet has been
-modified to point to the new xs3p home here at FiForms, while
-still retaining the old (dead) link to the dstc website. The
-xs3p home is http://xml.fiforms.org/xs3p/ \ No newline at end of file
diff --git a/spec/xs3p/LICENSE.html b/spec/xs3p/LICENSE.html
deleted file mode 100644
index 263e6356..00000000
--- a/spec/xs3p/LICENSE.html
+++ /dev/null
@@ -1,519 +0,0 @@
-<html>
-
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>DSTC Public License</title>
-</head>
-
-<body>
-<h1>DSTC Public License (DPL)</h1>
-<p>Version 1.1</p>
-
-<h2>1. Definitions.</h2>
-
-<p><b>1.0.1. "Commercial Use" </b>means distribution or otherwise making
-the Covered Code available to a third party.</p>
-
-<p><b>1.1. "Contributor"</b> means each entity that creates or
-contributes to the creation of Modifications.</p>
-
-<p><b>1.2. "Contributor Version"</b> means the combination of the
-Original Code, prior Modifications used by a Contributor, and the
-Modifications made by that particular Contributor.</p>
-
-<p><b>1.3. "Covered Code"</b> means the Original Code or
-Modifications or the combination of the Original Code and Modifications,
-in each case including portions thereof<b>.</b></p>
-
-<p><b>1.4. "Electronic Distribution Mechanism"</b> means a mechanism
-generally accepted in the software development community for the
-electronic transfer of data.</p>
-
-<p><b>1.5. "Executable"</b> means Covered Code in any form other than
-Source Code.</p>
-
-<p><b>1.6. "Initial Developer"</b> means the individual or entity
-identified as the Initial Developer in the Source Code notice required
-by <b>Exhibit A</b>.</p>
-
-<p><b>1.7. "Larger Work"</b> means a work which combines Covered Code
-or portions thereof with code not governed by the terms of this
-License.</p>
-
-<p><b>1.8. "License"</b> means this document.</p>
-
-<p><b>1.8.1. "Licensable"</b> means having the right to grant, to the
-maximum extent possible, whether at the time of the initial grant or
-subsequently acquired, any and all of the rights conveyed herein.</p>
-
-<p><b>1.9. "Modifications"</b> means any addition to or deletion from
-the substance or structure of either the Original Code or any previous
-Modifications. When Covered Code is released as a series of files, a
-Modification is:</p>
-
-<ul>
-<li><b>A.</b> Any addition to or
-deletion from the contents of a file containing Original Code or previous
-Modifications.</li>
-
-<li><b>B.</b> Any new file that contains any part of the Original Code
-or previous Modifications.</li>
-</ul>
-
-
-<p><b>1.10. "Original Code"</b>
-means Source Code of computer software code which is described in the Source
-Code notice required by <b>Exhibit A</b> as Original Code, and which, at the
-time of its release under this License is not already Covered Code governed by
-this License.</p>
-
-<p><b>1.10.1. "Patent Claims"</b> means any patent claim(s), now owned
-or hereafter acquired, including without limitation, method, process,
-and apparatus claims, in any patent Licensable by grantor.</p>
-
-<p><b>1.11. "Source Code"</b> means the preferred form of the Covered
-Code for making modifications to it, including all modules it contains,
-plus any associated interface definition files, scripts used to control
-compilation and installation of an Executable, or source code
-differential comparisons against either the Original Code or another
-well known, available Covered Code of the Contributor's choice. The
-Source Code can be in a compressed or archival form, provided the
-appropriate decompression or de-archiving software is widely available
-for no charge.</p>
-
-<p><b>1.12. "You" (or "Your")</b> means an individual or a legal
-entity exercising rights under, and complying with all of the terms of,
-this License or a future version of this License issued under Section
-6.1. For legal entities, "You" includes any entity which controls, is
-controlled by, or is under common control with You. For purposes of this
-definition, "control" means (a) the power, direct or indirect, to cause
-the direction or management of such entity, whether by contract or
-otherwise, or (b) ownership of more than fifty percent (50%) of the
-outstanding shares or beneficial ownership of such
-entity.</p>
-
-
-<h2>2. Source Code License.</h2>
-
-<h3>2.1. The Initial Developer Grant.</h3>
-
-<p>The Initial Developer hereby grants You a world-wide, royalty-free,
-non-exclusive license, subject to third party intellectual property
-claims:</p>
-
-<p><b>(a)</b> under intellectual property rights (other than patent or
-trademark) Licensable by Initial Developer to use, reproduce, modify,
-display, perform, sublicense and distribute the Original Code (or
-portions thereof) with or without Modifications, and/or as part of a
-Larger Work; and</p>
-
-<p><b>(b)</b> under Patents Claims infringed by the making, using or
-selling of Original Code, to make, have made, use, practice, sell, and
-offer for sale, and/or otherwise dispose of the Original Code (or
-portions thereof).</p>
-
-<p><b>(c) </b>the licenses granted in this Section 2.1(a) and (b) are
-effective on the date Initial Developer first distributes Original Code
-under the terms of this License.</p>
-
-<p><b>(d) </b>Notwithstanding Section 2.1(b) above, no patent license is
-granted: 1) for code that You delete from the Original Code; 2) separate
-from the Original Code; or 3) for infringements caused by: i) the
-modification of the Original Code or ii) the combination of the Original
-Code with other software or devices.</p>
-
-<h3>2.2. Contributor Grant.</h3>
-
-<p>Subject to third party intellectual property claims, each Contributor
-hereby grants You a world-wide, royalty-free, non-exclusive license</p>
-
-<p><b>(a)</b> under intellectual property rights (other than patent or
-trademark) Licensable by Contributor, to use, reproduce, modify,
-display, perform, sublicense and distribute the Modifications created by
-such Contributor (or portions thereof) either on an unmodified basis,
-with other Modifications, as Covered Code and/or as part of a Larger
-Work; and</p>
-
-<p><b>(b)</b> under Patent Claims infringed by the making, using, or
-selling of Modifications made by that Contributor either alone and/or in
-combination with its Contributor Version (or portions of such
-combination), to make, use, sell, offer for sale, have made, and/or
-otherwise dispose of: 1) Modifications made by that Contributor (or
-portions thereof); and 2) the combination of Modifications made by that
-Contributor with its Contributor Version (or portions of such
-combination).</p>
-
-<p><b>(c) </b>the licenses granted in Sections 2.2(a) and 2.2(b) are
-effective on the date Contributor first makes Commercial Use of the
-Covered Code.</p>
-
-<p><b>(d)</b> Notwithstanding Section 2.2(b) above, no patent
-license is granted: 1) for any code that Contributor has deleted from
-the Contributor Version; 2) separate from the Contributor Version; 3)
-for infringements caused by: i) third party modifications of Contributor
-Version or ii) the combination of Modifications made by that Contributor
-with other software (except as part of the Contributor Version) or other
-devices; or 4) under Patent Claims infringed by Covered Code in the
-absence of Modifications made by that Contributor.</p>
-
-
-<h2>3. Distribution Obligations</h2>
-
-<h3>3.1. Application of License.</h3>
-
-<p>The Modifications which You create or to which You contribute are
-governed by the terms of this License, including without limitation
-Section <b>2.2</b>. The Source Code version of Covered Code may be
-distributed only under the terms of this License or a future version of
-this License released under Section <b>6.1</b>, and You must include a
-copy of this License with every copy of the Source Code You
-distribute. You may not offer or impose any terms on any Source Code
-version that alters or restricts the applicable version of this License
-or the recipients' rights hereunder. However, You may include an
-additional document offering the additional rights described in Section
-<b>3.5</b>.</p>
-
-<h3>3.2. Availability of Source Code.</h3>
-
-<p>Any Modification which You create or to which You contribute must be
-made available in Source Code form under the terms of this License
-either on the same media as an Executable version or via an accepted
-Electronic Distribution Mechanism to anyone to whom you made an
-Executable version available; and if made available via Electronic
-Distribution Mechanism, must remain available for at least twelve (12)
-months after the date it initially became available, or at least six (6)
-months after a subsequent version of that particular Modification has
-been made available to such recipients. You are responsible for ensuring
-that the Source Code version remains available even if the Electronic
-Distribution Mechanism is maintained by a third party.</p>
-
-<h3>3.3. Description of Modifications.</h3>
-
-<p>You must cause all Covered Code to which You contribute to contain a
-file documenting the changes You made to create that Covered Code and
-the date of any change. You must include a prominent statement that the
-Modification is derived, directly or indirectly, from Original Code
-provided by the Initial Developer and including the name of the Initial
-Developer in (a) the Source Code, and (b) in any notice in an Executable
-version or related documentation in which You describe the origin or
-ownership of the Covered Code.</p>
-
-<h3>3.4. Intellectual Property Matters</h3>
-
-<h4>(a) Third Party Claims.</h4>
-
-<p>If Contributor has knowledge that a license under a third party's
-intellectual property rights is required to exercise the rights granted
-by such Contributor under Sections 2.1 or 2.2, Contributor must include
-a text file with the Source Code distribution titled "LEGAL" which
-describes the claim and the party making the claim in sufficient detail
-that a recipient will know whom to contact. If Contributor obtains such
-knowledge after the Modification is made available as described in
-Section 3.2, Contributor shall promptly modify the LEGAL file in all
-copies Contributor makes available thereafter and shall take other steps
-(such as notifying appropriate mailing lists or newsgroups) reasonably
-calculated to inform those who received the Covered Code that new
-knowledge has been obtained.</p>
-
-<h4>(b) Contributor APIs.</h4>
-
-<p>If Contributor's Modifications include an application programming
-interface and Contributor has knowledge of patent licenses which are
-reasonably necessary to implement that API, Contributor must also
-include this information in the LEGAL file.</p>
-
-<h4>(c) Representations.</h4>
-
-<p>Contributor represents that, except
-as disclosed pursuant to Section 3.4(a) above, Contributor believes that
-Contributor's Modifications are Contributor's original creation(s)
-and/or Contributor has sufficient rights to grant the rights conveyed by
-this License.</p>
-
-<h3>3.5. Required Notices.</h3>
-
-<p>You must duplicate the notice in <b>Exhibit A</b> in each file of the
-Source Code. If it is not possible to put such notice in a
-particular Source Code file due to its structure, then You must include
-such notice in a location (such as a relevant directory) where a user
-would be likely to look for such a notice. If You created one or
-more Modification(s) You may add your name as a Contributor to the
-notice described in <b>Exhibit A</b>. You must also duplicate this
-License in any documentation for the Source Code where You describe
-recipients' rights or ownership rights relating to Covered Code.
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Code. However, You may do so only on Your own behalf, and not on behalf
-of the Initial Developer or any Contributor. You must make it absolutely
-clear than any such warranty, support, indemnity or liability obligation
-is offered by You alone, and You hereby agree to indemnify the Initial
-Developer and every Contributor for any liability incurred by the
-Initial Developer or such Contributor as a result of warranty, support,
-indemnity or liability terms You offer.</p>
-
-<h3>3.6. Distribution of Executable Versions.</h3>
-
-<p>You may distribute Covered Code in Executable form only if the
-requirements of Section <b>3.1-3.5</b> have been met for that Covered
-Code, and if You include a notice stating that the Source Code version
-of the Covered Code is available under the terms of this License,
-including a description of how and where You have fulfilled the
-obligations of Section <b>3.2</b>. The notice must be conspicuously
-included in any notice in an Executable version, related documentation
-or collateral in which You describe recipients' rights relating to the
-Covered Code. You may distribute the Executable version of Covered Code
-or ownership rights under a license of Your choice, which may contain
-terms different from this License, provided that You are in compliance
-with the terms of this License and that the license for the Executable
-version does not attempt to limit or alter the recipient's rights in the
-Source Code version from the rights set forth in this License. If You
-distribute the Executable version under a different license You must
-make it absolutely clear that any terms which differ from this License
-are offered by You alone, not by the Initial Developer or any
-Contributor. You hereby agree to indemnify the Initial Developer and
-every Contributor for any liability incurred by the Initial Developer or
-such Contributor as a result of any such terms You offer.</p>
-
-<h3>3.7. Larger Works.</h3>
-
-<p>You may create a Larger Work by combining Covered Code with other code not
-governed by the terms of this License and distribute the Larger Work as a
-single product. In such a case, You must make sure the requirements of this
-License are fulfilled for the Covered Code.</p>
-
-<h2>4. Inability to Comply Due to Statute or Regulation.</h2>
-
-<p>If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Code due to statute,
-judicial order, or regulation then You must: (a) comply with the terms
-of this License to the maximum extent possible; and (b) describe the
-limitations and the code they affect. Such description must be included
-in the LEGAL file described in Section <b>3.4</b> and must be included
-with all distributions of the Source Code. Except to the extent
-prohibited by statute or regulation, such description must be
-sufficiently detailed for a recipient of ordinary skill to be able to
-understand it.</p>
-
-
-<h2>5. Application of this License.</h2>
-
-<p>This License applies to code to which the Initial Developer has
-attached the notice in <b>Exhibit A</b> and to related Covered Code.</p>
-
-
-<h2>6. Versions of the License.</h2>
-
-<h3>6.1. New Versions</h3>
-
-<p>The Distributed Systems Technology Centre ("DSTC") may publish
-revised and/or new versions of the License from time to time. Each
-version will be given a distinguishing version number.</p>
-
-<h3>6.2. Effect of New Versions</h3>
-
-<p>Once Covered Code has been published under a particular version of
-the License, You may always continue to use it under the terms of that
-version. You may also choose to use such Covered Code under the terms of
-any subsequent version of the License published by DSTC. No one other
-than DSTC has the right to modify the terms applicable to Covered Code
-created under this License.</p>
-
-<h3>6.3. Derivative Works</h3>
-
-<p>If You create or use a modified version of this License (which you
-may only do in order to apply it to code which is not already Covered
-Code governed by this License), You must (a) rename Your license so that
-the phrases "DSTC", "DPL" or any confusingly similar phrase do not
-appear in your license (except to note that your license differs from
-this License) and (b) otherwise make it clear that Your version of the
-license contains terms which differ from the DSTC Public
-License. (Filling in the name of the Initial Developer, Original Code or
-Contributor in the notice described in <b>Exhibit A</b> shall not of
-themselves be deemed to be modifications of this License.)</p>
-
-<h2>7. Disclaimer of Warranty.</h2>
-
-<p>COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS,
-MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH
-YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT
-THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
-NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
-CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED
-CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.</p>
-
-
-<h2>8. Termination.</h2>
-
-<p><b>8.1. </b>This License and the rights granted hereunder will
-terminate automatically if You fail to comply with terms herein and fail
-to cure such breach within 30 days of becoming aware of the breach. All
-sublicenses to the Covered Code which are properly granted shall survive
-any termination of this License. Provisions which, by their nature, must
-remain in effect beyond the termination of this License shall
-survive.</p>
-
-<p><b>8.2.
-</b>If You initiate
-litigation by asserting a patent infringement claim (excluding declatory
-judgment actions) against Initial Developer or a Contributor (the Initial
-Developer or Contributor against whom You file such action is referred to as
-'Participant') alleging that:</p>
-
-<p><b>(a) </b>such Participant's Contributor Version directly or
-indirectly infringes any patent, then any and all rights granted by such
-Participant to You under Sections 2.1 and/or 2.2 of this License shall,
-upon 60 days notice from Participant terminate prospectively, unless if
-within 60 days after receipt of notice You either: (i) agree in writing
-to pay Participant a mutually agreeable reasonable royalty for Your past
-and future use of Modifications made by such Participant, or (ii)
-withdraw Your litigation claim with respect to the Contributor Version
-against such Participant. If within 60 days of notice, a reasonable
-royalty and payment arrangement are not mutually agreed upon in writing
-by the parties or the litigation claim is not withdrawn, the rights
-granted by Participant to You under Sections 2.1 and/or 2.2
-automatically terminate at the expiration of the 60 day notice period
-specified above.</p>
-
-<p><b>(b)</b> any software, hardware, or device, other than such
-Participant's Contributor Version, directly or indirectly infringes any
-patent, then any rights granted to You by such Participant under
-Sections 2.1(b) and 2.2(b) are revoked effective as of the date You
-first made, used, sold, distributed, or had made, Modifications made by
-that Participant.</p>
-
-<p><b>8.3.
-</b>If You assert a patent
-infringement claim against Participant alleging that such Participant's
-Contributor Version directly or indirectly infringes any patent where such
-claim is resolved (such as by license or settlement) prior to the initiation of
-patent infringement litigation, then the reasonable value of the licenses
-granted by such Participant under Sections 2.1 or 2.2 shall be taken into
-account in determining the amount or value of any payment or license.</p>
-
-<p><b>8.4.</b> In the event of termination under
-Sections 8.1 or 8.2 above, all end user license agreements (excluding
-distributors and resellers) which have been validly granted by You or any
-distributor hereunder prior to termination shall survive termination.</p>
-
-<h2>9. Limitation of Liability.</h2>
-
-<p>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR
-ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY
-INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER
-INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
-OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
-AND LIMITATION MAY NOT APPLY TO YOU.</p>
-
-<h2>10. U.S. Government End Users.</h2>
-
-<p>The Covered Code is a "commercial item," as that term is defined in
-48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-software" and "commercial computer software documentation," as such
-terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-all U.S. Government End Users acquire Covered Code with only those
-rights set forth herein.</p>
-
-
-<h2>11. Miscellaneous.</h2>
-
-<p>This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. This License shall be governed by
-Queensland, Australia law provisions (except to the extent applicable
-law, if any, provides otherwise), excluding its conflict-of-law
-provisions. With respect to disputes in which at least one party is a
-citizen of, or an entity chartered or registered to do business in
-Australia, any litigation relating to this License shall be subject to
-the jurisdiction of Australian Courts, with the losing party responsible
-for costs, including without limitation, court costs and reasonable
-attorneys' fees and expenses. The application of the United Nations
-Convention on Contracts for the International Sale of Goods is expressly
-excluded. Any law or regulation which provides that the language of a
-contract shall be construed against the drafter shall not apply to this
-License.</p>
-
-
-<h2>12. Responsibility for Claims.</h2>
-
-<p>As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or indirectly, out
-of its utilization of rights under this License and You agree to work
-with Initial Developer and Contributors to distribute such
-responsibility on an equitable basis. Nothing herein is intended or
-shall be deemed to constitute any admission of liability.</p>
-
-
-<h2>13. Multiple-licensed Code.</h2>
-
-<p>Initial Developer may designate portions of the Covered Code as
-"Multiple-Licensed". "Multiple-Licensed" means that the Initial
-Developer permits you to utilize portions of the Covered Code under Your
-choice of the DPL or the alternative licenses, if any, specified by the
-Initial Developer in the file described in Exhibit A.</p>
-
-
-<h2>14. High Risk Activities.</h2>
-
-<p>The Software is not fault-tolerant and is not designed, manufactured
-or intended for use or resale as on-line control equipment in hazardous
-environments requiring fail-safe performance, such as in the operation
-of nuclear facilities, aircraft navigation or communication systems, air
-traffic control, direct life support machines, or weapons systems, in
-which the failure of the Software could lead directly to death, personal
-injury, or severe physical or environmental damage ("High Risk
-Activities").</p>
-
-
-<h2>EXHIBIT A - DSTC Public License.</h2>
-
-<p>The contents of this file are subject to the DSTC Public License
-Version 1.1 (the 'License'); you may not use this file except in
-compliance with the License.</p>
-
-<p>Software distributed under the License is distributed on an 'AS IS'
-basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-License for the specific language governing rights and limitations under
-the License.</p>
-
-<p>The Original Code is ______________________________________.</p>
-
-<p>The Initial Developer of the Original Code is
-________________________. Portions created by ______________________ are
-Copyright &copy; _____________________________. All Rights
-Reserved.</p>
-
-<p>Contributor(s): ______________________________________.</p>
-
-<p>Alternatively, the contents of this file may be used under the terms
-of the _____ license (the "[___] License"), in which case the provisions
-of [______] License are applicable instead of those above. If you wish
-to allow use of your version of this file only under the terms of the
-[____] License and not to allow others to use your version of this file
-under the DPL, indicate your decision by deleting the provisions above
-and replace them with the notice and other provisions required by the
-[___] License. If you do not delete the provisions above, a recipient
-may use your version of this file under either the DPL or the [___]
-License.'</p>
-
-<p>[NOTE: The text of this Exhibit A may differ slightly from the text
-of the notices in the Source Code files of the Original Code. You should
-use the text of this Exhibit A rather than the text found in the
-Original Code Source Code for Your Modifications.]</p>
-
-</body>
-
-</html>
-
diff --git a/spec/xs3p/README.txt b/spec/xs3p/README.txt
deleted file mode 100644
index c9c2df10..00000000
--- a/spec/xs3p/README.txt
+++ /dev/null
@@ -1,224 +0,0 @@
-xs3p - Version 1.0
-==================
-
-Index
------
--Description
--Generating the documentation
--Viewing the documentation
--Configuring the stylesheet
-
-Description
------------
-
-xs3p is a schema documentation generator. It is an XSLT stylesheet
-that will output an XHTML document from an XSD schema. Aside from
-using as much W3C acronyms as possible, the tool makes schemas more
-readable by providing a view of schema components' constraints as a
-sample XML instance, links that allow the user to jump to the
-documentation of schema components that are referenced, and a whole
-host of neat features. However, most important of all, it makes your
-schemas look 'pretty in pink'.
-
-Generating the documentation
-----------------------------
-
-To generate the documentation, you need a command-line XSLT tool that
-supports the W3C XSLT 1.0 recommendation. (NOTE: xs3p does not work
-with <?xml-stylesheet ?> processing instruction because the <A> links
-in the generated XHTML document will not be correct.)
-
-Here are a few examples of XSLT tools:
-
-1. MSXML 4.0 (Windows only)
----------------------------
-
-You can download MSXML 4.0 SP1 at:
-
-http://msdn.microsoft.com/downloads/default.asp?
-url=/downloads/sample.asp?url=/msdn-
-files/027/001/766/msdncompositedoc.xml
-
-(If the URL is incorrect, go to http://msdn.microsoft.com, and search
-for the keywords, "msxml 4.0".)
-
-Microsoft's web page gives you instructions of how to install the
-MSXML 4.0 library. You'll also need to download Msxsl which is a
-wrapper to access the library from the command-line. You can download
-it at:
-
-http://msdn.microsoft.com/downloads/default.asp?
-URL=/downloads/sample.asp?url=/MSDN-
-FILES/027/001/485/msdncompositedoc.xml
-
-(Again, if the URL is incorrect, go to http://msdn.microsoft.com, and
-search for the keyword, "msxsl".)
-
-Click on the "Download the executable file" link. Save the msxsl.exe
-file in a directory specified in the PATH environment variable. In
-most cases, you can dump the file in c:\winnt (or c:\windows
-depending on your OS) directory since it's already in the PATH
-variable.
-
-Type: msxsl -? to learn how to use the tool. The basic usage is:
-
-msxsl [source] [stylesheet] -o [result] {[param-name]=[param-value]...}
-
-2. Xalan (Java-based)
----------------------
-
-You can download Xalan from Apache at:
-
-http://xml.apache.org/xalan-j/getstarted.html
-
-The web page gives you instructions of how to install Xalan. You can
-find out how to use Xalan's command-line tool at:
-
-http://xml.apache.org/xalan-j/commandline.html
-
-The basic usage is:
-
-java org.apache.xalan.xslt.Process -IN [source] -XSL [stylesheet]
--OUT [result] {-PARAM [param-name] [param-value]...}
-
-3. Saxon (Java-based)
----------------------
-
-You can download Saxon from Sourceforge at:
-
-http://sourceforge.net/projects/saxon
-
-If you download the saxon package, it comes with instructions of how
-to install and use the Java jar files.
-
-If you download the instant saxon package, it comes with a .exe file,
-and all you have to do is put the file in a directory in the PATH
-environment variable. It also comes with instant.html file, which
-documents how to use it. The basic usage is:
-
-saxon -o [result] [source] [stylesheet] {[param-name]=[param-value]...}
-
-Viewing the documentation
--------------------------
-
-To view the documentation, you need a browser that supports the W3C
-XHTML 1.0 and CSS 2 recommendations, e.g.
--Internet Explorer 5.5 and above
--Netscape 6 and above
--Opera 5.0 and above
--Mozilla 1.0
-
-Configuring the stylesheet
---------------------------
-
-The xs3p stylesheet can be customised through its global parameters,
-which are listed below.
-
-title :-
- You can specify your own title for the document, rather than
-using the default one.
-
-sortByComponent :-
- If this parameter is set to "true", the schema components are
-presented sorted by type and name. Otherwise, they are presented in
-the order that they appear in the schema. By default, this parameter
-is set to "true."
-
-useJavaScript :-
- The generated XHTML document uses JavaScript to hide some
-details like the underlying schema component XML representation,
-which can be made to appear with a button press. Since some people
-have ideological objections to JavaScript, this feature can be turned
-off. If this parameter is set to "true", JavaScript will be used in
-the generated documentation. Otherwise, it won't. By default, this
-parameter is set to "true."
-
-printAllSuperTypes :-
- The type hierarchy of a global type definition is displayed in
-its section. If this parameter is set to "true", all super-types of
-the current type are shown in the type hierarchy. Otherwise, only the
-immediate parent type is displayed. By default, this parameter is set
-to "true."
-
-printAllSubTypes :-
- This parameter has a similar concept as printAllSuperTypes. If
-it is set to "true", all sub-types of the current type are shown in
-the type hierarchy. Otherwise, only the direct sub-types are
-displayed. By default, this parameter is set to "true."
-
-printLegend :-
- If this parameter is set to "true", the Legend section is
-included. Otherwise, it isn't. By default, this parameter is set to
-"true."
-
-printGlossary :-
- If this parameter is set to "true", the Glossary section is
-included. Otherwise, it isn't. By default, this parameter is set to
-"true."
-
-printNSPrefixes :-
- If this parameter is set to "true", namespace information is
-provided when displaying sample instances and references. This is
-done by providing a prefix in front of tags and references, which
-when clicked, will take the user to the declared namespace. The
-prefix matches the prefix in the namespace declaration in the schema.
-If not set to "true", namespace prefixes are not displayed. By
-default, this parameter is set to "true."
-
-searchIncludedSchemas :-
- If this parameter is set to "true", xs3p will search for
-components in "included" schemas when creating links and generating
-the XML Instance Representation table.
- When this parameter is set to "true", the "linksFile" parameter
-must also be set, which is described below. Otherwise, an error will
-be raised.
- The XSLT processor will also raise an error if it can't find the
-schemas specified in the "schemaLocation" attribute of "include"
-elements. XSLT implementations seem to resolve relative addresses
-relative to the XSLT script, rather than the source file. This is a
-common cause of error since in schemas, the "schemaLocation"
-attribute is specified relative to the current schema. It is probably
-best to write a script (e.g. Ant build file, DOS batch file, or Unix
-shell script), which copies the xs3p stylesheet to the directory
-containing the set of schemas and execute the XSLT script based on
-the local copy.
- The final thing to note is that this search is recursive, so
-schemas "included" in the current schema's "included" schemas will
-also be searched. This is another common source of error, since
-schemas may be searched that might not have been thought about.
- There are some batch files in the examples/ directory to show
-how to use this feature. If you have 'msxsl', run "test_msxsl.bat"
-file. If you use 'xalanj', run "test_xalanj.bat" file. Otherwise,
-edit the files for your specific XSLT processor.
-
-searchImportedSchemas :-
- If this parameter is set to "true", xs3p will search for
-components in "imported" schemas when creating links and generating
-the XML Instance Representation table. The above discussion for the
-"searchIncludedSchemas" parameter also applies to this parameter.
-Also, when this parameter is set to "true", the "linksFile" parameter
-must also be set.
-
-linksFile :-
- Specifies the file which maps from file locations of
-"included" and "imported" schemas to the file locations of their
-xs3p-generated documentation. This file must be provided if either
-"searchIncludedSchemas" or "searchImportedSchemas" is set to true.
- If relative addresses are used to specify the location of
-external xs3p-generated documentation, they must be relative to
-documentation file currently generated. NOTE: The external
-documentation files does not need to exist at the time of generating
-the documentation for the current schema.
- The mapping is specified in XML. The dtd and schema for this
-mapping syntax are "links.dtd" and "links.xsd" respectively.
- A sample links file, "links.xml", is provided in the examples/
-directory.
- NOTE: The "xmlns" namespace attribute with the correct
-namespace must be provided in the mapping file for the xs3p
-stylesheet to work.
-
-
-
-COPYRIGHT AND LICENCE
-
-Copyright (C) 2001, 2002 DSTC Pty Ltd. \ No newline at end of file
diff --git a/spec/xs3p/examples/XMLSchema.xsd b/spec/xs3p/examples/XMLSchema.xsd
deleted file mode 100644
index b8229fd9..00000000
--- a/spec/xs3p/examples/XMLSchema.xsd
+++ /dev/null
@@ -1,2492 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
-<!-- Note this schema is NOT the normative structures schema. -->
-<!-- The prose copy in the structures REC is the normative -->
-<!-- version (which shouldn't differ from this one except for -->
-<!-- this comment and entity expansions, but just in case -->
-<!--
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
--->
-
-<!-- provide ID type information even for parsers which only read the
- internal subset -->
-<!--
-<!ATTLIST xs:schema id ID #IMPLIED>
-<!ATTLIST xs:complexType id ID #IMPLIED>
-<!ATTLIST xs:complexContent id ID #IMPLIED>
-<!ATTLIST xs:simpleContent id ID #IMPLIED>
-<!ATTLIST xs:extension id ID #IMPLIED>
-<!ATTLIST xs:element id ID #IMPLIED>
-<!ATTLIST xs:group id ID #IMPLIED>
-<!ATTLIST xs:all id ID #IMPLIED>
-<!ATTLIST xs:choice id ID #IMPLIED>
-<!ATTLIST xs:sequence id ID #IMPLIED>
-<!ATTLIST xs:any id ID #IMPLIED>
-<!ATTLIST xs:anyAttribute id ID #IMPLIED>
-<!ATTLIST xs:attribute id ID #IMPLIED>
-<!ATTLIST xs:attributeGroup id ID #IMPLIED>
-<!ATTLIST xs:unique id ID #IMPLIED>
-<!ATTLIST xs:key id ID #IMPLIED>
-<!ATTLIST xs:keyref id ID #IMPLIED>
-<!ATTLIST xs:selector id ID #IMPLIED>
-<!ATTLIST xs:field id ID #IMPLIED>
-<!ATTLIST xs:include id ID #IMPLIED>
-<!ATTLIST xs:import id ID #IMPLIED>
-<!ATTLIST xs:redefine id ID #IMPLIED>
-<!ATTLIST xs:notation id ID #IMPLIED>
--->
-<!--
- keep this schema XML1.0 DTD valid
- -->
-<!--
- <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
-
- <!ELEMENT hfp:hasFacet EMPTY>
- <!ATTLIST hfp:hasFacet
- name NMTOKEN #REQUIRED>
-
- <!ELEMENT hfp:hasProperty EMPTY>
- <!ATTLIST hfp:hasProperty
- name NMTOKEN #REQUIRED
- value CDATA #REQUIRED>
--->
-<!--
- Make sure that processors that do not read the external
- subset will know about the various IDs we declare
- -->
-<!--
- <!ATTLIST xs:simpleType id ID #IMPLIED>
- <!ATTLIST xs:maxExclusive id ID #IMPLIED>
- <!ATTLIST xs:minExclusive id ID #IMPLIED>
- <!ATTLIST xs:maxInclusive id ID #IMPLIED>
- <!ATTLIST xs:minInclusive id ID #IMPLIED>
- <!ATTLIST xs:totalDigits id ID #IMPLIED>
- <!ATTLIST xs:fractionDigits id ID #IMPLIED>
- <!ATTLIST xs:length id ID #IMPLIED>
- <!ATTLIST xs:minLength id ID #IMPLIED>
- <!ATTLIST xs:maxLength id ID #IMPLIED>
- <!ATTLIST xs:enumeration id ID #IMPLIED>
- <!ATTLIST xs:pattern id ID #IMPLIED>
- <!ATTLIST xs:appinfo id ID #IMPLIED>
- <!ATTLIST xs:documentation id ID #IMPLIED>
- <!ATTLIST xs:list id ID #IMPLIED>
- <!ATTLIST xs:union id ID #IMPLIED>
- ]>
--->
-<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">
- <xs:annotation>
- <xs:documentation>
- Part 1 version: Id: XMLSchema.xsd,v 1.50 2002/05/22 09:24:24 ht Exp
- Part 2 version: Id: datatypes.xsd,v 1.54 2002/05/27 22:22:50 ht Exp
- </xs:documentation>
- </xs:annotation>
-
-
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/structures.html">
- The schema corresponding to this document is normative,
- with respect to the syntactic constraints it expresses in the
- XML Schema language. The documentation (within &lt;documentation> elements)
- below, is not normative, but rather highlights important aspects of
- the W3C Recommendation of which this is a part</xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>
- The simpleType element and all of its members are defined
- towards the end of this schema document</xs:documentation>
- </xs:annotation>
-
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">
- <xs:annotation>
- <xs:documentation>
- Get access to the xml: attribute groups for xml:lang
- as declared on 'schema' and 'documentation' below
- </xs:documentation>
- </xs:annotation>
- </xs:import>
-
- <xs:complexType name="openAttrs">
- <xs:annotation>
- <xs:documentation>
- This type is extended by almost all schema types
- to allow attributes from other namespaces to be
- added to user schemas.
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:restriction base="xs:anyType">
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="annotated">
- <xs:annotation>
- <xs:documentation>
- This type is extended by all types which allow annotation
- other than &lt;schema&gt; itself
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="xs:openAttrs">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="schemaTop">
- <xs:annotation>
- <xs:documentation>
- This group is for the
- elements which occur freely at the top level of schemas.
- All of their types are based on the "annotated" type by extension.</xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:group ref="xs:redefinable"/>
- <xs:element ref="xs:element"/>
- <xs:element ref="xs:attribute"/>
- <xs:element ref="xs:notation"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="redefinable">
- <xs:annotation>
- <xs:documentation>
- This group is for the
- elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="xs:simpleType"/>
- <xs:element ref="xs:complexType"/>
- <xs:element ref="xs:group"/>
- <xs:element ref="xs:attributeGroup"/>
- </xs:choice>
- </xs:group>
-
- <xs:simpleType name="formChoice">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="qualified"/>
- <xs:enumeration value="unqualified"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="reducedDerivationControl">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:derivationControl">
- <xs:enumeration value="extension"/>
- <xs:enumeration value="restriction"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="derivationSet">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- <xs:documentation>
- #all or (possibly empty) subset of {extension, restriction}</xs:documentation>
- </xs:annotation>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="#all"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:list itemType="xs:reducedDerivationControl"/>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <xs:element name="schema" id="schema">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:openAttrs">
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="xs:include"/>
- <xs:element ref="xs:import"/>
- <xs:element ref="xs:redefine"/>
- <xs:element ref="xs:annotation"/>
- </xs:choice>
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:group ref="xs:schemaTop"/>
- <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:sequence>
- <xs:attribute name="targetNamespace" type="xs:anyURI"/>
- <xs:attribute name="version" type="xs:normalizedString"/>
- <xs:attribute name="finalDefault" type="xs:derivationSet" use="optional" default=""/>
- <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>
- <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
- <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
- <xs:attribute name="id" type="xs:ID"/>
- <xs:attribute ref="xml:lang"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:key name="element">
- <xs:selector xpath="xs:element"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- <xs:key name="attribute">
- <xs:selector xpath="xs:attribute"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- <xs:key name="type">
- <xs:selector xpath="xs:complexType|xs:simpleType"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- <xs:key name="group">
- <xs:selector xpath="xs:group"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- <xs:key name="attributeGroup">
- <xs:selector xpath="xs:attributeGroup"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- <xs:key name="notation">
- <xs:selector xpath="xs:notation"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- <xs:key name="identityConstraint">
- <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
- <xs:field xpath="@name"/>
- </xs:key>
-
- </xs:element>
-
- <xs:simpleType name="allNNI">
- <xs:annotation><xs:documentation>
- for maxOccurs</xs:documentation></xs:annotation>
- <xs:union memberTypes="xs:nonNegativeInteger">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="unbounded"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <xs:attributeGroup name="occurs">
- <xs:annotation><xs:documentation>
- for all particles</xs:documentation></xs:annotation>
- <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
- <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
- </xs:attributeGroup>
-
- <xs:attributeGroup name="defRef">
- <xs:annotation><xs:documentation>
- for element, group and attributeGroup,
- which both define and reference</xs:documentation></xs:annotation>
- <xs:attribute name="name" type="xs:NCName"/>
- <xs:attribute name="ref" type="xs:QName"/>
- </xs:attributeGroup>
-
- <xs:group name="typeDefParticle">
- <xs:annotation>
- <xs:documentation>
- 'complexType' uses this</xs:documentation></xs:annotation>
- <xs:choice>
- <xs:element name="group" type="xs:groupRef"/>
- <xs:element ref="xs:all"/>
- <xs:element ref="xs:choice"/>
- <xs:element ref="xs:sequence"/>
- </xs:choice>
- </xs:group>
-
-
-
- <xs:group name="nestedParticle">
- <xs:choice>
- <xs:element name="element" type="xs:localElement"/>
- <xs:element name="group" type="xs:groupRef"/>
- <xs:element ref="xs:choice"/>
- <xs:element ref="xs:sequence"/>
- <xs:element ref="xs:any"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="particle">
- <xs:choice>
- <xs:element name="element" type="xs:localElement"/>
- <xs:element name="group" type="xs:groupRef"/>
- <xs:element ref="xs:all"/>
- <xs:element ref="xs:choice"/>
- <xs:element ref="xs:sequence"/>
- <xs:element ref="xs:any"/>
- </xs:choice>
- </xs:group>
-
- <xs:complexType name="attribute">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
- </xs:sequence>
- <xs:attributeGroup ref="xs:defRef"/>
- <xs:attribute name="type" type="xs:QName"/>
- <xs:attribute name="use" use="optional" default="optional">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="prohibited"/>
- <xs:enumeration value="optional"/>
- <xs:enumeration value="required"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="default" type="xs:string"/>
- <xs:attribute name="fixed" type="xs:string"/>
- <xs:attribute name="form" type="xs:formChoice"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="topLevelAttribute">
- <xs:complexContent>
- <xs:restriction base="xs:attribute">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
- </xs:sequence>
- <xs:attribute name="ref" use="prohibited"/>
- <xs:attribute name="form" use="prohibited"/>
- <xs:attribute name="use" use="prohibited"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="attrDecls">
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="attribute" type="xs:attribute"/>
- <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
- </xs:choice>
- <xs:element ref="xs:anyAttribute" minOccurs="0"/>
- </xs:sequence>
- </xs:group>
-
- <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
- </xs:annotation>
- </xs:element>
-
- <xs:group name="complexTypeModel">
- <xs:choice>
- <xs:element ref="xs:simpleContent"/>
- <xs:element ref="xs:complexContent"/>
- <xs:sequence>
- <xs:annotation>
- <xs:documentation>
- This branch is short for
- &lt;complexContent>
- &lt;restriction base="xs:anyType">
- ...
- &lt;/restriction>
- &lt;/complexContent></xs:documentation>
- </xs:annotation>
- <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- </xs:choice>
- </xs:group>
-
- <xs:complexType name="complexType" abstract="true">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:group ref="xs:complexTypeModel"/>
- <xs:attribute name="name" type="xs:NCName">
- <xs:annotation>
- <xs:documentation>
- Will be restricted to required or forbidden</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
- <xs:annotation>
- <xs:documentation>
- Not allowed if simpleContent child is chosen.
- May be overriden by setting on complexContent child.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="final" type="xs:derivationSet"/>
- <xs:attribute name="block" type="xs:derivationSet"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="topLevelComplexType">
- <xs:complexContent>
- <xs:restriction base="xs:complexType">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:complexTypeModel"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NCName" use="required"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="localComplexType">
- <xs:complexContent>
- <xs:restriction base="xs:complexType">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:complexTypeModel"/>
- </xs:sequence>
- <xs:attribute name="name" use="prohibited"/>
- <xs:attribute name="abstract" use="prohibited"/>
- <xs:attribute name="final" use="prohibited"/>
- <xs:attribute name="block" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="restrictionType">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:choice minOccurs="0">
- <xs:group ref="xs:typeDefParticle"/>
- <xs:group ref="xs:simpleRestrictionModel"/>
- </xs:choice>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- <xs:attribute name="base" type="xs:QName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="complexRestrictionType">
- <xs:complexContent>
- <xs:restriction base="xs:restrictionType">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0">
- <xs:annotation>
- <xs:documentation>This choice is added simply to
- make this a valid restriction per the REC</xs:documentation>
- </xs:annotation>
- <xs:group ref="xs:typeDefParticle"/>
- </xs:choice>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="extensionType">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- <xs:attribute name="base" type="xs:QName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="complexContent" id="complexContent">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:choice>
- <xs:element name="restriction" type="xs:complexRestrictionType"/>
- <xs:element name="extension" type="xs:extensionType"/>
- </xs:choice>
- <xs:attribute name="mixed" type="xs:boolean">
- <xs:annotation>
- <xs:documentation>
- Overrides any setting on complexType parent.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="simpleRestrictionType">
- <xs:complexContent>
- <xs:restriction base="xs:restrictionType">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0">
- <xs:annotation>
- <xs:documentation>This choice is added simply to
- make this a valid restriction per the REC</xs:documentation>
- </xs:annotation>
- <xs:group ref="xs:simpleRestrictionModel"/>
- </xs:choice>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="simpleExtensionType">
- <xs:complexContent>
- <xs:restriction base="xs:extensionType">
- <xs:sequence>
- <xs:annotation>
- <xs:documentation>
- No typeDefParticle group reference</xs:documentation>
- </xs:annotation>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="simpleContent" id="simpleContent">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:choice>
- <xs:element name="restriction" type="xs:simpleRestrictionType"/>
- <xs:element name="extension" type="xs:simpleExtensionType"/>
- </xs:choice>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
- </xs:annotation>
- </xs:element>
-
-
- <xs:simpleType name="blockSet">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- <xs:documentation>
- #all or (possibly empty) subset of {substitution, extension,
- restriction}</xs:documentation>
- </xs:annotation>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="#all"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:list>
- <xs:simpleType>
- <xs:restriction base="xs:derivationControl">
- <xs:enumeration value="extension"/>
- <xs:enumeration value="restriction"/>
- <xs:enumeration value="substitution"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:list>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <xs:complexType name="element" abstract="true">
- <xs:annotation>
- <xs:documentation>
- The element element can be used either
- at the top level to define an element-type binding globally,
- or within a content model to either reference a globally-defined
- element or type or declare an element-type binding locally.
- The ref form is not allowed at the top level.</xs:documentation>
- </xs:annotation>
-
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:choice minOccurs="0">
- <xs:element name="simpleType" type="xs:localSimpleType"/>
- <xs:element name="complexType" type="xs:localComplexType"/>
- </xs:choice>
- <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attributeGroup ref="xs:defRef"/>
- <xs:attribute name="type" type="xs:QName"/>
- <xs:attribute name="substitutionGroup" type="xs:QName"/>
- <xs:attributeGroup ref="xs:occurs"/>
- <xs:attribute name="default" type="xs:string"/>
- <xs:attribute name="fixed" type="xs:string"/>
- <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
- <xs:attribute name="final" type="xs:derivationSet"/>
- <xs:attribute name="block" type="xs:blockSet"/>
- <xs:attribute name="form" type="xs:formChoice"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="topLevelElement">
- <xs:complexContent>
- <xs:restriction base="xs:element">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0">
- <xs:element name="simpleType" type="xs:localSimpleType"/>
- <xs:element name="complexType" type="xs:localComplexType"/>
- </xs:choice>
- <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="ref" use="prohibited"/>
- <xs:attribute name="form" use="prohibited"/>
- <xs:attribute name="minOccurs" use="prohibited"/>
- <xs:attribute name="maxOccurs" use="prohibited"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="localElement">
- <xs:complexContent>
- <xs:restriction base="xs:element">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0">
- <xs:element name="simpleType" type="xs:localSimpleType"/>
- <xs:element name="complexType" type="xs:localComplexType"/>
- </xs:choice>
- <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="substitutionGroup" use="prohibited"/>
- <xs:attribute name="final" use="prohibited"/>
- <xs:attribute name="abstract" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="element" type="xs:topLevelElement" id="element">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
- </xs:annotation>
- </xs:element>
-
- <xs:complexType name="group" abstract="true">
- <xs:annotation>
- <xs:documentation>
- group type for explicit groups, named top-level groups and
- group references</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
- <xs:attributeGroup ref="xs:defRef"/>
- <xs:attributeGroup ref="xs:occurs"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="realGroup">
- <xs:complexContent>
- <xs:restriction base="xs:group">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element ref="xs:all"/>
- <xs:element ref="xs:choice"/>
- <xs:element ref="xs:sequence"/>
- </xs:choice>
- </xs:sequence>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="namedGroup">
- <xs:complexContent>
- <xs:restriction base="xs:realGroup">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="1" maxOccurs="1">
- <xs:element name="all">
- <xs:complexType>
- <xs:complexContent>
- <xs:restriction base="xs:all">
- <xs:group ref="xs:allModel"/>
- <xs:attribute name="minOccurs" use="prohibited"/>
- <xs:attribute name="maxOccurs" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="choice" type="xs:simpleExplicitGroup"/>
- <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <xs:attribute name="ref" use="prohibited"/>
- <xs:attribute name="minOccurs" use="prohibited"/>
- <xs:attribute name="maxOccurs" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="groupRef">
- <xs:complexContent>
- <xs:restriction base="xs:realGroup">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="ref" use="required" type="xs:QName"/>
- <xs:attribute name="name" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="explicitGroup">
- <xs:annotation>
- <xs:documentation>
- group type for the three kinds of group</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:restriction base="xs:group">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
- <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="simpleExplicitGroup">
- <xs:complexContent>
- <xs:restriction base="xs:explicitGroup">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="minOccurs" use="prohibited"/>
- <xs:attribute name="maxOccurs" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="allModel">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>This choice with min/max is here to
- avoid a pblm with the Elt:All/Choice/Seq
- Particle derivation constraint</xs:documentation>
- </xs:annotation>
- <xs:element name="element">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>restricted max/min</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:restriction base="xs:localElement">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:choice minOccurs="0">
- <xs:element name="simpleType" type="xs:localSimpleType"/>
- <xs:element name="complexType" type="xs:localComplexType"/>
- </xs:choice>
- <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="minOccurs" use="optional" default="1">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:enumeration value="0"/>
- <xs:enumeration value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="maxOccurs" use="optional" default="1">
- <xs:simpleType>
- <xs:restriction base="xs:allNNI">
- <xs:enumeration value="0"/>
- <xs:enumeration value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:sequence>
- </xs:group>
-
- <xs:complexType name="all">
- <xs:annotation>
- <xs:documentation>
- Only elements allowed inside</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:restriction base="xs:explicitGroup">
- <xs:group ref="xs:allModel"/>
- <xs:attribute name="minOccurs" use="optional" default="1">
- <xs:simpleType>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:enumeration value="0"/>
- <xs:enumeration value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="maxOccurs" use="optional" default="1">
- <xs:simpleType>
- <xs:restriction base="xs:allNNI">
- <xs:enumeration value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="all" id="all" type="xs:all">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="choice" type="xs:explicitGroup" id="choice">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="sequence" type="xs:explicitGroup" id="sequence">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="group" type="xs:namedGroup" id="group">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
- </xs:annotation>
- </xs:element>
-
- <xs:complexType name="wildcard">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
- <xs:attribute name="processContents" use="optional" default="strict">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="skip"/>
- <xs:enumeration value="lax"/>
- <xs:enumeration value="strict"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="any" id="any">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:wildcard">
- <xs:attributeGroup ref="xs:occurs"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:annotation>
- <xs:documentation>
- simple type for the value of the 'namespace' attr of
- 'any' and 'anyAttribute'</xs:documentation>
- </xs:annotation>
- <xs:annotation>
- <xs:documentation>
- Value is
- ##any - - any non-conflicting WFXML/attribute at all
-
- ##other - - any non-conflicting WFXML/attribute from
- namespace other than targetNS
-
- ##local - - any unqualified non-conflicting WFXML/attribute
-
- one or - - any non-conflicting WFXML/attribute from
- more URI the listed namespaces
- references
- (space separated)
-
- ##targetNamespace or ##local may appear in the above list, to
- refer to the targetNamespace of the enclosing
- schema or an absent targetNamespace respectively</xs:documentation>
- </xs:annotation>
-
- <xs:simpleType name="namespaceList">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- </xs:annotation>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="##any"/>
- <xs:enumeration value="##other"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:list>
- <xs:simpleType>
- <xs:union memberTypes="xs:anyURI">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="##targetNamespace"/>
- <xs:enumeration value="##local"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:list>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
- </xs:annotation>
- </xs:element>
-
- <xs:complexType name="attributeGroup" abstract="true">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:group ref="xs:attrDecls"/>
- <xs:attributeGroup ref="xs:defRef"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="namedAttributeGroup">
- <xs:complexContent>
- <xs:restriction base="xs:attributeGroup">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:attrDecls"/>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <xs:attribute name="ref" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="attributeGroupRef">
- <xs:complexContent>
- <xs:restriction base="xs:attributeGroup">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="ref" use="required" type="xs:QName"/>
- <xs:attribute name="name" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="include" id="include">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="redefine" id="redefine">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:openAttrs">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="xs:annotation"/>
- <xs:group ref="xs:redefinable"/>
- </xs:choice>
- <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="import" id="import">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="namespace" type="xs:anyURI"/>
- <xs:attribute name="schemaLocation" type="xs:anyURI"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="selector" id="selector">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="xpath" use="required">
- <xs:simpleType>
- <xs:annotation>
- <xs:documentation>A subset of XPath expressions for use
-in selectors</xs:documentation>
- <xs:documentation>A utility type, not for public
-use</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:token">
- <xs:annotation>
- <xs:documentation>The following pattern is intended to allow XPath
- expressions per the following EBNF:
- Selector ::= Path ( '|' Path )*
- Path ::= ('.//')? Step ( '/' Step )*
- Step ::= '.' | NameTest
- NameTest ::= QName | '*' | NCName ':' '*'
- child:: is also allowed
- </xs:documentation>
- </xs:annotation>
- <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
- </xs:pattern>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="field" id="field">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="xpath" use="required">
- <xs:simpleType>
- <xs:annotation>
- <xs:documentation>A subset of XPath expressions for use
-in fields</xs:documentation>
- <xs:documentation>A utility type, not for public
-use</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:token">
- <xs:annotation>
- <xs:documentation>The following pattern is intended to allow XPath
- expressions per the same EBNF as for selector,
- with the following change:
- Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
- </xs:documentation>
- </xs:annotation>
- <xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">
- </xs:pattern>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="keybase">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:element ref="xs:selector"/>
- <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NCName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:group name="identityConstraint">
- <xs:annotation>
- <xs:documentation>The three kinds of identity constraints, all with
- type of or derived from 'keybase'.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="xs:unique"/>
- <xs:element ref="xs:key"/>
- <xs:element ref="xs:keyref"/>
- </xs:choice>
- </xs:group>
-
- <xs:element name="unique" type="xs:keybase" id="unique">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
- </xs:annotation>
- </xs:element>
- <xs:element name="key" type="xs:keybase" id="key">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
- </xs:annotation>
- </xs:element>
- <xs:element name="keyref" id="keyref">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:keybase">
- <xs:attribute name="refer" type="xs:QName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="notation" id="notation">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="name" type="xs:NCName" use="required"/>
- <xs:attribute name="public" type="xs:public" use="required"/>
- <xs:attribute name="system" type="xs:anyURI"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:simpleType name="public">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- <xs:documentation>
- A public identifier, per ISO 8879</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:token"/>
- </xs:simpleType>
-
- <xs:element name="appinfo" id="appinfo">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:any processContents="lax"/>
- </xs:sequence>
- <xs:attribute name="source" type="xs:anyURI"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="documentation" id="documentation">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:any processContents="lax"/>
- </xs:sequence>
- <xs:attribute name="source" type="xs:anyURI"/>
- <xs:attribute ref="xml:lang"/>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="annotation" id="annotation">
- <xs:annotation>
- <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="xs:openAttrs">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="xs:appinfo"/>
- <xs:element ref="xs:documentation"/>
- </xs:choice>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:annotation>
- <xs:documentation>
- notations for use within XML Schema schemas</xs:documentation>
- </xs:annotation>
-
- <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>
- <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>
-
- <xs:complexType name="anyType" mixed="true">
- <xs:annotation>
- <xs:documentation>
- Not the real urType, but as close an approximation as we can
- get in the XML representation</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:anyAttribute/>
- </xs:complexType>
-
- <xs:annotation>
- <xs:documentation>
- First the built-in primitive datatypes. These definitions are for
- information only, the real built-in definitions are magic. Note in
- particular that there is no type named 'anySimpleType'. The
- primitives should really be derived from no type at all, and
- anySimpleType should be derived as a union of all the primitives.
- </xs:documentation>
-
- <xs:documentation>
- For each built-in datatype in this schema (both primitive and
- derived) can be uniquely addressed via a URI constructed
- as follows:
- 1) the base URI is the URI of the XML Schema namespace
- 2) the fragment identifier is the name of the datatype
-
- For example, to address the int datatype, the URI is:
-
- http://www.w3.org/2001/XMLSchema#int
-
- Additionally, each facet definition element can be uniquely
- addressed via a URI constructed as follows:
- 1) the base URI is the URI of the XML Schema namespace
- 2) the fragment identifier is the name of the facet
-
- For example, to address the maxInclusive facet, the URI is:
-
- http://www.w3.org/2001/XMLSchema#maxInclusive
-
- Additionally, each facet usage in a built-in datatype definition
- can be uniquely addressed via a URI constructed as follows:
- 1) the base URI is the URI of the XML Schema namespace
- 2) the fragment identifier is the name of the datatype, followed
- by a period (".") followed by the name of the facet
-
- For example, to address the usage of the maxInclusive facet in
- the definition of int, the URI is:
-
- http://www.w3.org/2001/XMLSchema#int.maxInclusive
-
- </xs:documentation>
- </xs:annotation>
-
- <xs:simpleType name="string" id="string">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality" value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#string"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="preserve" id="string.preserve"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="boolean" id="boolean">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality" value="finite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="boolean.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="float" id="float">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="total"/>
- <hfp:hasProperty name="bounded" value="true"/>
- <hfp:hasProperty name="cardinality" value="finite"/>
- <hfp:hasProperty name="numeric" value="true"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#float"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="float.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="double" id="double">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="total"/>
- <hfp:hasProperty name="bounded" value="true"/>
- <hfp:hasProperty name="cardinality" value="finite"/>
- <hfp:hasProperty name="numeric" value="true"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#double"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="double.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="decimal" id="decimal">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="totalDigits"/>
- <hfp:hasFacet name="fractionDigits"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="total"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="true"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="decimal.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="duration" id="duration">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#duration"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="duration.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="dateTime" id="dateTime">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="dateTime.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="time" id="time">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#time"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="time.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="date" id="date">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#date"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="date.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="gYearMonth" id="gYearMonth">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="gYearMonth.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="gYear" id="gYear">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="gYear.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="gMonthDay" id="gMonthDay">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="gMonthDay.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="gDay" id="gDay">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="gDay.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="gMonth" id="gMonth">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasFacet name="maxInclusive"/>
- <hfp:hasFacet name="maxExclusive"/>
- <hfp:hasFacet name="minInclusive"/>
- <hfp:hasFacet name="minExclusive"/>
- <hfp:hasProperty name="ordered" value="partial"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="gMonth.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="hexBinary" id="hexBinary">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#binary"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="hexBinary.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="base64Binary" id="base64Binary">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="base64Binary.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="anyURI" id="anyURI">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="anyURI.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="QName" id="QName">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#QName"/>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="QName.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="NOTATION" id="NOTATION">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="pattern"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
- <xs:documentation>
- NOTATION cannot be used directly in a schema; rather a type
- must be derived from it by specifying at least one enumeration
- facet whose value is the name of a NOTATION declared in the
- schema.
- </xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:anySimpleType">
- <xs:whiteSpace value="collapse" fixed="true"
- id="NOTATION.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:annotation>
- <xs:documentation>
- Now the derived primitive types
- </xs:documentation>
- </xs:annotation>
-
- <xs:simpleType name="normalizedString" id="normalizedString">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
- </xs:annotation>
- <xs:restriction base="xs:string">
- <xs:whiteSpace value="replace"
- id="normalizedString.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="token" id="token">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#token"/>
- </xs:annotation>
- <xs:restriction base="xs:normalizedString">
- <xs:whiteSpace value="collapse" id="token.whiteSpace"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="language" id="language">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#language"/>
- </xs:annotation>
- <xs:restriction base="xs:token">
- <xs:pattern
- value="([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*"
- id="language.pattern">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/REC-xml#NT-LanguageID">
- pattern specifies the content of section 2.12 of XML 1.0e2
- and RFC 1766
- </xs:documentation>
- </xs:annotation>
- </xs:pattern>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="IDREFS" id="IDREFS">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
- </xs:annotation>
- <xs:restriction>
- <xs:simpleType>
- <xs:list itemType="xs:IDREF"/>
- </xs:simpleType>
- <xs:minLength value="1" id="IDREFS.minLength"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="ENTITIES" id="ENTITIES">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
- </xs:annotation>
- <xs:restriction>
- <xs:simpleType>
- <xs:list itemType="xs:ENTITY"/>
- </xs:simpleType>
- <xs:minLength value="1" id="ENTITIES.minLength"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="NMTOKEN" id="NMTOKEN">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
- </xs:annotation>
- <xs:restriction base="xs:token">
- <xs:pattern value="\c+" id="NMTOKEN.pattern">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
- pattern matches production 7 from the XML spec
- </xs:documentation>
- </xs:annotation>
- </xs:pattern>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="NMTOKENS" id="NMTOKENS">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasFacet name="length"/>
- <hfp:hasFacet name="minLength"/>
- <hfp:hasFacet name="maxLength"/>
- <hfp:hasFacet name="enumeration"/>
- <hfp:hasFacet name="whiteSpace"/>
- <hfp:hasProperty name="ordered" value="false"/>
- <hfp:hasProperty name="bounded" value="false"/>
- <hfp:hasProperty name="cardinality"
- value="countably infinite"/>
- <hfp:hasProperty name="numeric" value="false"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
- </xs:annotation>
- <xs:restriction>
- <xs:simpleType>
- <xs:list itemType="xs:NMTOKEN"/>
- </xs:simpleType>
- <xs:minLength value="1" id="NMTOKENS.minLength"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="Name" id="Name">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#Name"/>
- </xs:annotation>
- <xs:restriction base="xs:token">
- <xs:pattern value="\i\c*" id="Name.pattern">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/REC-xml#NT-Name">
- pattern matches production 5 from the XML spec
- </xs:documentation>
- </xs:annotation>
- </xs:pattern>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="NCName" id="NCName">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
- </xs:annotation>
- <xs:restriction base="xs:Name">
- <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
- pattern matches production 4 from the Namespaces in XML spec
- </xs:documentation>
- </xs:annotation>
- </xs:pattern>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="ID" id="ID">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#ID"/>
- </xs:annotation>
- <xs:restriction base="xs:NCName"/>
- </xs:simpleType>
-
- <xs:simpleType name="IDREF" id="IDREF">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
- </xs:annotation>
- <xs:restriction base="xs:NCName"/>
- </xs:simpleType>
-
- <xs:simpleType name="ENTITY" id="ENTITY">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
- </xs:annotation>
- <xs:restriction base="xs:NCName"/>
- </xs:simpleType>
-
- <xs:simpleType name="integer" id="integer">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#integer"/>
- </xs:annotation>
- <xs:restriction base="xs:decimal">
- <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
- </xs:annotation>
- <xs:restriction base="xs:integer">
- <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="negativeInteger" id="negativeInteger">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
- </xs:annotation>
- <xs:restriction base="xs:nonPositiveInteger">
- <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="long" id="long">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasProperty name="bounded" value="true"/>
- <hfp:hasProperty name="cardinality" value="finite"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#long"/>
- </xs:annotation>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>
- <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="int" id="int">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#int"/>
- </xs:annotation>
- <xs:restriction base="xs:long">
- <xs:minInclusive value="-2147483648" id="int.minInclusive"/>
- <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="short" id="short">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#short"/>
- </xs:annotation>
- <xs:restriction base="xs:int">
- <xs:minInclusive value="-32768" id="short.minInclusive"/>
- <xs:maxInclusive value="32767" id="short.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="byte" id="byte">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#byte"/>
- </xs:annotation>
- <xs:restriction base="xs:short">
- <xs:minInclusive value="-128" id="byte.minInclusive"/>
- <xs:maxInclusive value="127" id="byte.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
- </xs:annotation>
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="unsignedLong" id="unsignedLong">
- <xs:annotation>
- <xs:appinfo>
- <hfp:hasProperty name="bounded" value="true"/>
- <hfp:hasProperty name="cardinality" value="finite"/>
- </xs:appinfo>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
- </xs:annotation>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:maxInclusive value="18446744073709551615"
- id="unsignedLong.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="unsignedInt" id="unsignedInt">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
- </xs:annotation>
- <xs:restriction base="xs:unsignedLong">
- <xs:maxInclusive value="4294967295"
- id="unsignedInt.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="unsignedShort" id="unsignedShort">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
- </xs:annotation>
- <xs:restriction base="xs:unsignedInt">
- <xs:maxInclusive value="65535"
- id="unsignedShort.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="unsignedByte" id="unsignedByte">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
- </xs:annotation>
- <xs:restriction base="xs:unsignedShort">
- <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="positiveInteger" id="positiveInteger">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
- </xs:annotation>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:simpleType name="derivationControl">
- <xs:annotation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="substitution"/>
- <xs:enumeration value="extension"/>
- <xs:enumeration value="restriction"/>
- <xs:enumeration value="list"/>
- <xs:enumeration value="union"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:group name="simpleDerivation">
- <xs:choice>
- <xs:element ref="xs:restriction"/>
- <xs:element ref="xs:list"/>
- <xs:element ref="xs:union"/>
- </xs:choice>
- </xs:group>
-
- <xs:simpleType name="simpleDerivationSet">
- <xs:annotation>
- <xs:documentation>
- #all or (possibly empty) subset of {restriction, union, list}
- </xs:documentation>
- <xs:documentation>
- A utility type, not for public use</xs:documentation>
- </xs:annotation>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="#all"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:restriction base="xs:derivationControl">
- <xs:enumeration value="list"/>
- <xs:enumeration value="union"/>
- <xs:enumeration value="restriction"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
-
- <xs:complexType name="simpleType" abstract="true">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:group ref="xs:simpleDerivation"/>
- <xs:attribute name="final" type="xs:simpleDerivationSet"/>
- <xs:attribute name="name" type="xs:NCName">
- <xs:annotation>
- <xs:documentation>
- Can be restricted to required or forbidden
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="topLevelSimpleType">
- <xs:complexContent>
- <xs:restriction base="xs:simpleType">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:simpleDerivation"/>
- </xs:sequence>
- <xs:attribute name="name" use="required"
- type="xs:NCName">
- <xs:annotation>
- <xs:documentation>
- Required at the top level
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="localSimpleType">
- <xs:complexContent>
- <xs:restriction base="xs:simpleType">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- <xs:group ref="xs:simpleDerivation"/>
- </xs:sequence>
- <xs:attribute name="name" use="prohibited">
- <xs:annotation>
- <xs:documentation>
- Forbidden when nested
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="final" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
- </xs:annotation>
- </xs:element>
-
- <xs:group name="facets">
- <xs:annotation>
- <xs:documentation>
- We should use a substitution group for facets, but
- that's ruled out because it would allow users to
- add their own, which we're not ready for yet.
- </xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="xs:minExclusive"/>
- <xs:element ref="xs:minInclusive"/>
- <xs:element ref="xs:maxExclusive"/>
- <xs:element ref="xs:maxInclusive"/>
- <xs:element ref="xs:totalDigits"/>
- <xs:element ref="xs:fractionDigits"/>
- <xs:element ref="xs:length"/>
- <xs:element ref="xs:minLength"/>
- <xs:element ref="xs:maxLength"/>
- <xs:element ref="xs:enumeration"/>
- <xs:element ref="xs:whiteSpace"/>
- <xs:element ref="xs:pattern"/>
- </xs:choice>
- </xs:group>
-
- <xs:group name="simpleRestrictionModel">
- <xs:sequence>
- <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
- <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:group>
-
- <xs:element name="restriction" id="restriction">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
- base attribute and simpleType child are mutually
- exclusive, but one or other is required
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:group ref="xs:simpleRestrictionModel"/>
- <xs:attribute name="base" type="xs:QName" use="optional"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="list" id="list">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-list">
- itemType attribute and simpleType child are mutually
- exclusive, but one or other is required
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:element name="simpleType" type="xs:localSimpleType"
- minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="itemType" type="xs:QName" use="optional"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="union" id="union">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-union">
- memberTypes attribute must be non-empty or there must be
- at least one simpleType child
- </xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:sequence>
- <xs:element name="simpleType" type="xs:localSimpleType"
- minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="memberTypes" use="optional">
- <xs:simpleType>
- <xs:list itemType="xs:QName"/>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="facet">
- <xs:complexContent>
- <xs:extension base="xs:annotated">
- <xs:attribute name="value" use="required"/>
- <xs:attribute name="fixed" type="xs:boolean" use="optional"
- default="false"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="noFixedFacet">
- <xs:complexContent>
- <xs:restriction base="xs:facet">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="fixed" use="prohibited"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="minExclusive" id="minExclusive" type="xs:facet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
- </xs:annotation>
- </xs:element>
- <xs:element name="minInclusive" id="minInclusive" type="xs:facet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
- </xs:annotation>
- </xs:element>
- <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
- </xs:annotation>
- </xs:element>
-
- <xs:complexType name="numFacet">
- <xs:complexContent>
- <xs:restriction base="xs:facet">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:element name="totalDigits" id="totalDigits">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:restriction base="xs:numFacet">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="value" type="xs:positiveInteger" use="required"/>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="length" id="length" type="xs:numFacet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
- </xs:annotation>
- </xs:element>
- <xs:element name="minLength" id="minLength" type="xs:numFacet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
- </xs:annotation>
- </xs:element>
- <xs:element name="maxLength" id="maxLength" type="xs:numFacet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
- </xs:annotation>
- </xs:element>
-
- <xs:element name="whiteSpace" id="whiteSpace">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>
- </xs:annotation>
- <xs:complexType>
- <xs:complexContent>
- <xs:restriction base="xs:facet">
- <xs:sequence>
- <xs:element ref="xs:annotation" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="value" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:NMTOKEN">
- <xs:enumeration value="preserve"/>
- <xs:enumeration value="replace"/>
- <xs:enumeration value="collapse"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
-
- <xs:element name="pattern" id="pattern" type="xs:noFixedFacet">
- <xs:annotation>
- <xs:documentation
- source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
- </xs:annotation>
- </xs:element>
-
-</xs:schema>
diff --git a/spec/xs3p/examples/address.xsd b/spec/xs3p/examples/address.xsd
deleted file mode 100644
index 61456139..00000000
--- a/spec/xs3p/examples/address.xsd
+++ /dev/null
@@ -1,55 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- Addresses for International Purchase order schema
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string"/>
- <element name="street" type="string"/>
- <element name="city" type="string"/>
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState"/>
- <element name="zip" type="positiveInteger"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode"/>
- </sequence>
- <attribute name="exportCode" type="positiveInteger" fixed="1"/>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK"/>
- <enumeration value="AL"/>
- <enumeration value="AR"/>
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <!-- simple type definition for UKPostcode -->
-
-</schema> \ No newline at end of file
diff --git a/spec/xs3p/examples/build.xml b/spec/xs3p/examples/build.xml
deleted file mode 100644
index 8b4a4e57..00000000
--- a/spec/xs3p/examples/build.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<project name="TestAnt" default="all" basedir=".">
- <description>Script to generate documentation for example schema files using Ant.</description>
-
- <property name="original-loc" value=".."/>
- <property name="xslt-file" value="xs3p.xsl"/>
- <property name="target-dir" value="ant-results"/>
-
- <target name="all" description="Generates documentation for all *.xsd files.">
- <xslt basedir="." destdir="${target-dir}"
- extension=".html" style="${original-loc}/${xslt-file}">
- <include name="*.xsd"/>
- </xslt>
- </target>
-
- <target name="test-external-links" description="Test linking between schema files.">
- <!-- Copy xslt file to local dir. -->
- <copy file="${original-loc}/${xslt-file}" todir="${basedir}"/>
- <!-- address.xsd -->
- <xslt in="address.xsd" out="${target-dir}/address.xsd.html" style="${xslt-file}">
- <param name="searchImportedSchemas" expression="true"/>
- <param name="searchIncludedSchemas" expression="true"/>
- <param name="linksFile" expression="links.xml"/>
- </xslt>
- <!-- ipo.xsd -->
- <xslt in="ipo.xsd" out="${target-dir}/ipo.xsd.html" style="${xslt-file}">
- <param name="searchImportedSchemas" expression="true"/>
- <param name="searchIncludedSchemas" expression="true"/>
- <param name="linksFile" expression="links.xml"/>
- </xslt>
- <!-- report.xsd -->
- <xslt in="report.xsd" out="${target-dir}/report.xsd.html" style="${xslt-file}">
- <param name="searchImportedSchemas" expression="true"/>
- <param name="searchIncludedSchemas" expression="true"/>
- <param name="linksFile" expression="links.xml"/>
- </xslt>
- <!-- Delete local copy of xslt file. -->
- <delete file="${basedir}/${xslt-file}"/>
- </target>
-
-</project>
diff --git a/spec/xs3p/examples/ipo.xsd b/spec/xs3p/examples/ipo.xsd
deleted file mode 100644
index 419416ea..00000000
--- a/spec/xs3p/examples/ipo.xsd
+++ /dev/null
@@ -1,59 +0,0 @@
-<schema targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
- <!-- include address constructs -->
- <include
- schemaLocation="address.xsd"/>
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType"/>
-
- <element name="comment" type="string"/>
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address"/>
- <element name="billTo" type="ipo:Address"/>
- <element ref="ipo:comment" minOccurs="0"/>
- <element name="items" type="ipo:Items"/>
- </sequence>
- <attribute name="orderDate" type="date"/>
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string"/>
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100"/>
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal"/>
- <element ref="ipo:comment" minOccurs="0"/>
- <element name="shipDate" type="date" minOccurs="0"/>
- </sequence>
- <attribute name="partNum" type="ipo:SKU" use="required"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}"/>
- </restriction>
- </simpleType>
-
-</schema> \ No newline at end of file
diff --git a/spec/xs3p/examples/links.xml b/spec/xs3p/examples/links.xml
deleted file mode 100644
index 5bea6b8c..00000000
--- a/spec/xs3p/examples/links.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<links xmlns="http://titanium.dstc.edu.au/xml/xs3p">
- <schema file-location="address.xsd" docfile-location="address.xsd.html"/>
- <schema file-location="ipo.xsd" docfile-location="ipo.xsd.html"/>
- <schema file-location="report.xsd" docfile-location="report.xsd.html"/>
-</links> \ No newline at end of file
diff --git a/spec/xs3p/examples/po.xsd b/spec/xs3p/examples/po.xsd
deleted file mode 100644
index 65ed8616..00000000
--- a/spec/xs3p/examples/po.xsd
+++ /dev/null
@@ -1,66 +0,0 @@
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Purchase order schema for Example.com.
- Copyright 2000 Example.com. All rights reserved.
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
-
- <xsd:element name="comment" type="xsd:string"/>
-
- <xsd:complexType name="PurchaseOrderType">
- <xsd:sequence>
- <xsd:element name="shipTo" type="USAddress"/>
- <xsd:element name="billTo" type="USAddress"/>
- <xsd:element ref="comment" minOccurs="0"/>
- <xsd:element name="items" type="Items"/>
- </xsd:sequence>
- <xsd:attribute name="orderDate" type="xsd:date"/>
- </xsd:complexType>
-
- <xsd:complexType name="USAddress">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="street" type="xsd:string"/>
- <xsd:element name="city" type="xsd:string"/>
- <xsd:element name="state" type="xsd:string"/>
- <xsd:element name="zip" type="xsd:decimal"/>
- </xsd:sequence>
- <xsd:attribute name="country" type="xsd:NMTOKEN"
- fixed="US"/>
- </xsd:complexType>
-
- <xsd:complexType name="Items">
- <xsd:sequence>
- <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="productName" type="xsd:string"/>
- <xsd:element name="quantity">
- <xsd:simpleType>
- <xsd:restriction base="xsd:positiveInteger">
- <xsd:maxExclusive value="100"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="USPrice" type="xsd:decimal"/>
- <xsd:element ref="comment" minOccurs="0"/>
- <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="partNum" type="SKU" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
-
- <!-- Stock Keeping Unit, a code for identifying products -->
- <xsd:simpleType name="SKU">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="\d{3}-[A-Z]{2}"/>
- </xsd:restriction>
- </xsd:simpleType>
-
-</xsd:schema> \ No newline at end of file
diff --git a/spec/xs3p/examples/recursion.xsd b/spec/xs3p/examples/recursion.xsd
deleted file mode 100644
index cbe14b36..00000000
--- a/spec/xs3p/examples/recursion.xsd
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://example.com" targetNamespace="http://example.com">
- <xsd:element name="x">
- <xsd:simpleType>
- <xsd:restriction base="X">
- <xsd:enumeration value="abc"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:simpleType name="X">
- <xsd:restriction base="Z">
- <xsd:enumeration value="abc"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="Y">
- <xsd:restriction base="X">
- <xsd:enumeration value="abc"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="Z">
- <xsd:restriction base="Y">
- <xsd:enumeration value="abc"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:complexType name="A">
- <xsd:complexContent>
- <xsd:extension base="C">
- <xsd:sequence>
- <xsd:element name="a" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="B">
- <xsd:complexContent>
- <xsd:extension base="A">
- <xsd:sequence>
- <xsd:element name="b" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- <xsd:complexType name="C">
- <xsd:complexContent>
- <xsd:extension base="B">
- <xsd:sequence>
- <xsd:element name="c" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
-
- <xsd:group name="A">
- <xsd:sequence>
- <xsd:group ref="C"/>
- <xsd:element name="a" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:group name="B">
- <xsd:sequence>
- <xsd:group ref="A"/>
- <xsd:element name="b" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:group name="C">
- <xsd:sequence>
- <xsd:group ref="B"/>
- <xsd:element name="c" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
-
- <xsd:attributeGroup name="A">
- <xsd:attributeGroup ref="C"/>
- <xsd:attribute name="a" type="xsd:string"/>
- </xsd:attributeGroup>
- <xsd:attributeGroup name="B">
- <xsd:attributeGroup ref="A"/>
- <xsd:attribute name="b" type="xsd:string"/>
- </xsd:attributeGroup>
- <xsd:attributeGroup name="C">
- <xsd:attributeGroup ref="B"/>
- <xsd:attribute name="c" type="xsd:string"/>
- </xsd:attributeGroup>
-</xsd:schema> \ No newline at end of file
diff --git a/spec/xs3p/examples/report.xsd b/spec/xs3p/examples/report.xsd
deleted file mode 100644
index 9cc6cca2..00000000
--- a/spec/xs3p/examples/report.xsd
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?>
-<schema targetNamespace="http://www.example.com/Report" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:r="http://www.example.com/Report" xmlns:xipo="http://www.example.com/IPO" elementFormDefault="qualified">
- <!-- for SKU -->
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/>
-
- <annotation>
- <documentation xml:lang="en">Report schema for Example.com
- Copyright 2000 Example.com. All rights reserved.</documentation>
- </annotation>
-
- <element name="purchaseReport">
- <complexType>
- <sequence>
- <element name="regions" type="r:RegionsType">
- <keyref name="dummy2" refer="r:pNumKey">
- <selector xpath="r:zip/r:part"/>
- <field xpath="@number"/>
- </keyref>
- </element>
- <element name="parts" type="r:PartsType"/>
- <element ref="xipo:comment"/>
- </sequence>
- <attribute name="period" type="duration"/>
- <attribute name="periodEnding" type="date"/>
- </complexType>
-
- <unique name="dummy1">
- <selector xpath="r:regions/r:zip"/>
- <field xpath="@code"/>
- </unique>
-
- <key name="pNumKey">
- <selector xpath="r:parts/r:part"/>
- <field xpath="@number"/>
- </key>
- </element>
-
- <complexType name="RegionsType">
- <sequence>
- <element name="zip" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="part" maxOccurs="unbounded">
- <complexType>
- <complexContent>
- <restriction base="anyType">
- <attribute name="number" type="xipo:SKU"/>
- <attribute name="quantity" type="positiveInteger"/>
- </restriction>
- </complexContent>
- </complexType>
- </element>
- </sequence>
- <attribute name="code" type="positiveInteger"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <complexType name="PartsType">
- <sequence>
- <element name="part" maxOccurs="unbounded">
- <complexType>
- <simpleContent>
- <extension base="string">
- <attribute name="number" type="xipo:SKU"/>
- </extension>
- </simpleContent>
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <complexType name="ExtendedPurchaseOrderType">
- <complexContent>
- <extension base="xipo:PurchaseOrderType">
- <sequence>
- <element name="shipper" type="xipo:Address"/>
- </sequence>
- <attribute name="shipToDate" type="date"/>
- </extension>
- </complexContent>
- </complexType>
-</schema> \ No newline at end of file
diff --git a/spec/xs3p/examples/test_msxsl.bat b/spec/xs3p/examples/test_msxsl.bat
deleted file mode 100644
index 70f847cc..00000000
--- a/spec/xs3p/examples/test_msxsl.bat
+++ /dev/null
@@ -1,19 +0,0 @@
-set RESULTS_DIR=msxsl-results
-set LINKS_FILE=links.xml
-set XSLT_FILE=xs3p.xsl
-set ORIGINAL_XSLT_FILE=..\%XSLT_FILE%
-rem Copy XSLT file to local directory
-copy %ORIGINAL_XSLT_FILE% .
-rem Create results directory
-if not exist %RESULTS_DIR% mkdir %RESULTS_DIR%
-rem Loop through schema files
-for %%f in (*.xsd) do msxsl %%f %XSLT_FILE% -t -o %RESULTS_DIR%\%%f.html
-rem Test external links
-rem set XSD_FILE=address.xsd
-rem msxsl %XSD_FILE% %XSLT_FILE% -t -o %RESULTS_DIR%\%XSD_FILE%.html searchImportedSchemas=true searchIncludedSchemas=true linksFile=%LINKS_FILE%
-rem set XSD_FILE=ipo.xsd
-rem msxsl %XSD_FILE% %XSLT_FILE% -t -o %RESULTS_DIR%\%XSD_FILE%.html searchImportedSchemas=true searchIncludedSchemas=true linksFile=%LINKS_FILE%
-rem set XSD_FILE=report.xsd
-rem msxsl %XSD_FILE% %XSLT_FILE% -t -o %RESULTS_DIR%\%XSD_FILE%.html searchImportedSchemas=true searchIncludedSchemas=true linksFile=%LINKS_FILE%
-rem Delete local copy of stylesheet
-del %XSLT_FILE%
diff --git a/spec/xs3p/examples/test_xalanj.bat b/spec/xs3p/examples/test_xalanj.bat
deleted file mode 100644
index 3a3f0769..00000000
--- a/spec/xs3p/examples/test_xalanj.bat
+++ /dev/null
@@ -1,19 +0,0 @@
-set RESULTS_DIR=xalanj-results
-set LINKS_FILE=links.xml
-set XSLT_FILE=xs3p.xsl
-set ORIGINAL_XSLT_FILE=..\%XSLT_FILE%
-rem Copy XSLT file to local directory
-copy %ORIGINAL_XSLT_FILE% .
-rem Create results directory
-if not exist %RESULTS_DIR% mkdir %RESULTS_DIR%
-rem Loop through schema files
-for %%f in (*.xsd) do java org.apache.xalan.xslt.Process -IN %%f -XSL %XSLT_FILE% -OUT %RESULTS_DIR%\%%f.html
-rem Test external links
-rem set XSD_FILE=address.xsd
-rem java org.apache.xalan.xslt.Process -IN %XSD_FILE% -XSL %XSLT_FILE% -OUT %RESULTS_DIR%\%XSD_FILE%.html -PARAM searchImportedSchemas true -PARAM searchIncludedSchemas true -PARAM linksFile %LINKS_FILE%
-rem set XSD_FILE=ipo.xsd
-rem java org.apache.xalan.xslt.Process -IN %XSD_FILE% -XSL %XSLT_FILE% -OUT %RESULTS_DIR%\%XSD_FILE%.html -PARAM searchImportedSchemas true -PARAM searchIncludedSchemas true -PARAM linksFile %LINKS_FILE%
-rem set XSD_FILE=report.xsd
-rem java org.apache.xalan.xslt.Process -IN %XSD_FILE% -XSL %XSLT_FILE% -OUT %RESULTS_DIR%\%XSD_FILE%.html -PARAM searchImportedSchemas true -PARAM searchIncludedSchemas true -PARAM linksFile %LINKS_FILE%
-rem Delete local copy of stylesheet
-del %XSLT_FILE%
diff --git a/spec/xs3p/examples/test_xsltproc.sh b/spec/xs3p/examples/test_xsltproc.sh
deleted file mode 100644
index f2e3120a..00000000
--- a/spec/xs3p/examples/test_xsltproc.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!bin/bash
-RESULTS_DIR=xsltproc-results
-LINKS_FILE=links.xml
-XSLT_FILE=xs3p.xsl
-ORIGINAL_XSLT_FILE=../$XSLT_FILE
-# Copy XSLT file to local directory
-cp $ORIGINAL_XSLT_FILE .
-# Create results directory
-if [ ! -d $RESULTS_DIR ] ;
-then
- mkdir $RESULTS_DIR
-fi
-# Loop through schema files
-for f in *.xsd
-do
- echo "Generating documentation for: $f"
- xsltproc --nonet --output $RESULTS_DIR/$f.html $XSLT_FILE $f
-done
-# Test external links
-# XSD_FILE=address.xsd
-# echo "Generating documentation for: $XSD_FILE"
-# xsltproc --nonet --output $RESULTS_DIR/$XSD_FILE.html $XSLT_FILE $XSD_FILE
-# XSD_FILE=ipo.xsd
-# echo "Generating documentation for: $XSD_FILE"
-# xsltproc --param searchIncludedSchemas "'true'" --param linksFile "'links.xml'" --nonet --output $RESULTS_DIR/$XSD_FILE.html $XSLT_FILE $XSD_FILE
-# XSD_FILE=report.xsd
-# echo "Generating documentation for: $XSD_FILE"
-# xsltproc --param searchIncludedSchemas "'true'" --param linksFile "'links.xml'" --nonet --output $RESULTS_DIR/$XSD_FILE.html $XSLT_FILE $XSD_FILE
-# Delete local copy of stylesheet
-rm $XSLT_FILE
diff --git a/spec/xs3p/examples/xml.xsd b/spec/xs3p/examples/xml.xsd
deleted file mode 100644
index 8e4d6665..00000000
--- a/spec/xs3p/examples/xml.xsd
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version='1.0'?>
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <xs:annotation>
- <xs:documentation>
- See http://www.w3.org/XML/1998/namespace.html and
- http://www.w3.org/TR/REC-xml for information about this namespace.
- </xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>This schema defines attributes and an attribute group
- suitable for use by
- schemas wishing to allow xml:base, xml:lang or xml:space attributes
- on elements they define.
-
- To enable this, such a schema must import this schema
- for the XML namespace, e.g. as follows:
- &lt;schema . . .>
- . . .
- &lt;import namespace="http://www.w3.org/XML/1998/namespace"
- schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
-
- Subsequently, qualified reference to any of the attributes
- or the group defined below will have the desired effect, e.g.
-
- &lt;type . . .>
- . . .
- &lt;attributeGroup ref="xml:specialAttrs"/>
-
- will define a type which will schema-validate an instance
- element with any of those attributes</xs:documentation>
- </xs:annotation>
-
- <xs:annotation>
- <xs:documentation>In keeping with the XML Schema WG's standard versioning
- policy, this schema document will persist at
- http://www.w3.org/2001/03/xml.xsd.
- At the date of issue it can also be found at
- http://www.w3.org/2001/xml.xsd.
- The schema document at that URI may however change in the future,
- in order to remain compatible with the latest version of XML Schema
- itself. In other words, if the XML Schema namespace changes, the version
- of this document at
- http://www.w3.org/2001/xml.xsd will change
- accordingly; the version at
- http://www.w3.org/2001/03/xml.xsd will not change.
- </xs:documentation>
- </xs:annotation>
-
- <xs:attribute name="lang" type="xs:language">
- <xs:annotation>
- <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
- codes as the enumerated possible values . . .</xs:documentation>
- </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
- <xs:simpleType>
- <xs:restriction base="xs:NCName">
- <xs:enumeration value="default"/>
- <xs:enumeration value="preserve"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="base" type="xs:anyURI">
- <xs:annotation>
- <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
- information about this attribute.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
-
- <xs:attributeGroup name="specialAttrs">
- <xs:attribute ref="xml:base"/>
- <xs:attribute ref="xml:lang"/>
- <xs:attribute ref="xml:space"/>
- </xs:attributeGroup>
-
-</xs:schema>
diff --git a/spec/xs3p/links.dtd b/spec/xs3p/links.dtd
deleted file mode 100644
index c9f348ac..00000000
--- a/spec/xs3p/links.dtd
+++ /dev/null
@@ -1,7 +0,0 @@
-<!ELEMENT links (schema)+>
-<!ATTLIST links
- xmlns CDATA #FIXED "http://titanium.dstc.edu.au/xml/xs3p">
-<!ELEMENT schema EMPTY>
-<!ATTLIST schema
- file-location CDATA #REQUIRED
- docfile-location CDATA #REQUIRED> \ No newline at end of file
diff --git a/spec/xs3p/links.xsd b/spec/xs3p/links.xsd
deleted file mode 100644
index 7928bc3e..00000000
--- a/spec/xs3p/links.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://titanium.dstc.edu.au/xml/xs3p" targetNamespace="http://titanium.dstc.edu.au/xml/xs3p">
- <xsd:element name="links">
- <xsd:annotation>
- <xsd:documentation>
- <html:p>List of mappings from schema file locations (<html:code style="color:blue;">@file-location</html:code>) to their documentation file locations (<html:code style="color:blue;">@docfile-location</html:code>)</html:p>
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="schema" minOccurs="1" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:attribute name="file-location" type="xsd:string" use="required"/>
- <xsd:attribute name="docfile-location" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-</xsd:schema> \ No newline at end of file
diff --git a/spec/xs3p/xs3p.xsl b/spec/xs3p/xs3p.xsl
deleted file mode 100644
index b127948b..00000000
--- a/spec/xs3p/xs3p.xsl
+++ /dev/null
@@ -1,8503 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- Copyright (C) DSTC Pty Ltd (ACN 052 372 577) 2002
-
- The software contained on this media is the property of the
- DSTC Pty Ltd. Use of this software is strictly in accordance
- with the license agreement in the accompanying LICENSE file.
- If your distribution of this software does not contain a
- LICENSE file then you have no rights to use this software
- in any manner and should contact DSTC at the address below
- to determine an appropriate licensing arrangement.
-
- DSTC Pty Ltd
- Level 7, General Purpose South
- The University of Queensland
- QLD 4072 Australia
- Tel: +61 7 3365 4310
- Fax: +61 7 3365 4311
- Email: titanium_enquiries@dstc.edu.au
-
- This software is being provided "AS IS" without warranty of
- any kind. In no event shall DSTC Pty Ltd be liable for
- damage of any kind arising out of or in connection with
- the use or performance of this software.
--->
-<!--
- File:
- xs3p.xsl
- Description:
- Stylesheet that generates XHTML documentation, given an XML
- Schema document
- Assumptions:
- -Resulting documentation will only be displayed properly with
- the latest browsers that support XHTML and CSS. Older
- browsers are not supported.
- -Assumed that XSD document conforms to the XSD recommendation.
- No validity checking is done.
- Constraints:
- -Local schema components cannot contain two dashes in
- 'documentation' elements within their 'annotation' element.
- This is because the contents of those 'documentation'
- elements are displayed in a separate window using Javascript.
- This Javascript code is enclosed in comments, which do not
- allow two dashes inside themselves.
- Notes:
- -Javascript code is placed within comments, even though in
- strict XHTML, JavaScript code should be placed within CDATA
- sections. This is because current browsers generate a syntax
- error if the page contains CDATA sections. Placing Javascript
- code within comments means that the code cannot contain two
- dashes.
- (See 'PrintJSCode' named template.)
- Stylesheet Sections:
- -Global Parameters
- Specify parameters that can be set externally to customise
- stylesheet
- -Constants
- Constants used by the stylesheet
- -Main Document
- Templates to generate the overall document and the top-level
- sections within it
- -Hierarchy table
- Templates for displaying type hierarchy for simple and
- complex types, and substitution group hierarchy for elements
- -Properties table
- Templates for displaying the properties of top-level schema
- components
- -XML Instance Representation table
- Templates for displaying how an XML instance conforming to
- the schema component would look like
- -Schema Component Representation table
- Templates for displaying the XML representation of the schema
- component
- -XML Pretty Printer
- Templates for displaying arbitrary XML instances
- -Handling Schema Component References
- Templates for generating internal and external links
- -General Utility Templates
- General templates used by other templates in this stylesheet
- To Do List:
- -It is not clever when printing out element and attribute
- wildcards in the XML Instance Representation tables. It prints
- out all wildcards, rather than working out the actual wildcard
- is from multiple wildcard instances.
- -Same as above for simple type constraints, e.g. it doesn't
- summarise multiple pattern constraints.
--->
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:ppp="http://titanium.dstc.edu.au/xml/xs3p"
- version="1.0"
- exclude-result-prefixes="xsd ppp html">
-
- <xsl:output
- method="xml"
- encoding="ISO-8859-1"
- standalone="yes"
- version="1.0"
- doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
- indent="yes"/>
-
- <xsl:key name="type" match="/xsd:schema/xsd:complexType | /xsd:schema/xsd:simpleType | /xsd:schema/xsd:redefine/xsd:complexType | /xsd:schema/xsd:redefine/xsd:simpleType" use="@name" />
- <xsl:key name="complexType" match="/xsd:schema/xsd:complexType | /xsd:schema/xsd:redefine/xsd:complexType" use="@name" />
- <xsl:key name="simpleType" match="/xsd:schema/xsd:simpleType | /xsd:schema/xsd:redefine/xsd:simpleType" use="@name" />
- <xsl:key name="attributeGroup" match="/xsd:schema/xsd:attributeGroup | /xsd:schema/xsd:redefine/xsd:attributeGroup" use="@name" />
- <xsl:key name="group" match="/xsd:schema/xsd:group | /xsd:schema/xsd:redefine/xsd:group" use="@name" />
- <xsl:key name="attribute" match="/xsd:schema/xsd:attribute" use="@name" />
- <xsl:key name="element" match="/xsd:schema/xsd:element" use="@name" />
-
- <!-- ******** Global Parameters ******** -->
-
- <!-- Title of XHTML document. -->
- <xsl:param name="title"></xsl:param>
-
- <!-- If 'true', sorts the top-level schema components by type,
- then name. Otherwise, displays the components by the order that
- they appear in the schema. -->
- <xsl:param name="sortByComponent">true</xsl:param>
-
- <!-- If 'true', XHTML document uses JavaScript for added
- functionality, such as pop-up windows and information-
- hiding.
- Otherwise, XHTML document does not use JavaScript. -->
- <xsl:param name="useJavaScript">true</xsl:param>
-
- <!-- If 'true', prints all super-types in the
- type hierarchy box.
- Otherwise, prints the parent type only in the
- type hierarchy box. -->
- <xsl:param name="printAllSuperTypes">true</xsl:param>
-
- <!-- If 'true', prints all sub-types in the
- type hierarchy box.
- Otherwise, prints the direct sub-types only in the
- type hierarchy box. -->
- <xsl:param name="printAllSubTypes">true</xsl:param>
-
- <!-- If 'true', prints out the Glossary section. -->
- <xsl:param name="printGlossary">true</xsl:param>
-
- <!-- If 'true', prints out the Legend section. -->
- <xsl:param name="printLegend">true</xsl:param>
-
- <!-- If 'true', prints prefix matching namespace of schema
- components in XML Instance Representation tables. -->
- <xsl:param name="printNSPrefixes">true</xsl:param>
-
- <!-- If 'true', searches 'included' schemas for schema components
- when generating links and XML Instance Representation tables. -->
- <xsl:param name="searchIncludedSchemas">false</xsl:param>
-
- <!-- If 'true', searches 'imported' schemas for schema components
- when generating links and XML Instance Representation tables. -->
- <xsl:param name="searchImportedSchemas">false</xsl:param>
-
- <!-- File containing the mapping from file locations of external
- (e.g. included, imported, refined) schemas to file locations
- of their XHTML documentation. -->
- <xsl:param name="linksFile"></xsl:param>
-
- <!-- Set the base URL for resolving links. -->
- <xsl:param name="baseURL"></xsl:param>
-
- <!-- Uses an external CSS stylesheet rather than using
- internally-declared CSS properties. -->
- <xsl:param name="externalCSSURL"></xsl:param>
-
-
- <!-- ******** Constants ******** -->
-
- <!-- XML Schema Namespace -->
- <xsl:variable name="XSD_NS">http://www.w3.org/2001/XMLSchema</xsl:variable>
-
- <!-- XML Namespace -->
- <xsl:variable name="XML_NS">http://www.w3.org/XML/1998/namespace</xsl:variable>
-
- <!-- Number of 'em' to indent from parent element's start tag to
- child element's start tag -->
- <xsl:variable name="ELEM_INDENT">1.5</xsl:variable>
-
- <!-- Number of 'em' to indent from parent element's start tag to
- attribute's tag -->
- <xsl:variable name="ATTR_INDENT">0.5</xsl:variable>
-
- <!-- Title to use if none provided -->
- <xsl:variable name="DEFAULT_TITLE">XML Schema Documentation</xsl:variable>
-
- <!-- Prefixes used for anchor names -->
- <!-- Type definitions -->
- <xsl:variable name="TYPE_PREFIX">type_</xsl:variable>
- <!-- Attribute declarations -->
- <xsl:variable name="ATTR_PREFIX">attribute_</xsl:variable>
- <!-- Attribute group definitions -->
- <xsl:variable name="ATTR_GRP_PREFIX">attributeGroup_</xsl:variable>
- <!-- Complex type definitions -->
- <xsl:variable name="CTYPE_PREFIX" select="$TYPE_PREFIX"/>
- <!-- Element declarations -->
- <xsl:variable name="ELEM_PREFIX">element_</xsl:variable>
- <!-- Key definitions -->
- <xsl:variable name="KEY_PREFIX">key_</xsl:variable>
- <!-- Group definitions -->
- <xsl:variable name="GRP_PREFIX">group_</xsl:variable>
- <!-- Notations -->
- <xsl:variable name="NOTA_PREFIX">notation_</xsl:variable>
- <!-- Namespace declarations -->
- <xsl:variable name="NS_PREFIX">ns_</xsl:variable>
- <!-- Simple type definitions -->
- <xsl:variable name="STYPE_PREFIX" select="$TYPE_PREFIX"/>
- <!-- Glossary terms -->
- <xsl:variable name="TERM_PREFIX">term_</xsl:variable>
-
- <!-- The original schema needs to be stored because when
- calculating links for references, the links have to be
- relative to the original schema. See 'PrintCompRef'
- template. -->
- <xsl:variable name="ORIGINAL_SCHEMA" select="/xsd:schema"/>
-
- <!-- ******** Main Document ******** -->
-
- <!--
- Main template that starts the process
- -->
- <xsl:template match="/xsd:schema">
- <!-- Check that links file is provided if searching external
- schemas for components. -->
- <xsl:if test="$linksFile='' and (normalize-space(translate($searchIncludedSchemas, 'TRUE', 'true'))='true' or normalize-space(translate($searchImportedSchemas, 'TRUE', 'true'))='true')">
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">true</xsl:with-param>
- <xsl:with-param name="errorMsg">
-'linksFile' variable must be provided if either
-'searchIncludedSchemas' or 'searchImportedSchemas' is true.
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Get title of document -->
- <xsl:variable name="actualTitle">
- <xsl:choose>
- <xsl:when test="$title != ''">
- <xsl:value-of select="$title"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$DEFAULT_TITLE"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <html>
- <head>
- <!-- Set title bar -->
- <title><xsl:value-of select="$actualTitle"/></title>
-
- <!-- Set content type -->
- <meta http-equiv="Content-Type" content="text/xml; charset=iso-8859-1"/>
-
- <!-- Set base URL to use in working out relative paths -->
- <xsl:if test="$baseURL != ''">
- <xsl:element name="base">
- <xsl:attribute name="href"><xsl:value-of select="$baseURL"/></xsl:attribute>
- </xsl:element>
- </xsl:if>
-
- <!-- Set CSS styles -->
- <style type="text/css">
- <xsl:choose>
- <!-- Use external CSS stylesheet -->
- <xsl:when test="$externalCSSURL != ''">
- <xsl:text>
-@import url(</xsl:text><xsl:value-of select="$externalCSSURL"/><xsl:text>);
-</xsl:text>
- </xsl:when>
- <!-- Use internal CSS styles -->
- <xsl:otherwise>
- <xsl:call-template name="DocumentCSSStyles"/>
- </xsl:otherwise>
- </xsl:choose>
- </style>
-
- <!-- Add Javascript code to make the collapseable boxes work -->
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <xsl:call-template name="PrintJSCode">
- <xsl:with-param name="code">
- <xsl:call-template name="DocumentJSCode"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </head>
- <body>
- <!-- Title -->
- <h1><a name="top"><xsl:value-of select="$actualTitle"/></a></h1>
-
- <!-- Buttons for displaying printer-friendly version, and
- expanding and collapsing all boxes -->
- <xsl:call-template name="GlobalControlButtons"/>
-
- <!-- Section: Table of Contents -->
- <h2>Table of Contents</h2>
- <xsl:apply-templates select="." mode="toc"/>
- <xsl:call-template name="SectionFooter"/>
-
- <!-- Section: Schema Document Properties -->
- <h2><a name="SchemaProperties">Schema Document Properties</a></h2>
- <!-- Sub-section: Properties table -->
- <xsl:apply-templates select="." mode="properties"/>
- <!-- Sub-section: Namespace Legend -->
- <h3>Declared Namespaces</h3>
- <xsl:apply-templates select="." mode="namespaces"/>
- <!-- Sub-section: Schema Component Representation table -->
- <xsl:call-template name="SchemaComponentTable">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <xsl:call-template name="SectionFooter"/>
-
- <!-- Section: Redefined Schema Components -->
- <xsl:if test="xsd:redefine">
- <h2><a name="Redefinitions">Redefined Schema Components</a></h2>
- <xsl:apply-templates select="xsd:redefine/xsd:simpleType | xsd:redefine/xsd:complexType | xsd:redefine/xsd:attributeGroup | xsd:redefine/xsd:group" mode="topSection"/>
- </xsl:if>
-
- <!-- Sections: Top-level Schema Components -->
- <xsl:choose>
- <!-- Sort schema components -->
- <xsl:when test="normalize-space(translate($sortByComponent,'TRUE','true'))='true'">
- <!-- Declarations -->
- <xsl:if test="xsd:attribute or xsd:element">
- <h2><a name="SchemaDeclarations">Global Declarations</a></h2>
- <xsl:apply-templates select="xsd:attribute | xsd:element" mode="topSection">
- <xsl:sort select="local-name(.)" order="ascending"/>
- <xsl:sort select="@name" order="ascending"/>
- </xsl:apply-templates>
- </xsl:if>
- <!-- Definitions -->
- <xsl:if test="xsd:attributeGroup or xsd:complexType or xsd:group or xsd:notation or xsd:simpleType">
- <h2><a name="SchemaDefinitions">Global Definitions</a></h2>
- <xsl:apply-templates select="xsd:attributeGroup | xsd:complexType | xsd:group | xsd:notation | xsd:simpleType" mode="topSection">
- <xsl:sort select="local-name(.)" order="ascending"/>
- <xsl:sort select="@name" order="ascending"/>
- </xsl:apply-templates>
- </xsl:if>
- </xsl:when>
- <!-- Display schema components as they occur -->
- <xsl:otherwise>
- <h2><a name="SchemaComponents">Global Schema Components</a></h2>
- <xsl:apply-templates select="xsd:attribute | xsd:attributeGroup | xsd:complexType | xsd:element | xsd:group | xsd:notation | xsd:simpleType" mode="topSection"/>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- Section: Legend -->
- <xsl:if test="normalize-space(translate($printLegend,'TRUE','true'))='true'">
- <div id="legend">
- <h2><a name="Legend">Legend</a></h2>
- <xsl:call-template name="Legend"/>
- <xsl:call-template name="SectionFooter"/>
- </div>
- </xsl:if>
-
- <!-- Section: Glossary -->
- <xsl:if test="normalize-space(translate($printGlossary,'TRUE','true'))='true'">
- <div id="glossary">
- <h2><a name="Glossary">Glossary</a></h2>
- <xsl:call-template name="Glossary"/>
- <xsl:call-template name="SectionFooter"/>
- </div>
- </xsl:if>
-
- <!-- Document Footer -->
- <p class="footer">
- <xsl:text>Generated by </xsl:text>
- <a href="http://xml.fiforms.org/xs3p/">xs3p</a> (<a href="http://titanium.dstc.edu.au/xml/xs3p">old link</a>)
- <xsl:text>.</xsl:text>
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <xsl:text> Last modified: </xsl:text>
- <xsl:call-template name="PrintJSCode">
- <xsl:with-param name="code">document.write(document.lastModified);</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </p>
- </body>
- </html>
- </xsl:template>
-
- <!--
- Prints out the table of Declared Namespaces for the
- current schema.
- -->
- <xsl:template match="xsd:schema" mode="namespaces">
- <table class="namespaces">
- <tr>
- <th>Prefix</th>
- <th>Namespace</th>
- </tr>
- <!-- Default namespace (no prefix) -->
- <xsl:if test="namespace::*[local-name(.)='']">
- <xsl:variable name="ns" select="namespace::*[local-name(.)='']"/>
- <tr>
- <td>
- <a name="{$NS_PREFIX}">Default namespace</a>
- </td>
- <td>
- <xsl:choose>
- <xsl:when test="/xsd:schema/@targetNamespace and $ns=normalize-space(/xsd:schema/@targetNamespace)">
- <span class="targetNS">
- <xsl:value-of select="$ns"/>
- </span>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$ns"/>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- </xsl:if>
- <!-- Namespaces with prefixes -->
- <xsl:for-each select="namespace::*[local-name(.)!='']">
- <xsl:variable name="prefix" select="local-name(.)"/>
- <xsl:variable name="ns" select="."/>
- <tr>
- <td>
- <a name="{concat($NS_PREFIX, $prefix)}">
- <xsl:value-of select="$prefix"/>
- </a>
- </td>
- <td>
- <xsl:choose>
- <xsl:when test="/xsd:schema/@targetNamespace and $ns=normalize-space(/xsd:schema/@targetNamespace)">
- <span class="targetNS">
- <xsl:value-of select="$ns"/>
- </span>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$ns"/>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </xsl:template>
-
- <!--
- Prints out the Table of Contents.
- -->
- <xsl:template match="xsd:schema" mode="toc">
- <ul>
- <!-- Section: Schema Document Properties -->
- <li>
- <a href="#SchemaProperties">Schema Document Properties</a>
- </li>
-
- <!-- Section: Redefined Schema Components -->
- <xsl:if test="xsd:redefine">
- <li>
- <a href="#Redefinitions">Redefined Schema Components</a>
- </li>
- </xsl:if>
-
- <!-- Sections: Top-level Schema Components -->
- <xsl:choose>
- <!-- Sort schema components -->
- <xsl:when test="normalize-space(translate($sortByComponent,'TRUE','true'))='true'">
- <!-- Declarations -->
- <xsl:if test="xsd:attribute or xsd:element">
- <li><a href="#SchemaDeclarations">Global Declarations</a>
- <ul>
- <xsl:apply-templates select="xsd:attribute | xsd:element" mode="toc">
- <xsl:sort select="local-name(.)" order="ascending"/>
- <xsl:sort select="@name" order="ascending"/>
- </xsl:apply-templates>
- </ul>
- </li>
- </xsl:if>
- <!-- Definitions -->
- <xsl:if test="xsd:attributeGroup or xsd:complexType or xsd:group or xsd:notation or xsd:simpleType">
- <li><a href="#SchemaDefinitions">Global Definitions</a>
- <ul>
- <xsl:apply-templates select="xsd:attributeGroup | xsd:complexType | xsd:group | xsd:notation | xsd:simpleType" mode="toc">
- <xsl:sort select="local-name(.)" order="ascending"/>
- <xsl:sort select="@name" order="ascending"/>
- </xsl:apply-templates>
- </ul>
- </li>
- </xsl:if>
- </xsl:when>
- <!-- Display schema components in order as they appear in schema -->
- <xsl:otherwise>
- <li><a href="#SchemaComponents">Global Schema Components</a>
- <ul>
- <xsl:apply-templates select="xsd:attribute | xsd:attributeGroup | xsd:complexType | xsd:element | xsd:group | xsd:notation | xsd:simpleType" mode="toc"/>
- </ul>
- </li>
- </xsl:otherwise>
- </xsl:choose>
- </ul>
-
- <!-- Section: Legend -->
- <xsl:if test="normalize-space(translate($printLegend,'TRUE','true'))='true'">
- <ul id="legendTOC" style="margin-top: 0em">
- <li><a href="#Legend">Legend</a></li>
- </ul>
- </xsl:if>
-
- <!-- Section: Glossary -->
- <xsl:if test="normalize-space(translate($printGlossary,'TRUE','true'))='true'">
- <ul id="glossaryTOC" style="margin-top: 0em">
- <li><a href="#Glossary">Glossary</a></li>
- </ul>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a link to a top-level schema component section in the
- Table of Contents.
- -->
- <xsl:template match="xsd:*[@name]" mode="toc">
- <xsl:variable name="componentID">
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <li>
- <a href="#{$componentID}">
- <xsl:call-template name="GetComponentDescription">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <xsl:text>: </xsl:text>
- <strong><xsl:value-of select="@name"/></strong>
- </a>
- </li>
- </xsl:template>
-
- <!--
- Prints out the section for a top-level schema component.
- -->
- <xsl:template match="xsd:*[@name]" mode="topSection">
- <!-- Header -->
- <xsl:call-template name="ComponentSectionHeader">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
-
- <!-- Hierarchy table (for types and elements) -->
- <xsl:apply-templates select="." mode="hierarchy"/>
-
- <!-- Properties table -->
- <xsl:apply-templates select="." mode="properties"/>
-
- <!-- XML Instance Representation table -->
- <xsl:call-template name="SampleInstanceTable">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
-
- <!-- Schema Component Representation table -->
- <xsl:call-template name="SchemaComponentTable">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
-
- <!-- Footer -->
- <xsl:call-template name="SectionFooter"/>
- </xsl:template>
-
- <!--
- Prints out the buttons that can expand and collapse all boxes in
- this page.
- -->
- <xsl:template name="GlobalControlButtons">
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <div style="float: right;">
- <!-- Printer-friendly Version -->
- <div id="printerControls" style="display:none;">
- <input type="checkbox" onclick="displayMode(this.checked)"/>
- <xsl:text>Printer-friendly Version</xsl:text>
- </div>
- <xsl:call-template name="PrintJSCode">
- <xsl:with-param name="code">
-var pc = getElementObject("printerControls");
-if (pc != null) {
- pc.style.display="block";
-}
- </xsl:with-param>
- </xsl:call-template>
-
- <!-- Expand/Collapse All buttons -->
- <div id="globalControls" style="display:none">
- <strong>XML Instance Representation:</strong><br/>
- <span style="margin-left: 1em; white-space: nowrap">
- <xsl:text>[ </xsl:text>
- <a href="javascript:void(0)" onclick="expandAll(xiBoxes)">Expand All</a>
- <xsl:text> | </xsl:text>
- <a href="javascript:void(0)" onclick="collapseAll(xiBoxes)">Collapse All</a>
- <xsl:text> ]</xsl:text>
- </span><br/><br/>
- <strong>Schema Component Representation:</strong><br/>
- <span style="margin-left: 1em; white-space: nowrap">
- <xsl:text>[ </xsl:text>
- <a href="javascript:void(0)" onclick="expandAll(scBoxes)">Expand All</a>
- <xsl:text> | </xsl:text>
- <a href="javascript:void(0)" onclick="collapseAll(scBoxes)">Collapse All</a>
- <xsl:text> ]</xsl:text>
- </span>
- </div>
- <xsl:call-template name="PrintJSCode">
- <xsl:with-param name="code">
-var gc = getElementObject("globalControls");
-if (gc != null) {
- gc.style.display="block";
-}
- </xsl:with-param>
- </xsl:call-template>
- </div>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out the section header of a top-level schema component.
- Param(s):
- component (Node) required
- Top-level schema component
- -->
- <xsl:template name="ComponentSectionHeader">
- <xsl:param name="component"/>
-
- <xsl:variable name="componentID">
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="componentDescription">
- <xsl:call-template name="GetComponentDescription">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="componentTermRef">
- <xsl:call-template name="GetComponentTermRef">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- </xsl:variable>
-
- <h3>
- <!-- Description -->
- <xsl:choose>
- <xsl:when test="$componentTermRef != ''">
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code" select="$componentTermRef"/>
- <xsl:with-param name="term" select="$componentDescription"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$componentDescription"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>: </xsl:text>
- <!-- Name -->
- <a name="{$componentID}" class="name">
- <xsl:value-of select="$component/@name"/>
- </a>
- </h3>
- </xsl:template>
-
- <!--
- Prints out footer for top-level sections.
- -->
- <xsl:template name="SectionFooter">
- <!-- Link to top of page-->
- <div style="text-align: right; clear: both;"><a href="#top">top</a></div>
- <hr/>
- </xsl:template>
-
- <!--
- Java Script code required by the entire HTML document.
- -->
- <xsl:template name="DocumentJSCode">
- <!-- Get all IDs of XML Instance Representation boxes
- and place them in an array. -->
- <xsl:text>/* IDs of XML Instance Representation boxes */
-</xsl:text>
- <xsl:text>var xiBoxes = new Array(</xsl:text>
- <xsl:for-each select="/xsd:schema/xsd:*[@name]">
- <xsl:if test="position()!=1">
- <xsl:text>, </xsl:text>
- </xsl:if>
- <xsl:text>'</xsl:text>
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <xsl:text>_xibox'</xsl:text>
- </xsl:for-each>
- <xsl:text>);
-</xsl:text>
- <!-- Get all IDs of Schema Component Representation boxes
- and place them in an array. -->
- <xsl:text>/* IDs of Schema Component Representation boxes */
-</xsl:text>
- <xsl:text>var scBoxes = new Array('schema_scbox'</xsl:text>
- <xsl:for-each select="/xsd:schema/xsd:*[@name]">
- <xsl:text>, '</xsl:text>
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <xsl:text>_scbox'</xsl:text>
- </xsl:for-each>
- <xsl:text>);
-</xsl:text>
- <!-- Functions -->
- <xsl:text>
-/**
- * Can get the ID of the button controlling
- * a collapseable box by concatenating
- * this string onto the ID of the box itself.
- */
-var B_SFIX = "_button";
-
-/**
- * Counter of documentation windows
- * Used to give each window a unique name
- */
-var windowCount = 0;
-
-/**
- * Returns an element in the current HTML document.
- *
- * @param elementID Identifier of HTML element
- * @return HTML element object
- */
-function getElementObject(elementID) {
- var elemObj = null;
- if (document.getElementById) {
- elemObj = document.getElementById(elementID);
- }
- return elemObj;
-}
-
-/**
- * Closes a collapseable box.
- *
- * @param boxObj Collapseable box
- * @param buttonObj Button controlling box
- */
-function closeBox(boxObj, buttonObj) {
- if (boxObj == null || buttonObj == null) {
- // Box or button not found
- } else {
- // Change 'display' CSS property of box
- boxObj.style.display="none";
-
- // Change text of button
- if (boxObj.style.display=="none") {
- buttonObj.value=" + ";
- }
- }
-}
-
-/**
- * Opens a collapseable box.
- *
- * @param boxObj Collapseable box
- * @param buttonObj Button controlling box
- */
-function openBox(boxObj, buttonObj) {
- if (boxObj == null || buttonObj == null) {
- // Box or button not found
- } else {
- // Change 'display' CSS property of box
- boxObj.style.display="block";
-
- // Change text of button
- if (boxObj.style.display=="block") {
- buttonObj.value=" - ";
- }
- }
-}
-
-/**
- * Sets the state of a collapseable box.
- *
- * @param boxID Identifier of box
- * @param open If true, box is "opened",
- * Otherwise, box is "closed".
- */
-function setState(boxID, open) {
- var boxObj = getElementObject(boxID);
- var buttonObj = getElementObject(boxID+B_SFIX);
- if (boxObj == null || buttonObj == null) {
- // Box or button not found
- } else if (open) {
- openBox(boxObj, buttonObj);
- // Make button visible
- buttonObj.style.display="inline";
- } else {
- closeBox(boxObj, buttonObj);
- // Make button visible
- buttonObj.style.display="inline";
- }
-}
-
-/**
- * Switches the state of a collapseable box, e.g.
- * if it's opened, it'll be closed, and vice versa.
- *
- * @param boxID Identifier of box
- */
-function switchState(boxID) {
- var boxObj = getElementObject(boxID);
- var buttonObj = getElementObject(boxID+B_SFIX);
- if (boxObj == null || buttonObj == null) {
- // Box or button not found
- } else if (boxObj.style.display=="none") {
- // Box is closed, so open it
- openBox(boxObj, buttonObj);
- } else if (boxObj.style.display=="block") {
- // Box is opened, so close it
- closeBox(boxObj, buttonObj);
- }
-}
-
-/**
- * Closes all boxes in a given list.
- *
- * @param boxList Array of box IDs
- */
-function collapseAll(boxList) {
- var idx;
- for (idx = 0; idx &lt; boxList.length; idx++) {
- var boxObj = getElementObject(boxList[idx]);
- var buttonObj = getElementObject(boxList[idx]+B_SFIX);
- closeBox(boxObj, buttonObj);
- }
-}
-
-/**
- * Open all boxes in a given list.
- *
- * @param boxList Array of box IDs
- */
-function expandAll(boxList) {
- var idx;
- for (idx = 0; idx &lt; boxList.length; idx++) {
- var boxObj = getElementObject(boxList[idx]);
- var buttonObj = getElementObject(boxList[idx]+B_SFIX);
- openBox(boxObj, buttonObj);
- }
-}
-
-/**
- * Makes all the control buttons of boxes appear.
- *
- * @param boxList Array of box IDs
- */
-function viewControlButtons(boxList) {
- var idx;
- for (idx = 0; idx &lt; boxList.length; idx++) {
- buttonObj = getElementObject(boxList[idx]+B_SFIX);
- if (buttonObj != null) {
- buttonObj.style.display = "inline";
- }
- }
-}
-
-/**
- * Makes all the control buttons of boxes disappear.
- *
- * @param boxList Array of box IDs
- */
-function hideControlButtons(boxList) {
- var idx;
- for (idx = 0; idx &lt; boxList.length; idx++) {
- buttonObj = getElementObject(boxList[idx]+B_SFIX);
- if (buttonObj != null) {
- buttonObj.style.display = "none";
- }
- }
-}
-
-/**
- * Sets the page for either printing mode
- * or viewing mode. In printing mode, the page
- * is made to be more readable when printing it out.
- * In viewing mode, the page is more browsable.
- *
- * @param isPrinterVersion If true, display in
- * printing mode; otherwise,
- * in viewing mode
- */
-function displayMode(isPrinterVersion) {
- var obj;
- if (isPrinterVersion) {
- // Hide global control buttons
- obj = getElementObject("globalControls");
- if (obj != null) {
- obj.style.visibility = "hidden";
- }
- // Hide Legend
- obj = getElementObject("legend");
- if (obj != null) {
- obj.style.display = "none";
- }
- obj = getElementObject("legendTOC");
- if (obj != null) {
- obj.style.display = "none";
- }
- // Hide Glossary
- obj = getElementObject("glossary");
- if (obj != null) {
- obj.style.display = "none";
- }
- obj = getElementObject("glossaryTOC");
- if (obj != null) {
- obj.style.display = "none";
- }
-
- // Expand all XML Instance Representation tables
- expandAll(xiBoxes);
- // Expand all Schema Component Representation tables
- expandAll(scBoxes);
-
- // Hide Control buttons
- hideControlButtons(xiBoxes);
- hideControlButtons(scBoxes);
- } else {
- // View global control buttons
- obj = getElementObject("globalControls");
- if (obj != null) {
- obj.style.visibility = "visible";
- }
- // View Legend
- obj = getElementObject("legend");
- if (obj != null) {
- obj.style.display = "block";
- }
- obj = getElementObject("legendTOC");
- if (obj != null) {
- obj.style.display = "block";
- }
- // View Glossary
- obj = getElementObject("glossary");
- if (obj != null) {
- obj.style.display = "block";
- }
- obj = getElementObject("glossaryTOC");
- if (obj != null) {
- obj.style.display = "block";
- }
-
- // Expand all XML Instance Representation tables
- expandAll(xiBoxes);
- // Collapse all Schema Component Representation tables
- collapseAll(scBoxes);
-
- // View Control buttons
- viewControlButtons(xiBoxes);
- viewControlButtons(scBoxes);
- }
-}
-
-/**
- * Opens up a window displaying the documentation
- * of a schema component in the XML Instance
- * Representation table.
- *
- * @param compDesc Description of schema component
- * @param compName Name of schema component
- * @param docTextArray Array containing the paragraphs
- * of the new document
- */
-function viewDocumentation(compDesc, compName, docTextArray) {
- var width = 400;
- var height = 200;
- var locX = 100;
- var locY = 200;
-
- /* Generate content */
- var actualText = "&lt;html>";
- actualText += "&lt;head>&lt;title>";
- actualText += compDesc;
- if (compName != '') {
- actualText += ": " + compName;
- }
- actualText += "&lt;/title>&lt;/head>";
- actualText += "&lt;body bgcolor=\"#FFFFEE\">";
- // Title
- actualText += "&lt;p style=\"font-family: Arial, sans-serif; font-size: 12pt; font-weight: bold; letter-spacing:1px;\">";
- actualText += compDesc;
- if (compName != '') {
- actualText += ": &lt;span style=\"color:#006699\">" + compName + "&lt;/span>";
- }
- actualText += "&lt;/p>";
- // Documentation
- var idx;
- for (idx = 0; idx &lt; docTextArray.length; idx++) {
- actualText += "&lt;p style=\"font-family: Arial, sans-serif; font-size: 10pt;\">" + docTextArray[idx] + "&lt;/p>";
- }
- // Link to close window
- actualText += "&lt;a href=\"javascript:void(0)\" onclick=\"window.close();\" style=\"font-family: Arial, sans-serif; font-size: 8pt;\">Close&lt;/a>";
- actualText += "&lt;/body>&lt;/html>";
-
- /* Display window */
- windowCount++;
- var docWindow = window.open("", "documentation"+windowCount, "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable,alwaysRaised,dependent,titlebar=no,width="+width+",height="+height+",screenX="+locX+",left="+locX+",screenY="+locY+",top="+locY);
- docWindow.document.write(actualText);
-}
-</xsl:text>
- </xsl:template>
-
- <!--
- CSS properties for the entire HTML document.
- -->
- <xsl:template name="DocumentCSSStyles">
- <xsl:text>
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-/* More-configurable styles */
-
-/******** General ********/
-
-/* Document body */
-body {
- color: Black;
- background-color: White;
- font-family: Arial, sans-serif;
- font-size: 10pt;
-}
-/* Horizontal rules */
-hr {
- color: black;
-}
-/* Document title */
-h1 {
- font-size: 18pt;
- letter-spacing: 2px;
- border-bottom: 1px #ccc solid;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-/* Main section headers */
-h2 {
- font-size: 14pt;
- letter-spacing: 1px;
-}
-/* Sub-section headers */
-h3, h3 a, h3 span {
- font-size: 12pt;
- font-weight: bold;
- color: black;
-}
-/* Table displaying the properties of the schema components or the
- schema document itself */
-table.properties th, table.properties th a {
- color: black;
- background-color: #F99; /* Pink */
-}
-table.properties td {
- background-color: #eee; /* Gray */
-}
-
-
-/******** Table of Contents Section ********/
-
-/* Controls for switching between printing and viewing modes */
-div#printerControls {
- color: #963; /* Orange-brown */
-}
-/* Controls that can collapse or expand all XML Instance
- Representation and Schema Component Representation boxes */
-div#globalControls {
- border: 2px solid #999;
-}
-
-
-/******** Schema Document Properties Section ********/
-
-/* Table displaying the namespaces declared in the schema */
-table.namespaces th {
- background-color: #ccc;
-}
-table.namespaces td {
- background-color: #eee;
-}
-/* Target namespace of the schema */
-span.targetNS {
- color: #06C;
- font-weight: bold;
-}
-
-
-/******** Schema Components' Sections ********/
-
-/* Name of schema component */
-.name {
- color: #F93; /* Orange */
-}
-
-/* Hierarchy table */
-table.hierarchy {
- border: 2px solid #999; /* Gray */
-}
-
-/* XML Instance Representation table */
-div.sample div.contents {
- border: 2px dashed black;
-}
-
-/* Schema Component Representation table */
-div.schemaComponent div.contents {
- border: 2px black solid;
-}
-
-
-/******** Glossary Section ********/
-
-/* Glossary Terms */
-.glossaryTerm {
- color: #036; /* Blue */
-}
-
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-/* Printer-version styles */
-
-@media print {
-
-/* Ensures that controls are hidden when printing */
-div#printerControls {
- visibility: hidden;
-}
-div#globalControls {
- visibility: hidden;
-}
-#legend {
- display: none;
-}
-#legendTOC {
- display: none;
-}
-#glossary {
- display: none;
-}
-#glossaryTOC {
- display: none;
-}
-
-}
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-/* Base styles */
-
-/******** General ********/
-
-/* Unordered lists */
-ul {
- margin-left: 1.5em;
- margin-bottom: 0em;
-}
-/* Tables */
-table {
- margin-top: 10px;
- margin-bottom: 10px;
- margin-left: 2px;
- margin-right: 2px;
-}
-table th, table td {
- font-size: 10pt;
- vertical-align: top;
- padding-top: 3px;
- padding-bottom: 3px;
- padding-left: 10px;
- padding-right: 10px;
-}
-table th {
- font-weight: bold;
- text-align: left;
-}
-/* Table displaying the properties of the schema components or the
- schema document itself */
-table.properties {
- width: 90%;
-}
-table.properties th {
- width: 30%;
-}
-/* Boxes that can make its content appear and disappear*/
-div.box {
- margin: 1em;
-}
- /* Box caption */
-div.box span.caption {
- font-weight: bold;
-}
- /* Button to open and close the box */
-div.box input.control {
- width: 1.4em;
- height: 1.4em;
- text-align: center;
- vertical-align: middle;
- font-size: 11pt;
-}
- /* Box contents */
-div.box div.contents {
- margin-top: 3px;
-}
-
-
-/******** Table of Contents Section ********/
-
-/* Controls for switching between printing and viewing modes */
-div#printerControls {
- white-space: nowrap;
- font-weight: bold;
- padding: 5px;
- margin: 5px;
-}
-/* Controls that can collapse or expand all XML Instance
- Representation and Schema Component Representation boxes */
-div#globalControls {
- padding: 10px;
- margin: 5px;
-}
-
-
-/******** Schema Document Properties Section ********/
-
-/* Table displaying the namespaces declared in the schema */
-table.namespaces th {
-}
-table.namespaces td {
-}
-/* Target namespace of the schema */
-span.targetNS {
-}
-
-
-/******** Schema Components' Sections ********/
-
-/* Name of schema component */
-.name {
-}
-
-/* Hierarchy table */
-table.hierarchy {
- width: 90%;
-}
-table.hierarchy th {
- font-weight: normal;
- font-style: italic;
- width: 20%;
-}
-table.hierarchy th, table.hierarchy td {
- padding: 5px;
-}
-
-/* XML Instance Representation table */
-div.sample {
- width: 90%;
-}
-div.sample div.contents {
- padding: 5px;
- font-family: Courier New, sans-serif;
- font-size: 10pt;
-}
- /* Normal elements and attributes */
-div.sample div.contents, div.sample div.contents a {
- color: black;
-}
- /* Group Headers */
-div.sample div.contents .group, div.sample div.contents .group a {
- color: #999; /* Light gray */
-}
- /* Type Information */
-div.sample div.contents .type, div.sample div.contents .type a {
- color: #999; /* Light gray */
-}
- /* Occurrence Information */
-div.sample div.contents .occurs, div.sample div.contents .occurs a {
- color: #999; /* Light gray */
-}
- /* Fixed values */
-div.sample div.contents .fixed {
- color: #063; /* Green */
- font-weight: bold;
-}
- /* Simple type constraints */
-div.sample div.contents .constraint, div.sample div.contents .constraint a {
- color: #999; /* Light gray */
-}
- /* Elements and attributes inherited from base type */
-div.sample div.contents .inherited, div.sample div.contents .inherited a {
- color: #666; /* Dark gray */
-}
- /* Elements and attributes added to or changed from base type */
-div.sample div.contents .newFields {
- font-weight: bold;
-}
- /* Other type of information */
-div.sample div.contents .other, div.sample div.contents .other a {
- color: #369; /* Blue */
- font-style: italic;
-}
- /* Link to open up window displaying documentation */
-div.sample div.contents a.documentation {
- text-decoration: none;
- padding-left: 3px;
- padding-right: 3px;
- padding-top: 0px;
- padding-bottom: 0px;
- font-weight: bold;
- font-size: 11pt;
- background-color: #FFD;
- color: #069;
-}
- /* Invert colors when hovering over link to open up window
- displaying documentation */
-div.sample div.contents a.documentation:hover {
- color: #FFD;
- background-color: #069;
-}
-
-/* Schema Component Representation table */
-div.schemaComponent {
- width: 90%;
-}
-div.schemaComponent div.contents {
- font-family: Courier New, sans-serif;
- font-size: 10pt;
- padding: 5px;
-}
- /* Syntax characters */
-div.schemaComponent div.contents {
- color: #00f; /* blue */
-}
- /* Element and attribute tags */
-div.schemaComponent div.contents .scTag {
- color: #933; /* maroon */
-}
- /* Element and attribute content */
-div.schemaComponent div.contents .scContent, div.schemaComponent div.contents .scContent a {
- color: black;
- font-weight: bold;
-}
- /* Comments */
-div.schemaComponent div.contents .comment {
- color: #999; /* Light gray */
-}
-
-/******** Legend Section ********/
-
-div#legend table, div#legend div {
- margin-bottom: 3px;
-}
-div#legend div.hint {
- color: #999; /* Light gray */
- width: 90%;
- margin-left: 1em;
- margin-bottom: 2em;
-}
-
-
-/******** Glossary Section ********/
-
-/* Glossary Terms */
-.glossaryTerm {
- font-weight: bold;
-}
-
-
-/******** Footer ********/
-
-.footer {
- font-size: 8pt;
-}
-</xsl:text>
- </xsl:template>
-
- <!--
- Print outs a legend describing the meaning of colors, bold items,
- etc. in the top-level sections.
- -->
- <xsl:template name="Legend">
- <!-- Header -->
- <div style="float: left; width: 15em;">
- <h3 style="margin-bottom: 0px;">Complex Type:</h3>
- <div class="hint" style="margin-left: 0em;">Schema Component Type</div>
- </div>
- <div style="float: left; width: 15em;">
- <h3 style="margin-bottom: 0px;"><span class="name">AusAddress</span></h3>
- <div class="hint" style="margin-left: 0em;">Schema Component Name</div>
- </div>
-
- <!-- Hierarchy Table -->
- <table class="hierarchy" style="clear : both">
- <tr>
- <xsl:choose>
- <xsl:when test="normalize-space(translate($printAllSuperTypes, 'TRUE', 'true'))='true'">
- <th>Super-types:</th>
- <td>
- <span class="type" style="color: #0000FF; text-decoration:underline;">Address</span>
- <xsl:text> &lt; </xsl:text>
- <span class="current">AusAddress</span>
- <xsl:text> (by extension)</xsl:text>
- </td>
- </xsl:when>
- <xsl:otherwise>
- <th>Parent type:</th>
- <td>
- <span class="type" style="color: #0000FF; text-decoration:underline;">Address</span>
- <xsl:text> (derivation method: extension)</xsl:text>
- </td>
- </xsl:otherwise>
- </xsl:choose>
- </tr>
- <tr>
- <xsl:choose>
- <xsl:when test="normalize-space(translate($printAllSubTypes, 'TRUE', 'true'))='true'">
- <th>Sub-types:</th>
- <td>
- <ul>
- <li>
- <span class="type" style="color: #0000FF; text-decoration:underline;">QLDAddress</span>
- <xsl:text> (by restriction)</xsl:text>
- </li>
- </ul>
- </td>
- </xsl:when>
- <xsl:otherwise>
- <th>Direct sub-types:</th>
- <td>
- <ul>
- <li>
- <span class="type" style="color: #0000FF; text-decoration:underline;">QLDAddress</span>
- <xsl:text> (by restriction)</xsl:text>
- </li>
- </ul>
- </td>
- </xsl:otherwise>
- </xsl:choose>
- </tr>
- </table>
- <div class="hint">If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.</div>
-
- <!-- Properties Table -->
- <table class="properties">
- <tr>
- <th>Name</th>
- <td>AusAddress</td>
- </tr>
- <tr>
- <th>
- <a title="Look up 'Abstract' in glossary" href="#term_Abstract">Abstract</a>
- </th>
- <td>no</td>
- </tr>
- </table>
- <div class="hint">The table above displays the properties of this schema component.</div>
-
- <!-- XML Instance Representation Table -->
- <div class="sample box">
- <div>
- <span class="caption">XML Instance Representation</span>
- </div>
- <div class="contents">
- <span style="margin-left: 0em">&lt;...</span>
- <span class="newFields">
- <span> country="<span class="fixed">Australia</span>"</span>
- </span>
- <xsl:text>&gt; </xsl:text><br/>
- <span style="margin-left: 1.5em" class="inherited">&lt;unitNo&gt; <span class="type">string</span> &lt;/unitNo&gt; <span class="occurs">[0..1]</span></span><br/>
- <span style="margin-left: 1.5em" class="inherited">&lt;houseNo&gt; <span class="type">string</span> &lt;/houseNo&gt; <span class="occurs">[1]</span></span><br/>
- <span style="margin-left: 1.5em" class="inherited">&lt;street&gt; <span class="type">string</span> &lt;/street&gt; <span class="occurs">[1]</span></span><br/>
- <span class="group" style="margin-left: 1.5em">Start <a title="Look up 'Choice' in glossary" href="#term_Choice">Choice</a> <span class="occurs">[1]</span></span><br/>
- <span style="margin-left: 3em" class="inherited">&lt;city&gt; <span class="type">string</span> &lt;/city&gt; <span class="occurs">[1]</span></span><br/>
- <span style="margin-left: 3em" class="inherited">&lt;town&gt; <span class="type">string</span> &lt;/town&gt; <span class="occurs">[1]</span></span><br/>
- <span class="group" style="margin-left: 1.5em">End Choice</span><br/>
- <span class="newFields">
- <span style="margin-left: 1.5em">&lt;state&gt; <span class="type" style="text-decoration:underline;">AusStates</span> &lt;/state&gt; <span class="occurs">[1]</span></span><br/>
- <span style="margin-left: 1.5em">&lt;postcode&gt; <span class="constraint">string &lt;&lt;<em>pattern</em> = [1-9][0-9]{3}>></span> &lt;/postcode&gt; <span class="occurs">[1]</span>
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <a href="javascript:void(0)" title="View Documentation" class="documentation" onclick="docArray = new Array('Post code must be a four-digit number.'); viewDocumentation('Element', 'postcode', docArray);">?</a>
- </xsl:if>
- </span><br/>
- </span>
- <span style="margin-left: 0em">&lt;/...&gt;</span><br/>
- </div>
- </div>
- <div class="hint">
- <p>The XML Instance Representation table above shows the schema component's content as an XML instance.</p>
- <ul>
- <li>The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].</li>
- <li>Model group information are shown in gray, e.g. Start Choice ... End Choice.</li>
- <li>For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in <span style="font-weight: bold">bold</span>.</li>
- <li>If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".</li>
- <li>Otherwise, the type of the element/attribute is displayed.
- <ul>
- <li>If the element/attribute's type is in the schema, a link is provided to it.</li>
- <!--<li>An <em>E</em> symbol is shown if the element/attribute's type is located in an external schema.</li>-->
- <li>For local simple type definitions, the constraints are displayed in angle brackets, e.g. &lt;&lt;<em>pattern</em> = [1-9][0-9]{3}>>.</li>
- </ul>
- </li>
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <li>If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. &lt;postcode>.</li>
- </xsl:if>
- </ul>
- </div>
-
- <!-- Schema Component Representation Table -->
- <div class="schemaComponent box">
- <div>
- <span class="caption">Schema Component Representation</span>
- </div>
- <div class="contents">
- <span style="margin-left: 0em">&lt;<span class="scTag">complexType</span> <span class="scTag">name</span>="<span class="scContent">AusAddress</span>"&gt;</span><br/>
- <span style="margin-left: 1.5em">&lt;<span class="scTag">complexContent</span>&gt;</span><br/>
- <span style="margin-left: 3em">&lt;<span class="scTag">extension</span> <span class="scTag">base</span>="<span class="scContent"><span class="type" style="text-decoration:underline;">Address</span></span>"&gt;</span><br/>
- <span style="margin-left: 4.5em">&lt;<span class="scTag">sequence</span>&gt;</span><br/>
- <span style="margin-left: 6em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">state</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type" style="text-decoration:underline;">AusStates</span></span>"/&gt;</span><br/>
- <span style="margin-left: 6em">&lt;<span class="scTag">element</span> <span class="scTag">name</span>="<span class="scContent">postcode</span>"&gt;</span><br/>
- <span style="margin-left: 7.5em">&lt;<span class="scTag">simpleType</span>&gt;</span><br/>
- <span style="margin-left: 9em">&lt;<span class="scTag">restriction</span> <span class="scTag">base</span>="<span class="scContent"><span class="type">string</span></span>"&gt;</span><br/>
- <span style="margin-left: 10.5em">&lt;<span class="scTag">pattern</span> <span class="scTag">value</span>="<span class="scContent">[1-9][0-9]{3}</span>"/&gt;</span><br/>
- <span style="margin-left: 9em">&lt;/<span class="scTag">restriction</span>&gt;</span><br/>
- <span style="margin-left: 7.5em">&lt;/<span class="scTag">simpleType</span>&gt;</span><br/>
- <span style="margin-left: 6em">&lt;/<span class="scTag">element</span>&gt;</span><br/>
- <span style="margin-left: 4.5em">&lt;/<span class="scTag">sequence</span>&gt;</span><br/>
- <span style="margin-left: 4.5em">&lt;<span class="scTag">attribute</span> <span class="scTag">name</span>="<span class="scContent">country</span>" <span class="scTag">type</span>="<span class="scContent"><span class="type">string</span></span>" <span class="scTag">fixed</span>="<span class="scContent">Australia</span>"/&gt;</span><br/>
- <span style="margin-left: 3em">&lt;/<span class="scTag">extension</span>&gt;</span><br/>
- <span style="margin-left: 1.5em">&lt;/<span class="scTag">complexContent</span>&gt;</span><br/>
- <span style="margin-left: 0em">&lt;/<span class="scTag">complexType</span>&gt;</span><br/>
- </div>
- </div>
- <div class="hint">The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)</div>
- </xsl:template>
-
- <!--
- Print outs all terms for the glossary section.
- -->
- <xsl:template name="Glossary">
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Abstract</xsl:with-param>
- <xsl:with-param name="term">Abstract</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>(Applies to complex type definitions and element declarations).</xsl:text>
- <xsl:text> An abstract element or complex type cannot used to validate an element instance.</xsl:text>
- <xsl:text> If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance.</xsl:text>
- <xsl:text> For references to abstract type definitions, only derived types can be used.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">All</xsl:with-param>
- <xsl:with-param name="term">All Model Group</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>Child elements can be provided </xsl:text>
- <em>
- <xsl:text>in any order</xsl:text>
- </em>
- <xsl:text> in instances.</xsl:text>
- </xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#element-all</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Choice</xsl:with-param>
- <xsl:with-param name="term">Choice Model Group</xsl:with-param>
- <xsl:with-param name="description">
- <em>
- <xsl:text>Only one</xsl:text>
- </em>
- <xsl:text> from the list of child elements and model groups can be provided in instances.</xsl:text>
- </xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#element-choice</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">CollapseWS</xsl:with-param>
- <xsl:with-param name="term">Collapse Whitespace Policy</xsl:with-param>
- <xsl:with-param name="description">Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">ElemBlock</xsl:with-param>
- <xsl:with-param name="term">Disallowed Substitutions</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>(Applies to element declarations).</xsl:text>
- <xsl:text> If </xsl:text>
- <em>substitution</em>
- <xsl:text> is specified, then </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">SubGroup</xsl:with-param>
- <xsl:with-param name="term">substitution group</xsl:with-param>
- </xsl:call-template>
- <xsl:text> members cannot be used in place of the given element declaration to validate element instances.</xsl:text>
-
- <xsl:text> If </xsl:text>
- <em>derivation methods</em>
- <xsl:text>, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods.</xsl:text>
- <xsl:text> Normally, element instances can override their declaration's type by specifying an </xsl:text>
- <code>xsi:type</code>
- <xsl:text> attribute.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Key</xsl:with-param>
- <xsl:with-param name="term">Key Constraint</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>Like </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Unique</xsl:with-param>
- <xsl:with-param name="term">Uniqueness Constraint</xsl:with-param>
- </xsl:call-template>
- <xsl:text>, but additionally requires that the specified value(s) must be provided.</xsl:text>
- </xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">KeyRef</xsl:with-param>
- <xsl:with-param name="term">Key Reference Constraint</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>Ensures that the specified value(s) must match value(s) from a </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Key</xsl:with-param>
- <xsl:with-param name="term">Key Constraint</xsl:with-param>
- </xsl:call-template>
- <xsl:text> or </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Unique</xsl:with-param>
- <xsl:with-param name="term">Uniqueness Constraint</xsl:with-param>
- </xsl:call-template>
- <xsl:text>.</xsl:text>
- </xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">ModelGroup</xsl:with-param>
- <xsl:with-param name="term">Model Group</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated.</xsl:text>
- </xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#Model_Groups</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Nillable</xsl:with-param>
- <xsl:with-param name="term">Nillable</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>(Applies to element declarations). </xsl:text>
- <xsl:text>If an element declaration is nillable, instances can use the </xsl:text>
- <code>xsi:nil</code>
- <xsl:text> attribute.</xsl:text>
- <xsl:text> The </xsl:text>
- <code>xsi:nil</code>
- <xsl:text> attribute is the boolean attribute, </xsl:text>
- <em>nil</em>
- <xsl:text>, from the </xsl:text>
- <em>http://www.w3.org/2001/XMLSchema-instance</em>
- <xsl:text> namespace.</xsl:text>
- <xsl:text> If an element instance has an </xsl:text>
- <code>xsi:nil</code>
- <xsl:text> attribute set to true, it can be left empty, even though its element declaration may have required content.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Notation</xsl:with-param>
- <xsl:with-param name="term">Notation</xsl:with-param>
- <xsl:with-param name="description">A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations.</xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">PreserveWS</xsl:with-param>
- <xsl:with-param name="term">Preserve Whitespace Policy</xsl:with-param>
- <xsl:with-param name="description">Preserve whitespaces exactly as they appear in instances.</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">TypeFinal</xsl:with-param>
- <xsl:with-param name="term">Prohibited Derivations</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>(Applies to type definitions). </xsl:text>
- <xsl:text>Derivation methods that cannot be used to create sub-types from a given type definition.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">TypeBlock</xsl:with-param>
- <xsl:with-param name="term">Prohibited Substitutions</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>(Applies to complex type definitions). </xsl:text>
- <xsl:text>Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">ReplaceWS</xsl:with-param>
- <xsl:with-param name="term">Replace Whitespace Policy</xsl:with-param>
- <xsl:with-param name="description">Replace tab, line feed, and carriage return characters with space character (Unicode character 32).</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Sequence</xsl:with-param>
- <xsl:with-param name="term">Sequence Model Group</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>Child elements and model groups must be provided </xsl:text>
- <em>
- <xsl:text>in the specified order</xsl:text>
- </em>
- <xsl:text> in instances.</xsl:text>
- </xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#element-sequence</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">SubGroup</xsl:with-param>
- <xsl:with-param name="term">Substitution Group</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>Elements that are </xsl:text>
- <em>
- <xsl:text>members</xsl:text>
- </em>
- <xsl:text> of a substitution group can be used wherever the </xsl:text>
- <em>
- <xsl:text>head</xsl:text>
- </em>
- <xsl:text> element of the substitution group is referenced.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">ElemFinal</xsl:with-param>
- <xsl:with-param name="term">Substitution Group Exclusions</xsl:with-param>
- <xsl:with-param name="description">
- <xsl:text>(Applies to element declarations). </xsl:text>
- <xsl:text>Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">TargetNS</xsl:with-param>
- <xsl:with-param name="term">Target Namespace</xsl:with-param>
- <xsl:with-param name="description">The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.</xsl:with-param>
- </xsl:call-template>
-
- <xsl:call-template name="PrintGlossaryTerm">
- <xsl:with-param name="code">Unique</xsl:with-param>
- <xsl:with-param name="term">Uniqueness Constraint</xsl:with-param>
- <xsl:with-param name="description">Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope.</xsl:with-param>
- <xsl:with-param name="link">http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out a term in the glossary section.
- Param(s):
- code (String) required
- Unique ID of glossary term
- term (String) required
- Glossary term
- description (Result Tree Fragment) required
- Meaning of term; may contain HTML tags and links
- link (String) optional
- URI containing more info about term
- -->
- <xsl:template name="PrintGlossaryTerm">
- <xsl:param name="code"/>
- <xsl:param name="term"/>
- <xsl:param name="description"/>
- <xsl:param name="link"/>
-
- <p>
- <span class="glossaryTerm">
- <a name="{concat($TERM_PREFIX, $code)}"><xsl:value-of select="$term"/></a>
- <xsl:text> </xsl:text>
- </span>
- <xsl:copy-of select="$description"/>
- <xsl:if test="$link != ''">
- <xsl:text> See: </xsl:text>
- <xsl:call-template name="PrintURI">
- <xsl:with-param name="uri" select="$link"/>
- </xsl:call-template>
- <xsl:text>.</xsl:text>
- </xsl:if>
- </p>
- </xsl:template>
-
-
- <!-- ******** Hierarchy table ******** -->
-
- <!--
- Prints out substitution group hierarchy for
- element declarations.
- -->
- <xsl:template match="xsd:element" mode="hierarchy">
- <!--
- Find out members of substitution group that this element
- heads.
- -->
- <xsl:variable name="members">
- <ul>
- <xsl:call-template name="PrintSGroupMembers">
- <xsl:with-param name="element" select="."/>
- </xsl:call-template>
- </ul>
- </xsl:variable>
- <xsl:variable name="hasMembers">
- <xsl:if test="normalize-space($members)!=''">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
- <!-- Print hierarchy table -->
- <xsl:if test="@substitutionGroup or normalize-space($hasMembers)='true'">
- <table class="hierarchy">
- <tr>
- <td>
- <ul>
- <!-- Print substitution group that this element belongs to -->
- <xsl:if test="@substitutionGroup">
- <li>
- <em>This element can be used wherever the following element is referenced:</em>
- <ul>
- <li>
- <xsl:call-template name="PrintElementRef">
- <xsl:with-param name="ref" select="@substitutionGroup"/>
- </xsl:call-template>
- </li>
- </ul>
- </li>
- </xsl:if>
- <!-- Print substitution group that this element heads -->
- <xsl:if test="normalize-space($hasMembers)='true'">
- <li>
- <em>The following elements can be used wherever this element is referenced:</em>
- <xsl:copy-of select="$members"/>
- </li>
- </xsl:if>
- </ul>
- </td>
- </tr>
- </table>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out Hierarchy table for complex type definitions.
- -->
- <xsl:template match="xsd:complexType" mode="hierarchy">
- <table class="hierarchy">
- <!-- Print super types -->
- <tr>
- <th>
- <xsl:choose>
- <xsl:when test="normalize-space(translate($printAllSuperTypes, 'TRUE', 'true'))='true'">
- <xsl:text>Super-types:</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>Parent type:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </th>
- <td>
- <xsl:choose>
- <xsl:when test="xsd:simpleContent or xsd:complexContent">
- <xsl:call-template name="PrintSupertypes">
- <xsl:with-param name="type" select="."/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>None</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <!-- Print sub types -->
- <tr>
- <th>
- <xsl:choose>
- <xsl:when test="normalize-space(translate($printAllSubTypes, 'TRUE', 'true'))='true'">
- <xsl:text>Sub-types:</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>Direct sub-types:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </th>
- <td>
- <xsl:call-template name="PrintComplexSubtypes">
- <xsl:with-param name="type" select="."/>
- </xsl:call-template>
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <!--
- Prints out Hierarchy table for simple type definitions.
- -->
- <xsl:template match="xsd:simpleType" mode="hierarchy">
- <table class="hierarchy">
- <!-- Print super types -->
- <tr>
- <th>
- <xsl:choose>
- <xsl:when test="normalize-space(translate($printAllSuperTypes, 'TRUE', 'true'))='true'">
- <xsl:text>Super-types:</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>Parent type:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </th>
- <td>
- <xsl:choose>
- <xsl:when test="xsd:restriction">
- <xsl:call-template name="PrintSupertypes">
- <xsl:with-param name="type" select="."/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>None</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <!-- Print sub types -->
- <tr>
- <th>
- <xsl:choose>
- <xsl:when test="normalize-space(translate($printAllSubTypes, 'TRUE', 'true'))='true'">
- <xsl:text>Sub-types:</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>Direct sub-types:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </th>
- <td>
- <xsl:call-template name="PrintSimpleSubtypes">
- <xsl:with-param name="type" select="."/>
- </xsl:call-template>
- </td>
- </tr>
- </table>
- </xsl:template>
-
- <!--
- Unmatched template for 'hierarchy' mode
- -->
- <xsl:template match="*" mode="hierarchy"/>
-
- <!--
- Prints out members, if any, of the substitution group that a
- given element declaration heads.
- Assumes it will be called within XHTML <ul> tags.
- Param(s):
- element (Node) required
- Top-level element declaration
- elementList (String) optional
- List of elements in this call chain. Name of element starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSGroupMembers">
- <xsl:param name="element"/>
- <xsl:param name="elementList"/>
-
- <xsl:variable name="elemName" select="normalize-space($element/@name)"/>
- <xsl:choose>
- <xsl:when test="contains($elementList, concat('*', $elemName, '+'))">
- <!-- Circular element substitution group hierarchy -->
- <li>
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">false</xsl:with-param>
- <xsl:with-param name="errorMsg">
- <xsl:text>Circular element reference to: </xsl:text>
- <xsl:value-of select="$elemName"/>
- </xsl:with-param>
- </xsl:call-template>
- </li>
- </xsl:when>
- <xsl:otherwise>
- <!-- Get 'block' attribute. -->
- <xsl:variable name="block">
- <xsl:call-template name="PrintBlockSet">
- <xsl:with-param name="EBV">
- <xsl:choose>
- <xsl:when test="$element/@block">
- <xsl:value-of select="$element/@block"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/xsd:schema/@blockDefault"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:for-each select="/xsd:schema/xsd:element[normalize-space(@substitutionGroup)=$elemName or normalize-space(substring-after(@substitutionGroup, ':'))=$elemName]">
- <li>
- <xsl:call-template name="PrintElementRef">
- <xsl:with-param name="name" select="@name"/>
- </xsl:call-template>
- </li>
- <!-- Recursively find members of a substitution group that
- current element in list might head, since substitution
- groups are transitive (unless 'substitution' is
- blocked).
- -->
- <xsl:if test="not(contains($block, 'substitution'))">
- <xsl:call-template name="PrintSGroupMembers">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="elementList" select="concat($elementList, '*', $elemName, '+')"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out the super types of a given type definition.
- Param(s):
- type (Node) required
- Type definition
- isCallingType (boolean) optional
- If true, 'type' is the type definition that starts
- this call. Otherwise, this is a recursive call from
- 'PrintSupertypes' itself.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSupertypes">
- <xsl:param name="type"/>
- <xsl:param name="isCallingType">true</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:variable name="typeName" select="$type/@name"/>
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="contains($typeList, concat('*', $typeName, '+'))">
- <!-- Note: Error message will be written out in the Sample Instance table. -->
- <xsl:value-of select="$typeName"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- Get base type reference -->
- <xsl:variable name="baseTypeRef">
- <xsl:choose>
- <!-- Complex type definition -->
- <xsl:when test="local-name($type)='complexType'">
- <xsl:choose>
- <xsl:when test="$type/xsd:simpleContent/xsd:extension">
- <xsl:value-of select="$type/xsd:simpleContent/xsd:extension/@base"/>
- </xsl:when>
- <xsl:when test="$type/xsd:simpleContent/xsd:restriction">
- <xsl:value-of select="$type/xsd:simpleContent/xsd:restriction/@base"/>
- </xsl:when>
- <xsl:when test="$type/xsd:complexContent/xsd:extension">
- <xsl:value-of select="$type/xsd:complexContent/xsd:extension/@base"/>
- </xsl:when>
- <xsl:when test="$type/xsd:complexContent/xsd:restriction">
- <xsl:value-of select="$type/xsd:complexContent/xsd:restriction/@base"/>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <!-- Simple type definition -->
- <xsl:when test="local-name($type)='simpleType'">
- <xsl:choose>
- <xsl:when test="$type/xsd:restriction/@base">
- <xsl:value-of select="$type/xsd:restriction/@base"/>
- </xsl:when>
- <xsl:when test="$type/xsd:restriction/xsd:simpleType">
- <xsl:text>Local type definition</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Get derivation method -->
- <xsl:variable name="derive">
- <!-- Complex type definition -->
- <xsl:choose>
- <xsl:when test="local-name($type)='complexType'">
- <xsl:choose>
- <xsl:when test="$type/xsd:simpleContent/xsd:extension or $type/xsd:complexContent/xsd:extension">
- <xsl:text>extension</xsl:text>
- </xsl:when>
- <xsl:when test="$type/xsd:simpleContent/xsd:restriction or $type/xsd:complexContent/xsd:restriction">
- <xsl:text>restriction</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <!-- Simple type definition -->
- <xsl:when test="local-name($type)='simpleType'">
- <xsl:text>restriction</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Print out entire hierarchy -->
- <xsl:when test="normalize-space(translate($printAllSuperTypes, 'TRUE', 'true'))='true'">
- <xsl:choose>
- <xsl:when test="normalize-space($baseTypeRef)='Local type definition'">
- <xsl:value-of select="$baseTypeRef"/>
- <!-- Symbol to indicate type derivation-->
- <xsl:text> &lt; </xsl:text>
- </xsl:when>
- <xsl:when test="normalize-space($baseTypeRef)!=''">
- <!-- Get base type name from reference -->
- <xsl:variable name="baseTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Get base type definition from schema -->
- <xsl:variable name="baseType" select="key('type', $baseTypeName)"/>
- <xsl:choose>
- <!-- Base type was found in this schema -->
- <xsl:when test="$baseType">
- <!-- Make recursive call to print out base type and itself -->
- <xsl:call-template name="PrintSupertypes">
- <xsl:with-param name="type" select="$baseType"/>
- <xsl:with-param name="isCallingType">false</xsl:with-param>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $typeName, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Base type was not found in this schema -->
- <xsl:otherwise>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <!-- Symbol to indicate type derivation -->
- <xsl:text> &lt; </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <!-- IGNORE: Base type may not be exist probably because
- current type does not be derived from another type.
- -->
- </xsl:otherwise>
- </xsl:choose>
- <!-- Print out current type's name -->
- <xsl:choose>
- <xsl:when test="$isCallingType='true'">
- <strong><xsl:value-of select="$typeName"/></strong>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="name" select="$typeName"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <!-- Print out derivation method -->
- <xsl:if test="$derive != ''">
- <xsl:text> (by </xsl:text>
- <xsl:value-of select="$derive"/>
- <xsl:text>)</xsl:text>
- </xsl:if>
- </xsl:when>
- <!-- Print out parent type only -->
- <xsl:otherwise>
- <!-- Print out base type reference -->
- <xsl:choose>
- <xsl:when test="normalize-space($baseTypeRef)='Local type definition'">
- <xsl:value-of select="$baseTypeRef"/>
- </xsl:when>
- <xsl:when test="$baseTypeRef!=''">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- IGNORE: Base type may not be exist probably because
- current type does not be derived from another type.
- -->
- </xsl:otherwise>
- </xsl:choose>
- <!-- Print out derivation method -->
- <xsl:if test="$derive != ''">
- <xsl:text> (derivation method: </xsl:text>
- <xsl:value-of select="$derive"/>
- <xsl:text>)</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out the sub types of a given complex type definition.
- Param(s):
- type (Node) required
- Complex type definition
- isCallingType (boolean) optional
- If true, 'type' is the type definition that starts this
- call. Otherwise, this is a recursive call from
- 'PrintComplexSubtypes' itself.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintComplexSubtypes">
- <xsl:param name="type"/>
- <xsl:param name="isCallingType">true</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:variable name="typeName" select="normalize-space($type/@name)"/>
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="contains($typeList, concat('*', $typeName, '+'))">
- <!-- Do nothing. Note: Error message will be written out in the Sample Instance table. -->
- </xsl:when>
- <xsl:otherwise>
- <!-- Find sub types -->
- <xsl:variable name="subTypes">
- <ul>
- <xsl:for-each select="/xsd:schema/xsd:complexType/xsd:complexContent/xsd:restriction[normalize-space(@base)=$typeName or normalize-space(substring-after(@base, ':'))=$typeName] | /xsd:schema/xsd:complexType/xsd:complexContent/xsd:extension[normalize-space(@base)=$typeName or normalize-space(substring-after(@base, ':'))=$typeName]">
- <li>
- <xsl:variable name="subType" select="../.."/>
- <!-- Write out type name -->
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="name" select="$subType/@name"/>
- </xsl:call-template>
- <!-- Write derivation method -->
- <xsl:text> (by </xsl:text>
- <xsl:value-of select="local-name(.)"/>
- <xsl:text>)</xsl:text>
- <!-- Make recursive call to write sub-types of this sub-type -->
- <xsl:if test="normalize-space(translate($printAllSubTypes, 'TRUE', 'true'))='true'">
- <xsl:call-template name="PrintComplexSubtypes">
- <xsl:with-param name="type" select="$subType"/>
- <xsl:with-param name="isCallingType">false</xsl:with-param>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $typeName, '+')"/>
- </xsl:call-template>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:variable>
- <!-- Print out sub types -->
- <xsl:choose>
- <xsl:when test="normalize-space($subTypes)!=''">
- <xsl:copy-of select="$subTypes"/>
- </xsl:when>
- <xsl:when test="$isCallingType='true'">
- <xsl:text>None</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out the sub types of a given simple type definition.
- Param(s):
- type (Node) required
- Simple type definition
- isCallingType (boolean) optional
- If true, 'type' is the type definition that starts this
- call. Otherwise, this is a recursive call from
- 'PrintSimpleSubtypes'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSimpleSubtypes">
- <xsl:param name="type"/>
- <xsl:param name="isCallingType">true</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:variable name="typeName" select="normalize-space($type/@name)"/>
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="contains($typeList, concat('*', $typeName, '+'))">
- <!-- Do nothing. Note: Error message will be written out in the Sample Instance table. -->
- </xsl:when>
- <xsl:otherwise>
- <!-- Find sub-types that are simple type definitions -->
- <xsl:variable name="simpleSubTypes">
- <ul>
- <xsl:for-each select="/xsd:schema/xsd:simpleType/xsd:restriction[normalize-space(@base)=$typeName or normalize-space(substring-after(@base, ':'))=$typeName]">
- <li>
- <xsl:variable name="subType" select=".."/>
- <!-- Write out type name -->
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="name" select="$subType/@name"/>
- </xsl:call-template>
- <!-- Write derivation method -->
- <xsl:text> (by restriction)</xsl:text>
- <!-- Make recursive call to write sub-types of this sub-type -->
- <xsl:if test="normalize-space(translate($printAllSubTypes, 'TRUE', 'true'))='true'">
- <xsl:call-template name="PrintSimpleSubtypes">
- <xsl:with-param name="type" select="$subType"/>
- <xsl:with-param name="isCallingType">false</xsl:with-param>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $typeName, '+')"/>
- </xsl:call-template>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:variable>
- <!-- Find sub-types that are complex type definitions -->
- <xsl:variable name="complexSubTypes">
- <ul>
- <xsl:for-each select="/xsd:schema/xsd:complexType/xsd:simpleContent/xsd:restriction[normalize-space(@base)=$typeName or normalize-space(substring-after(@base, ':'))=$typeName] | /xsd:schema/xsd:complexType/xsd:simpleContent/xsd:extension[normalize-space(@base)=$typeName or normalize-space(substring-after(@base, ':'))=$typeName]">
- <li>
- <xsl:variable name="subType" select="../.."/>
- <!-- Write out type name -->
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="name" select="$subType/@name"/>
- </xsl:call-template>
- <!-- Write derivation method -->
- <xsl:text> (by </xsl:text>
- <xsl:value-of select="local-name(.)"/>
- <xsl:text>)</xsl:text>
- <!-- Make recursive call to write sub-types of this sub-type -->
- <xsl:if test="normalize-space(translate($printAllSubTypes, 'TRUE', 'true'))='true'">
- <xsl:call-template name="PrintComplexSubtypes">
- <xsl:with-param name="type" select="$subType"/>
- <xsl:with-param name="isCallingType">false</xsl:with-param>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $typeName, '+')"/>
- </xsl:call-template>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:variable>
-
- <xsl:variable name="hasSimpleSubTypes">
- <xsl:if test="normalize-space($simpleSubTypes)!=''">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="hasComplexSubTypes">
- <xsl:if test="normalize-space($complexSubTypes)!=''">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
- <!-- Print out sub types -->
- <xsl:choose>
- <xsl:when test="$hasSimpleSubTypes='true' or $hasComplexSubTypes='true'">
- <xsl:if test="$hasSimpleSubTypes='true'">
- <xsl:copy-of select="$simpleSubTypes"/>
- </xsl:if>
- <xsl:if test="$hasComplexSubTypes='true'">
- <xsl:copy-of select="$complexSubTypes"/>
- </xsl:if>
- </xsl:when>
- <xsl:when test="$isCallingType='true'">
- <xsl:text>None</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- ******** Properties table ******** -->
-
- <!--
- Prints out the contents of an 'appinfo' or a 'documentation'
- element in the Properties table.
- -->
- <xsl:template match="xsd:appinfo | xsd:documentation" mode="properties">
- <!-- Print out children using XML pretty printer templates -->
- <xsl:choose>
- <xsl:when test="local-name(.)='appinfo'">
- <xsl:apply-templates select="* | text()" mode="xpp"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="* | text()" mode="html"/>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- Print out URL in the source attribute. -->
- <xsl:if test="@source">
- <xsl:if test="* | text()"><br/></xsl:if>
- <xsl:text> More information at: </xsl:text>
- <xsl:call-template name="PrintURI">
- <xsl:with-param name="uri" select="@source"/>
- </xsl:call-template>
- <xsl:text>.</xsl:text>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out the Properties table for a top-level
- attribute declaration.
- -->
- <xsl:template match="xsd:attribute" mode="properties">
- <table class="properties">
- <!-- Name -->
- <tr>
- <th>Name</th>
- <td><xsl:value-of select="@name"/></td>
- </tr>
- <!-- Type -->
- <tr>
- <th>Type</th>
- <td>
- <xsl:choose>
- <xsl:when test="xsd:simpleType">
- <xsl:text>Locally-defined simple type</xsl:text>
- </xsl:when>
- <xsl:when test="@type">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="@type"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>anySimpleType</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <!-- Default Value -->
- <xsl:if test="@default">
- <tr>
- <th>Default Value</th>
- <td><xsl:value-of select="@default"/></td>
- </tr>
- </xsl:if>
- <!-- Fixed Value -->
- <xsl:if test="@fixed">
- <tr>
- <th>Fixed Value</th>
- <td><xsl:value-of select="@fixed"/></td>
- </tr>
- </xsl:if>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Prints out Properties table for a top-level
- attribute group or model group definition.
- -->
- <xsl:template match="xsd:attributeGroup | xsd:group" mode="properties">
- <table class="properties">
- <!-- Name -->
- <tr>
- <th>Name</th>
- <td><xsl:value-of select="@name"/></td>
- </tr>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Prints out the Properties table for a top-level
- complex type definition.
- -->
- <xsl:template match="xsd:complexType" mode="properties">
- <table class="properties">
- <!-- Name -->
- <tr>
- <th>Name</th>
- <td><xsl:value-of select="@name"/></td>
- </tr>
- <!-- Abstract -->
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Abstract</xsl:with-param>
- <xsl:with-param name="term">Abstract</xsl:with-param>
- </xsl:call-template>
- </th>
- <td>
- <xsl:call-template name="PrintBoolean">
- <xsl:with-param name="boolean" select="@abstract"/>
- </xsl:call-template>
- </td>
- </tr>
- <!-- Final -->
- <xsl:variable name="final">
- <xsl:call-template name="PrintDerivationSet">
- <xsl:with-param name="EBV">
- <xsl:choose>
- <xsl:when test="@final">
- <xsl:value-of select="@final"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/xsd:schema/@finalDefault"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="normalize-space($final)!=''">
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">TypeFinal</xsl:with-param>
- <xsl:with-param name="term">Prohibited Derivations</xsl:with-param>
- </xsl:call-template>
- </th>
- <td><xsl:value-of select="$final"/></td>
- </tr>
- </xsl:if>
- <!-- Block -->
- <xsl:variable name="block">
- <xsl:call-template name="PrintDerivationSet">
- <xsl:with-param name="EBV">
- <xsl:choose>
- <xsl:when test="@block">
- <xsl:value-of select="@block"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/xsd:schema/@blockDefault"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="normalize-space($block)!=''">
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">TypeBlock</xsl:with-param>
- <xsl:with-param name="term">Prohibited Substitutions</xsl:with-param>
- </xsl:call-template>
- </th>
- <td><xsl:value-of select="$block"/></td>
- </tr>
- </xsl:if>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Prints out the Properties table for a top-level
- element declaration.
- -->
- <xsl:template match="xsd:element" mode="properties">
- <table class="properties">
- <!-- Name -->
- <tr>
- <th>Name</th>
- <td><xsl:value-of select="@name"/></td>
- </tr>
- <!-- Type -->
- <tr>
- <th>Type</th>
- <td>
- <xsl:choose>
- <xsl:when test="xsd:simpleType">
- <xsl:text>Locally-defined simple type</xsl:text>
- </xsl:when>
- <xsl:when test="xsd:complexType">
- <xsl:text>Locally-defined complex type</xsl:text>
- </xsl:when>
- <xsl:when test="@type">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="@type"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>anyType</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <!-- Nillable -->
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Nillable</xsl:with-param>
- <xsl:with-param name="term">Nillable</xsl:with-param>
- </xsl:call-template>
- </th>
- <td>
- <xsl:call-template name="PrintBoolean">
- <xsl:with-param name="boolean" select="@nillable"/>
- </xsl:call-template>
- </td>
- </tr>
- <!-- Abstract -->
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Abstract</xsl:with-param>
- <xsl:with-param name="term">Abstract</xsl:with-param>
- </xsl:call-template>
- </th>
- <td>
- <xsl:call-template name="PrintBoolean">
- <xsl:with-param name="boolean" select="@abstract"/>
- </xsl:call-template>
- </td>
- </tr>
- <!-- Default Value -->
- <xsl:if test="@default">
- <tr>
- <th>Default Value</th>
- <td><xsl:value-of select="@default"/></td>
- </tr>
- </xsl:if>
- <!-- Fixed Value -->
- <xsl:if test="@fixed">
- <tr>
- <th>Fixed Value</th>
- <td><xsl:value-of select="@fixed"/></td>
- </tr>
- </xsl:if>
- <!-- Final -->
- <xsl:variable name="final">
- <xsl:call-template name="PrintDerivationSet">
- <xsl:with-param name="EBV">
- <xsl:choose>
- <xsl:when test="@final">
- <xsl:value-of select="@final"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/xsd:schema/@finalDefault"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="normalize-space($final)!=''">
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">ElemFinal</xsl:with-param>
- <xsl:with-param name="term">Substitution Group Exclusions</xsl:with-param>
- </xsl:call-template>
- </th>
- <td><xsl:value-of select="$final"/></td>
- </tr>
- </xsl:if>
- <!-- Block -->
- <xsl:variable name="block">
- <xsl:call-template name="PrintBlockSet">
- <xsl:with-param name="EBV">
- <xsl:choose>
- <xsl:when test="@block">
- <xsl:value-of select="@block"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/xsd:schema/@blockDefault"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="normalize-space($block)!=''">
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">ElemBlock</xsl:with-param>
- <xsl:with-param name="term">Disallowed Substitutions</xsl:with-param>
- </xsl:call-template>
- </th>
- <td><xsl:value-of select="$block"/></td>
- </tr>
- </xsl:if>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Prints out the Properties table for a top-level
- notation declaration.
- -->
- <xsl:template match="xsd:notation" mode="properties">
- <table class="properties">
- <!-- Name -->
- <tr>
- <th>Name</th>
- <td><xsl:value-of select="@name"/></td>
- </tr>
- <!-- Public Identifier -->
- <tr>
- <th>Public Identifier</th>
- <td><xsl:value-of select="@public"/></td>
- </tr>
- <!-- System Identifier -->
- <xsl:if test="@system">
- <tr>
- <th>System Identifier</th>
- <td><xsl:value-of select="@system"/></td>
- </tr>
- </xsl:if>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Prints out the Properties table for the root
- schema element.
- -->
- <xsl:template match="xsd:schema" mode="properties">
- <table class="properties">
- <!-- Target Namespace -->
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">TargetNS</xsl:with-param>
- <xsl:with-param name="term">Target Namespace</xsl:with-param>
- </xsl:call-template>
- </th>
- <td>
- <xsl:choose>
- <xsl:when test="@targetNamespace">
- <span class="targetNS">
- <xsl:value-of select="@targetNamespace"/>
- </span>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>None</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <!-- Version -->
- <xsl:if test="@version">
- <tr>
- <th>Version</th>
- <td><xsl:value-of select="@version"/></td>
- </tr>
- </xsl:if>
- <!-- Language -->
- <xsl:if test="@xml:lang">
- <tr>
- <th>Language</th>
- <td><xsl:value-of select="@xml:lang"/></td>
- </tr>
- </xsl:if>
- <!-- Element/Attribute Form Defaults -->
- <tr>
- <th>Element and Attribute Namespaces</th>
- <td>
- <ul>
- <li>Global element and attribute declarations belong to this schema's target namespace.</li>
- <li>
- <xsl:choose>
- <xsl:when test="normalize-space(@elementFormDefault)='qualified'">
- <xsl:text>By default, local element declarations belong to this schema's target namespace.</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>By default, local element declarations have no namespace.</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </li>
- <li>
- <xsl:choose>
- <xsl:when test="normalize-space(@attributeFormDefault)='qualified'">
- <xsl:text>By default, local attribute declarations belong to this schema's target namespace.</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>By default, local attribute declarations have no namespace.</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </li>
- </ul>
- </td>
- </tr>
- <!-- Schema Composition, e.g. include, import, redefine -->
- <xsl:if test="xsd:include or xsd:import or xsd:redefine">
- <tr>
- <th>Schema Composition</th>
- <td>
- <ul>
- <!-- Import -->
- <xsl:if test="xsd:import">
- <li>
- <xsl:text>This schema imports schema(s) from the following namespace(s):</xsl:text>
- <ul>
- <xsl:for-each select="xsd:import">
- <li>
- <em><xsl:value-of select="@namespace"/></em>
- <xsl:if test="@schemaLocation">
- <xsl:text> (at </xsl:text>
- <xsl:call-template name="PrintSchemaLink">
- <xsl:with-param name="uri" select="@schemaLocation"/>
- </xsl:call-template>
- <xsl:text>)</xsl:text>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </li>
- </xsl:if>
- <!-- Include -->
- <xsl:if test="xsd:include">
- <li>
- <xsl:text>This schema includes components from the following schema document(s):</xsl:text>
- <ul>
- <xsl:for-each select="xsd:include">
- <li>
- <xsl:call-template name="PrintSchemaLink">
- <xsl:with-param name="uri" select="@schemaLocation"/>
- </xsl:call-template>
- </li>
- </xsl:for-each>
- </ul>
- </li>
- </xsl:if>
- <!-- Redefine -->
- <xsl:if test="xsd:redefine">
- <li>
- <xsl:text>This schema includes components from the following schema document(s), where some of the components have been redefined:</xsl:text>
- <ul>
- <xsl:for-each select="xsd:redefine">
- <li>
- <xsl:call-template name="PrintSchemaLink">
- <xsl:with-param name="uri" select="@schemaLocation"/>
- </xsl:call-template>
- </li>
- </xsl:for-each>
- </ul>
- <xsl:text>See </xsl:text><a href="#Redefinitions">Redefined Schema Components</a><xsl:text> section.</xsl:text>
- </li>
- </xsl:if>
- </ul>
- </td>
- </tr>
- </xsl:if>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Prints out the Properties table for a top-level
- simple type definition.
- -->
- <xsl:template match="xsd:simpleType" mode="properties">
- <table class="properties">
- <!-- Name -->
- <tr>
- <th>Name</th>
- <td><xsl:value-of select="@name"/></td>
- </tr>
- <!-- Constraints -->
- <tr>
- <th>Content</th>
- <td>
- <xsl:call-template name="PrintSimpleConstraints">
- <xsl:with-param name="simpleContent" select="."/>
- </xsl:call-template>
- </td>
- </tr>
- <!-- Final -->
- <xsl:variable name="final">
- <xsl:call-template name="PrintSimpleDerivationSet">
- <xsl:with-param name="EBV">
- <xsl:choose>
- <xsl:when test="@final">
- <xsl:value-of select="@final"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/xsd:schema/@finalDefault"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="normalize-space($final)!=''">
- <tr>
- <th>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">TypeFinal</xsl:with-param>
- <xsl:with-param name="term">Prohibited Derivations</xsl:with-param>
- </xsl:call-template>
- </th>
- <td><xsl:value-of select="$final"/></td>
- </tr>
- </xsl:if>
- <!-- Annotation -->
- <xsl:call-template name="PrintAnnotation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </table>
- </xsl:template>
-
- <!--
- Unmatched template for 'properties' mode
- -->
- <xsl:template match="*" mode="properties"/>
-
- <!--
- Prints out the rows to display 'annotation' elements of an
- component in the Properties table. This template assumes it
- will be called within an HTML 'table' element.
- Param(s):
- component (Node) required
- Schema component
- -->
- <xsl:template name="PrintAnnotation">
- <xsl:param name="component"/>
-
- <xsl:if test="$component/xsd:annotation/xsd:documentation">
- <tr>
- <th>Documentation</th>
- <td>
- <xsl:for-each select="$component/xsd:annotation/xsd:documentation">
- <xsl:if test="position()!=1"><br/><br/></xsl:if>
- <xsl:apply-templates select="." mode="properties"/>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:if>
- <xsl:if test="$component/xsd:annotation/xsd:appinfo">
- <tr>
- <th>Application Data</th>
- <td>
- <xsl:for-each select="$component/xsd:annotation/xsd:appinfo">
- <xsl:if test="position()!=1"><br/><br/></xsl:if>
- <xsl:apply-templates select="." mode="properties"/>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out the constraints of simple content
- to be displayed within a Properties table.
- Param(s):
- simpleContent (Node) required
- Node containing the simple content
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSimpleConstraints">
- <xsl:param name="simpleContent"/>
- <xsl:param name="typeList"/>
-
- <xsl:choose>
- <!-- Derivation by restriction -->
- <xsl:when test="$simpleContent/xsd:restriction">
- <xsl:call-template name="PrintSimpleRestriction">
- <xsl:with-param name="restriction" select="$simpleContent/xsd:restriction"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Derivation by list -->
- <xsl:when test="$simpleContent/xsd:list">
- <ul><li>
- <xsl:text>List of: </xsl:text>
- <xsl:choose>
- <!-- Globally-defined item type -->
- <xsl:when test="$simpleContent/xsd:list/@itemType">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$simpleContent/xsd:list/@itemType"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Locally-defined item type -->
- <xsl:otherwise>
- <ul>
- <li>
- <xsl:text>Locally defined type:</xsl:text>
- <xsl:call-template name="PrintSimpleConstraints">
- <xsl:with-param name="simpleContent" select="$simpleContent/xsd:list/xsd:simpleType"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </li>
- </ul>
- </xsl:otherwise>
- </xsl:choose>
- </li></ul>
- </xsl:when>
- <!-- Derivation by union -->
- <xsl:when test="$simpleContent/xsd:union">
- <ul><li>
- <xsl:text>Union of following types: </xsl:text>
- <ul>
- <!-- Globally-defined member types -->
- <xsl:if test="$simpleContent/xsd:union/@memberTypes">
- <xsl:call-template name="PrintWhitespaceList">
- <xsl:with-param name="value" select="$simpleContent/xsd:union/@memberTypes"/>
- <xsl:with-param name="compType">type</xsl:with-param>
- <xsl:with-param name="isInList">true</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Locally-defined member types -->
- <xsl:for-each select="$simpleContent/xsd:union/xsd:simpleType">
- <li>
- <xsl:text>Locally defined type:</xsl:text>
- <xsl:call-template name="PrintSimpleConstraints">
- <xsl:with-param name="simpleContent" select="."/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </li>
- </xsl:for-each>
- </ul>
- </li></ul>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out the constraints of simple content derived by
- restriction, which is to be displayed in a Properties table.
- Param(s):
- restriction (Node) required
- Node containing the restriction
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSimpleRestriction">
- <xsl:param name="restriction"/>
- <xsl:param name="typeList"/>
-
- <xsl:variable name="typeName" select="$restriction/parent::xsd:simpleType/@name"/>
-
- <!-- Print out base type info -->
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="$typeName != '' and contains($typeList, concat('*', $typeName, '+'))">
- <li>
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">false</xsl:with-param>
- <xsl:with-param name="errorMsg">
- <xsl:text>Circular type reference to '</xsl:text>
- <xsl:value-of select="$typeName"/>
- <xsl:text>' in type hierarchy.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
- </li>
- </xsl:when>
- <!-- Locally-defined base type -->
- <xsl:when test="$restriction/xsd:simpleType">
- <xsl:call-template name="PrintSimpleConstraints">
- <xsl:with-param name="simpleContent" select="$restriction/xsd:simpleType"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Base type reference -->
- <xsl:when test="$restriction">
- <xsl:variable name="baseTypeRef" select="$restriction/@base"/>
- <xsl:variable name="baseTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="baseTypeNS">
- <xsl:call-template name="GetRefNS">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Base type is built-in XSD type -->
- <xsl:when test="$baseTypeNS=$XSD_NS">
- <ul><li>
- <xsl:text>Base XSD Type: </xsl:text>
- <xsl:choose>
- <!-- Current schema is the schema for XSDL -->
- <xsl:when test="normalize-space(/xsd:schema/@targetNamespace)=$XSD_NS">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Current schema is not XSD namespace -->
- <xsl:otherwise>
- <xsl:value-of select="$baseTypeName"/>
- </xsl:otherwise>
- </xsl:choose>
- </li></ul>
- </xsl:when>
- <!-- Other types -->
- <xsl:otherwise>
- <xsl:variable name="baseType" select="key('simpleType', $baseTypeName)"/>
- <xsl:choose>
- <!-- Base type found -->
- <xsl:when test="$baseType">
- <xsl:call-template name="PrintSimpleConstraints">
- <xsl:with-param name="simpleContent" select="$baseType"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $typeName, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Base type not found -->
- <xsl:otherwise>
- <ul><li><strong>
- <xsl:text>'</xsl:text>
- <xsl:value-of select="$baseTypeName"/>
- <xsl:text>' super type was not found in this schema. </xsl:text>
- <xsl:text>Its facets could not be printed out.</xsl:text>
- </strong></li></ul>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
-
- <!-- Find constraints in current restriction -->
- <xsl:variable name="enumeration">
- <xsl:call-template name="PrintEnumFacets">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="pattern">
- <xsl:call-template name="PrintPatternFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="range">
- <xsl:call-template name="PrintRangeFacets">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="totalDigits">
- <xsl:call-template name="PrintTotalDigitsFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="fractionDigits">
- <xsl:call-template name="PrintFractionDigitsFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="length">
- <xsl:call-template name="PrintLengthFacets">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="whitespace">
- <xsl:call-template name="PrintWhitespaceFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Print out facets -->
- <xsl:if test="$enumeration!='' or $pattern!='' or $range!='' or $totalDigits!='' or $fractionDigits!='' or $length!='' or $whitespace!=''">
- <ul>
- <xsl:if test="$enumeration!=''">
- <li>
- <xsl:copy-of select="$enumeration"/>
- </li>
- </xsl:if>
- <xsl:if test="$pattern!=''">
- <li>
- <xsl:copy-of select="$pattern"/>
- </li>
- </xsl:if>
- <xsl:if test="$range!=''">
- <li>
- <xsl:copy-of select="$range"/>
- </li>
- </xsl:if>
- <xsl:if test="$totalDigits!=''">
- <li>
- <xsl:copy-of select="$totalDigits"/>
- </li>
- </xsl:if>
- <xsl:if test="$fractionDigits!=''">
- <li>
- <xsl:copy-of select="$fractionDigits"/>
- </li>
- </xsl:if>
- <xsl:if test="$length!=''">
- <li>
- <xsl:copy-of select="$length"/>
- </li>
- </xsl:if>
- <xsl:if test="$whitespace!=''">
- <li>
- <xsl:copy-of select="$whitespace"/>
- </li>
- </xsl:if>
- </ul>
- </xsl:if>
- </xsl:template>
-
-
- <!-- ******** XML Instance Representation table ******** -->
-
- <!--
- Prints out the XML Instance Representation table for a top-level
- schema component.
- Param(s):
- component (Node) required
- Top-level schema component
- -->
- <xsl:template name="SampleInstanceTable">
- <xsl:param name="component"/>
-
- <!-- Not applicable for simple type definitions and notation
- declarations -->
- <xsl:if test="local-name($component)!='simpleType' and local-name($component)!='notation'">
- <xsl:variable name="componentID">
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:call-template name="CollapseableBox">
- <xsl:with-param name="id" select="concat($componentID, '_xibox')"/>
- <xsl:with-param name="styleClass">sample</xsl:with-param>
- <xsl:with-param name="caption">XML Instance Representation</xsl:with-param>
- <xsl:with-param name="contents">
- <xsl:apply-templates select="$component" mode="sample"/>
- </xsl:with-param>
- <xsl:with-param name="isOpened">true</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation of an 'all'
- model group.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- schemaLoc (String) optional
- Schema file containing this all model group;
- if in current schema, 'schemaLoc' is set to 'this'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template match="xsd:all" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:if test="normalize-space(@maxOccurs)!='0'">
- <!-- Header -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>Start </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">All</xsl:with-param>
- <xsl:with-param name="term">All</xsl:with-param>
- </xsl:call-template>
- <!-- Min/max occurs information-->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </span><br/>
-
- <!-- Content -->
- <xsl:apply-templates select="xsd:*" mode="sample">
- <xsl:with-param name="margin" select="number($margin) + number($ELEM_INDENT)"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:apply-templates>
-
- <!-- Footer -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>End All</xsl:text>
- </span><br/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation of an element
- content wild card.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:any | xsd:anyAttribute" mode="sample">
- <xsl:param name="margin">0</xsl:param>
-
- <div class="other" style="margin-left: {$margin}em">
- <xsl:call-template name="PrintWildcard">
- <xsl:with-param name="componentType">
- <xsl:choose>
- <xsl:when test="local-name(.)='anyAttribute'">attribute</xsl:when>
- <xsl:otherwise>element</xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="namespace" select="@namespace"/>
- <xsl:with-param name="processContents" select="@processContents"/>
- <xsl:with-param name="minOccurs" select="@minOccurs"/>
- <xsl:with-param name="maxOccurs" select="@maxOccurs"/>
- </xsl:call-template>
- </div>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation
- of an attribute declaration.
- Param(s):
- subTypeAttrs (String) optional
- List of attributes in sub-types of the type that
- contains this attribute
- isInherited (boolean) optional
- If true, display attribute using 'inherited' CSS
- class.
- isNewField (boolean) optional
- If true, display attribute using 'newFields' CSS
- class.
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- addBR (boolean) optional
- If true, add <br/> before attribute.
- schemaLoc (String) optional
- Schema file containing this attribute declaration;
- if in current schema, 'schemaLoc' is set to 'this'.
- -->
- <xsl:template match="xsd:attribute[@name]" mode="sample">
- <xsl:param name="subTypeAttrs"/>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="addBR">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <!-- Get attribute namespace -->
- <xsl:variable name="attrNS">
- <xsl:call-template name="GetAttributeNS">
- <xsl:with-param name="attribute" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="contains($subTypeAttrs, concat('*', normalize-space($attrNS), '+', normalize-space(@name), '+'))">
- <!-- IGNORE: Sub type has attribute with same name;
- Sub-type's attribute declaration will override this
- one. -->
- </xsl:when>
- <xsl:when test="@use and normalize-space(@use)='prohibited'">
- <!-- IGNORE: Attribute is prohibited. -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="$addBR!='false'"><br/></xsl:if>
-
- <span style="margin-left: {$margin}em">
- <xsl:choose>
- <xsl:when test="$isNewField!='false'">
- <xsl:attribute name="class">newFields</xsl:attribute>
- </xsl:when>
- <xsl:when test="$isInherited!='false'">
- <xsl:attribute name="class">inherited</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:text> </xsl:text>
- <xsl:variable name="prefix">
- <xsl:call-template name="GetAttributePrefix">
- <xsl:with-param name="attribute" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix" select="$prefix"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:value-of select="@name"/>
- <xsl:text>="</xsl:text>
-
- <xsl:choose>
- <!-- Fixed value is provided -->
- <xsl:when test="@fixed">
- <span class="fixed">
- <xsl:value-of select="@fixed"/>
- </span>
- </xsl:when>
- <!-- Type reference is provided -->
- <xsl:when test="@type">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="@type"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Local type definition is provided -->
- <xsl:when test="xsd:simpleType">
- <xsl:apply-templates select="xsd:simpleType" mode="sample">
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <span class="type">anySimpleType</span>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- Don't print occurrence info and documentation
- for global attributes. -->
- <xsl:if test="local-name(..)!='schema'">
- <!-- Occurrence info-->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:text>"</xsl:text>
- </span>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation
- of an attribute reference.
- Param(s):
- subTypeAttrs (String) optional
- List of attribute in sub-types of the type that
- contains this attribute
- isInherited (boolean) optional
- If true, display attributes using 'inherited' CSS
- class.
- isNewField (boolean) optional
- If true, display attributes using 'newFields' CSS
- class.
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- addBR (boolean) optional
- If true, add <br/> before attribute.
- schemaLoc (String) optional
- Schema file containing this attribute reference;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template match="xsd:attribute[@ref]" mode="sample">
- <xsl:param name="subTypeAttrs"/>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="addBR">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <!-- Get attribute name -->
- <xsl:variable name="attrName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="@ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Get attribute namespace -->
- <xsl:variable name="attrNS">
- <xsl:call-template name="GetAttributeNS">
- <xsl:with-param name="attribute" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="contains($subTypeAttrs, concat('*', normalize-space($attrNS), '+', normalize-space($attrName), '+'))">
- <!-- IGNORE: Sub type has attribute with same name;
- Sub-type's attribute declaration will override this
- one. -->
- </xsl:when>
- <xsl:when test="@use and normalize-space(@use)='prohibited'">
- <!-- IGNORE: Attribute is prohibited. -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="$addBR!='false'"><br/></xsl:if>
-
- <span style="margin-left: {$margin}em">
- <xsl:choose>
- <xsl:when test="$isNewField!='false'">
- <xsl:attribute name="class">newFields</xsl:attribute>
- </xsl:when>
- <xsl:when test="$isInherited!='false'">
- <xsl:attribute name="class">inherited</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintAttributeRef">
- <xsl:with-param name="ref" select="@ref"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text>="</xsl:text>
- <!-- Fixed value is provided -->
- <xsl:if test="@fixed">
- <span class="fixed">
- <xsl:value-of select="@fixed"/>
- </span>
- <xsl:text> </xsl:text>
- </xsl:if>
- <!-- Print occurs info-->
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
-
- <xsl:text>"</xsl:text>
- </span>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation of an attribute
- group definition.
- Param(s):
- schemaLoc (String) optional
- Schema file containing this attribute group
- definition; if in current schema, 'schemaLoc' is
- set to 'this'.
- -->
- <xsl:template match="xsd:attributeGroup[@name]" mode="sample">
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:for-each select="xsd:attribute | xsd:attributeGroup | xsd:anyAttribute">
- <xsl:variable name="addBR">
- <xsl:choose>
- <xsl:when test="position()!=1">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:apply-templates select="." mode="sample">
- <xsl:with-param name="addBR" select="$addBR"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- </xsl:for-each>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation of an attribute
- group reference.
- Param(s):
- subTypeAttrs (String) optional
- List of attributes in sub-types of the type that
- contains this attribute group
- isInherited (boolean) optional
- If true, display attributes using 'inherited' CSS
- class.
- isNewField (boolean) optional
- If true, display attributes using 'newFields' CSS
- class.
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- parentGroups (String) optional
- List of parent attribute group definitions that
- contain this attribute group. Used to prevent
- infinite loops when displaying attribute group
- definitions. In such a case, writes out an error
- message and stops processing.
- schemaLoc (String) optional
- Schema file containing this attribute group
- reference if in current schema, 'schemaLoc' is
- set to 'this'.
- -->
- <xsl:template match="xsd:attributeGroup[@ref]" mode="sample">
- <xsl:param name="subTypeAttrs"/>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="parentGroups"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <!-- Get attribute group name -->
- <xsl:variable name="attrGrpName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="@ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="contains($parentGroups, concat('*', normalize-space($attrGrpName), '+'))">
- <!-- Circular attribute group definition -->
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">false</xsl:with-param>
- <xsl:with-param name="errorMsg">
- <xsl:text>Circular attribute group reference: </xsl:text>
- <xsl:value-of select="$attrGrpName"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- Look for attribute group definition -->
- <xsl:variable name="defLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="@ref"/>
- <xsl:with-param name="compType">attribute group</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Not found -->
- <xsl:when test="normalize-space($defLoc)='' or normalize-space($defLoc)='none' or normalize-space($defLoc)='xml' or normalize-space($defLoc)='xsd'">
- <div class="other" style="margin-left: {$margin}em">
- <xsl:text>Attribute group reference (not shown): </xsl:text>
- <xsl:call-template name="PrintAttributeGroupRef">
- <xsl:with-param name="ref" select="@ref"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </div>
- </xsl:when>
- <!-- Found in current schema -->
- <xsl:when test="normalize-space($defLoc)='this'">
- <xsl:variable name="attrGrpDef" select="key('attributeGroup', $attrGrpName)"/>
- <xsl:apply-templates select="$attrGrpDef/xsd:attribute | $attrGrpDef/xsd:attributeGroup" mode="sample">
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="concat($parentGroups, concat('*', normalize-space($attrGrpName), '+'))"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="addBR">true</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- </xsl:when>
- <!-- Found in external schema -->
- <xsl:otherwise>
- <xsl:variable name="attrGrpDef" select="document($defLoc)/xsd:schema/xsd:attributeGroup[@name=$attrGrpName]"/>
- <xsl:apply-templates select="$attrGrpDef/xsd:attribute | $attrGrpDef/xsd:attributeGroup" mode="sample">
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="concat($parentGroups, concat('*', normalize-space($attrGrpName), '+'))"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="addBR">true</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$defLoc"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance representation of a 'choice'
- model group.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- parentGroups (String) optional
- List of parent model group definitions that contain this
- model group. Used to prevent infinite loops when
- displaying model group definitions.
- schemaLoc (String) optional
- Schema file containing this choice model group;
- if in current schema, 'schemaLoc' is set to 'this'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template match="xsd:choice" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="parentGroups"/>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:if test="normalize-space(@maxOccurs)!='0'">
- <!-- Header -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>Start </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Choice</xsl:with-param>
- <xsl:with-param name="term">Choice</xsl:with-param>
- </xsl:call-template>
- <!-- Min/max occurrence -->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </span><br/>
-
- <!-- Content -->
- <xsl:apply-templates select="xsd:*" mode="sample">
- <xsl:with-param name="margin" select="number($margin)+number($ELEM_INDENT)"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="$parentGroups"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:apply-templates>
-
- <!-- Footer -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>End Choice</xsl:text>
- </span><br/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance from a complex type definition.
- Param(s):
- schemaLoc (String) optional
- Schema file containing this complex type definition;
- if in current schema, 'schemaLoc' is set to 'this'.
- -->
- <xsl:template match="xsd:complexType" mode="sample">
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:call-template name="PrintSampleComplexElement">
- <xsl:with-param name="type" select="."/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance from an element declaration.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- schemaLoc (String) optional
- Schema file containing this element declaration;
- if in current schema, 'schemaLoc' is set to 'this'.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template match="xsd:element[@name]" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:choose>
- <!-- Prohibited element declaration -->
- <xsl:when test="normalize-space(@maxOccurs)='0'">
- <!-- IGNORE if max occurs is zero -->
- </xsl:when>
- <!-- Global element declaration -->
- <xsl:when test="local-name(..)='schema'">
- <xsl:choose>
- <!-- With type reference -->
- <xsl:when test="@type">
- <xsl:variable name="elemTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="@type"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Look for complex type definition -->
- <xsl:variable name="defLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="@type"/>
- <xsl:with-param name="compType">complex type</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Complex type was found in current
- schema. -->
- <xsl:when test="normalize-space($defLoc)='this'">
- <xsl:variable name="ctype" select="key('complexType', $elemTypeName)"/>
- <xsl:call-template name="PrintSampleComplexElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="type" select="$ctype"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Complex type was not found. -->
- <xsl:when test="normalize-space($defLoc)='' or normalize-space($defLoc)='none' or normalize-space($defLoc)='xml' or normalize-space($defLoc)='xsd'">
- <xsl:call-template name="PrintSampleSimpleElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Complex type was found in external
- schema. -->
- <xsl:otherwise>
- <xsl:variable name="ctype" select="document($defLoc)/xsd:schema/xsd:complexType[@name=$elemTypeName]"/>
- <xsl:call-template name="PrintSampleComplexElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="type" select="$ctype"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- With local complex type definition -->
- <xsl:when test="xsd:complexType">
- <xsl:call-template name="PrintSampleComplexElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="type" select="xsd:complexType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="PrintSampleSimpleElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- Local element declaration -->
- <xsl:otherwise>
- <xsl:choose>
- <!-- With local complex type definition -->
- <xsl:when test="xsd:complexType">
- <xsl:call-template name="PrintSampleComplexElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="type" select="xsd:complexType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="PrintSampleSimpleElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance from an element
- reference.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- schemaLoc (String) optional
- Schema file containing this element reference;
- if in current schema, 'schemaLoc' is set to 'this'.
- -->
- <xsl:template match="xsd:element[@ref]" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:if test="normalize-space(@maxOccurs)!='0'">
- <xsl:call-template name="PrintSampleSimpleElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance from a group definition.
- Param(s):
- schemaLoc (String) optional
- Schema file containing this model group definition;
- if in current schema, 'schemaLoc' is set to 'this'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template match="xsd:group[@name]" mode="sample">
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:apply-templates select="xsd:*" mode="sample">
- <xsl:with-param name="parentGroups" select="concat('*', normalize-space(@name), '+')"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance from a group reference.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS
- class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS
- class.
- parentGroups (String) optional
- List of parent model group definitions that contain
- this model group. Used to prevent infinite loops
- when displaying model group definitions.
- schemaLoc (String) optional
- Schema file containing this model group reference;
- if in current schema, 'schemaLoc' is set to 'this'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template match="xsd:group[@ref]" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="parentGroups"/>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <!-- Get group name -->
- <xsl:variable name="grpName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="@ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Create link to the group definition -->
- <xsl:variable name="grpLink">
- <xsl:call-template name="PrintGroupRef">
- <xsl:with-param name="ref" select="@ref"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Get occurrence info -->
- <xsl:variable name="occursInfo">
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Circular group definition -->
- <xsl:when test="contains($parentGroups, concat('*', normalize-space($grpName), '+'))">
- <!-- Don't show contents -->
- <div class="other" style="margin-left: {$margin}em">
- <xsl:text>Circular model group reference: </xsl:text>
- <xsl:copy-of select="$grpLink"/>
- <!-- Occurrence info -->
- <xsl:text> </xsl:text>
- <xsl:copy-of select="$occursInfo"/>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </div>
- </xsl:when>
- <xsl:otherwise>
- <!-- Look for group definition -->
- <xsl:variable name="grpDefLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="@ref"/>
- <xsl:with-param name="compType">group</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Not found -->
- <xsl:when test="normalize-space($grpDefLoc)='' or normalize-space($grpDefLoc)='none' or normalize-space($grpDefLoc)='xml' or normalize-space($grpDefLoc)='xsd'">
- <div class="other" style="margin-left: {$margin}em">
- <xsl:text>Model group reference (not shown): </xsl:text>
- <xsl:copy-of select="$grpLink"/>
- <!-- Occurrence info -->
- <xsl:text> </xsl:text>
- <xsl:copy-of select="$occursInfo"/>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </div>
- </xsl:when>
- <!-- Found in current schema -->
- <xsl:when test="normalize-space($grpDefLoc)='this'">
- <xsl:variable name="grpDef" select="key('group', $grpName)"/>
- <xsl:call-template name="PrintSampleGroup">
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="concat($parentGroups, concat('*', normalize-space($grpName), '+'))"/>
- <xsl:with-param name="occursInfo" select="$occursInfo"/>
- <xsl:with-param name="grpLink" select="$grpLink"/>
- <xsl:with-param name="grpRef" select="."/>
- <xsl:with-param name="grpDef" select="$grpDef"/>
- <xsl:with-param name="grpDefLoc" select="$grpDefLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Found in external schema -->
- <xsl:otherwise>
- <xsl:variable name="grpDef" select="document($grpDefLoc)/xsd:schema/xsd:group[@name=$grpName]"/>
- <xsl:call-template name="PrintSampleGroup">
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="concat($parentGroups, concat('*', normalize-space($grpName), '+'))"/>
- <xsl:with-param name="occursInfo" select="$occursInfo"/>
- <xsl:with-param name="grpLink" select="$grpLink"/>
- <xsl:with-param name="grpRef" select="."/>
- <xsl:with-param name="grpDef" select="$grpDef"/>
- <xsl:with-param name="grpDefLoc" select="$grpDefLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a sample XML instance from a 'sequence' model group.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- parentGroups (String) optional
- List of parent model group definitions that contain
- this model group. Used to prevent infinite loops when
- displaying model group definitions.
- schemaLoc (String) optional
- Schema file containing this sequence model group;
- if in current schema, 'schemaLoc' is set to 'this'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template match="xsd:sequence" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="parentGroups"/>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:if test="normalize-space(@maxOccurs)!='0'">
- <!-- Get occurrence info -->
- <xsl:variable name="occursInfo">
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Header -->
- <xsl:if test="normalize-space($occursInfo)!='[1]'">
- <!-- Don't display header if min/max occurs is one. -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>Start </xsl:text>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Sequence</xsl:with-param>
- <xsl:with-param name="term">Sequence</xsl:with-param>
- </xsl:call-template>
-
- <xsl:text> </xsl:text>
- <xsl:copy-of select="$occursInfo"/>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </span><br/>
- </xsl:if>
-
- <xsl:apply-templates select="xsd:*" mode="sample">
- <xsl:with-param name="margin">
- <xsl:choose>
- <xsl:when test="normalize-space($occursInfo)='[1]'">
- <xsl:value-of select="$margin"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="number($margin)+number($ELEM_INDENT)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="$parentGroups"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:apply-templates>
-
- <!-- Footer -->
- <xsl:if test="normalize-space($occursInfo)!='[1]'">
- <!-- Don't display footer if min/max occurs is one. -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>End Sequence</xsl:text>
- </span><br/>
- </xsl:if>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out the constraints of a complex type with simple content
- to be displayed within a sample XML instance.
- Param(s):
- schemaLoc (String) optional
- Schema file containing this simple content
- restriction; if in current schema, 'schemaLoc' is
- set to 'this'
- -->
- <xsl:template match="xsd:simpleContent[xsd:restriction]" mode="sample">
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <span class="constraint">
- <xsl:call-template name="PrintSampleSimpleRestriction">
- <xsl:with-param name="restriction" select="./xsd:restriction"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </span>
- </xsl:template>
-
- <!--
- Prints out the constraints of a simple type definition to be
- displayed within a sample XML instance.
- Param(s):
- schemaLoc (String) optional
- Schema file containing this simple type definition;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template match="xsd:simpleType" mode="sample">
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <span class="constraint">
- <xsl:call-template name="PrintSampleSimpleConstraints">
- <xsl:with-param name="simpleContent" select="."/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </span>
- </xsl:template>
-
- <!--
- Prints out the identity constraints of an element to be displayed
- within a sample XML instance.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- schemaLoc (String) optional
- Schema file containing this simple type definition;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template match="xsd:unique | xsd:key | xsd:keyref" mode="sample">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <div class="other" style="margin-left: {$margin}em">
- <xsl:text>&lt;!-- </xsl:text><br/>
-
- <xsl:choose>
- <xsl:when test="local-name(.)='unique'">
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Unique</xsl:with-param>
- <xsl:with-param name="term">Uniqueness</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="local-name(.)='key'">
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">Key</xsl:with-param>
- <xsl:with-param name="term">Key</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">KeyRef</xsl:with-param>
- <xsl:with-param name="term">Key Reference</xsl:with-param>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> Constraint - </xsl:text>
- <strong>
- <xsl:choose>
- <xsl:when test="local-name(.)='keyref'">
- <xsl:value-of select="@name"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="componentID">
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <a name="{$componentID}"><xsl:value-of select="@name"/></a>
- </xsl:otherwise>
- </xsl:choose>
- </strong><br/>
-
- <xsl:text>Selector - </xsl:text>
- <strong>
- <xsl:value-of select="xsd:selector/@xpath"/>
- </strong><br/>
-
- <xsl:text>Field(s) - </xsl:text>
- <xsl:for-each select="xsd:field">
- <xsl:if test="position()!=1">
- <xsl:text>, </xsl:text>
- </xsl:if>
- <strong>
- <xsl:value-of select="@xpath"/>
- </strong>
- </xsl:for-each>
- <br/>
-
- <xsl:if test="local-name(.)='keyref'">
- <xsl:text>Refers to - </xsl:text>
- <xsl:call-template name="PrintKeyRef">
- <xsl:with-param name="ref" select="@refer"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <br/>
- </xsl:if>
-
- <xsl:text>--></xsl:text>
- </div>
- </xsl:template>
-
- <!--
- Unmatched template for 'sample' mode
- -->
- <xsl:template match="*" mode="sample"/>
-
- <!--
- Prints out a link which will open up a window, displaying a
- schema component's documentation.
- Param(s):
- component (Node) required
- Schema component
- -->
- <xsl:template name="PrintSampleDocumentation">
- <xsl:param name="component"/>
-
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true' and $component and $component/xsd:annotation/xsd:documentation">
- <xsl:variable name="documentation">
- <xsl:for-each select="$component/xsd:annotation/xsd:documentation">
- <!-- Check for two dashes, which will break the JavaScript
- code -->
- <xsl:if test="contains(., '--') or contains(@source, '--')">
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">true</xsl:with-param>
- <xsl:with-param name="errorMsg">
-A local schema component contains two dashes in
-'documentation' elements within its 'annotation' element.
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
-
- <xsl:if test="position()!=1">
- <xsl:text>,</xsl:text>
- </xsl:if>
- <xsl:text>'</xsl:text>
- <xsl:choose>
- <xsl:when test="@source">
- <xsl:text>More information at: </xsl:text>
- <xsl:call-template name="EscapeQuotes">
- <xsl:with-param name="value" select="@source"/>
- </xsl:call-template>
- <xsl:text>.</xsl:text>
- </xsl:when>
- <xsl:when test="normalize-space(.)!=''">
- <xsl:call-template name="EscapeQuotes">
- <xsl:with-param name="value" select="normalize-space(.)"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- <xsl:text>'</xsl:text>
- </xsl:for-each>
- </xsl:variable>
-
- <xsl:text> </xsl:text>
- <a href="javascript:void(0)" title="View Documentation" class="documentation">
- <!-- onclick attribute -->
- <xsl:attribute name="onclick">
- <xsl:text>docArray = new Array(</xsl:text>
- <xsl:value-of select="$documentation"/>
- <xsl:text>); viewDocumentation('</xsl:text>
- <xsl:call-template name="GetComponentDescription">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- <xsl:text>', '</xsl:text>
- <xsl:choose>
- <xsl:when test="$component/@name">
- <xsl:value-of select="$component/@name"/>
- </xsl:when>
- <xsl:when test="$component/@ref">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$component/@ref"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- <xsl:text>', docArray);</xsl:text>
- </xsl:attribute>
- <xsl:text>?</xsl:text>
- </a>
- </xsl:if>
- </xsl:template>
-
- <!--
- Translates occurrences of single and double quotes
- in a piece of text with single and double quote
- escape characters.
- Param(s):
- value (String) required
- Text to translate
- -->
- <xsl:template name="EscapeQuotes">
- <xsl:param name="value"/>
-
- <xsl:variable name="noSingleQuotes">
- <xsl:call-template name="TranslateStr">
- <xsl:with-param name="value" select="$value"/>
- <xsl:with-param name="strToReplace">'</xsl:with-param>
- <xsl:with-param name="replacementStr">\'</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="noDoubleQuotes">
- <xsl:call-template name="TranslateStr">
- <xsl:with-param name="value" select="$noSingleQuotes"/>
- <xsl:with-param name="strToReplace">"</xsl:with-param>
- <xsl:with-param name="replacementStr">\"</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="$noDoubleQuotes"/>
- </xsl:template>
-
- <!--
- Helper template for template, match="xsd:group[@ref]"
- mode="sample". Basically prints out a group reference, for
- which we are able to look up the group definition that it
- is referring to. This template is a work-around because XSLT
- doesn't have variables (in the traditional sense of
- programming languages) and it doesn't allow you to query
- result tree fragments.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- parentGroups (String) optional
- List of parent model group definitions that contain this
- model group. Used to prevent infinite loops when
- displaying model group definitions.
- occursInfo (Result tree fragment) required
- Pre-formatted occurrence info of group reference
- grpLink (Result tree fragment) required
- Pre-formatted <a> link representing group reference
- grpRef (Node) required
- Group reference
- grpDef (Node) required
- Group definition that the reference is pointing to
- grpDefLoc (String) optional
- Schema file containing 'grpDef' group definition;
- if current schema, 'schemaLoc' is set to 'this'
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSampleGroup">
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="parentGroups"/>
- <xsl:param name="occursInfo"/>
- <xsl:param name="grpLink"/>
- <xsl:param name="grpRef"/>
- <xsl:param name="grpDef"/>
- <xsl:param name="grpDefLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <!-- Header -->
- <xsl:if test="normalize-space($occursInfo)!='[1]'">
- <!-- Don't print out header if min/max occurs is one. -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>Start Group: </xsl:text>
- <xsl:copy-of select="$grpLink"/>
- <!-- Occurrence info -->
- <xsl:text> </xsl:text>
- <xsl:copy-of select="$occursInfo"/>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="$grpRef"/>
- </xsl:call-template>
- </span><br/>
- </xsl:if>
-
- <!-- Content -->
- <xsl:apply-templates select="$grpDef/xsd:*" mode="sample">
- <xsl:with-param name="margin">
- <xsl:choose>
- <xsl:when test="normalize-space($occursInfo)!='[1]'">
- <xsl:value-of select="number($margin)+number($ELEM_INDENT)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$margin"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="parentGroups" select="$parentGroups"/>
- <xsl:with-param name="schemaLoc" select="$grpDefLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:apply-templates>
-
- <!-- Footer -->
- <xsl:if test="normalize-space($occursInfo)!='[1]'">
- <!-- Don't print out footer if min/max occurs is one. -->
- <span class="group" style="margin-left: {$margin}em">
- <xsl:text>End Group: </xsl:text>
- <xsl:copy-of select="$grpLink"/>
- </span><br/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a sample element instance in one line.
- Param(s):
- element (Node) required
- Element declaration or reference
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display element using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display element using 'newFields' CSS class.
- schemaLoc (String) optional
- Schema file containing this element declaration
- or reference; if in current schema, 'schemaLoc' is
- set to 'this'.
- -->
- <xsl:template name="PrintSampleSimpleElement">
- <xsl:param name="element"/>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <!-- Element Tag -->
- <xsl:variable name="elemTag">
- <!-- Local Name -->
- <xsl:choose>
- <!-- Element reference -->
- <xsl:when test="$element/@ref">
- <!-- Note: Prefix will be automatically written out
- in call to 'PrintElementRef'. -->
- <xsl:call-template name="PrintElementRef">
- <xsl:with-param name="ref" select="@ref"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Element declaration -->
- <xsl:otherwise>
- <!-- Prefix -->
- <xsl:variable name="prefix">
- <xsl:call-template name="GetElementPrefix">
- <xsl:with-param name="element" select="$element"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix" select="$prefix"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:value-of select="$element/@name"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <div style="margin-left: {$margin}em">
- <xsl:choose>
- <xsl:when test="$isNewField!='false'">
- <xsl:attribute name="class">newFields</xsl:attribute>
- </xsl:when>
- <xsl:when test="$isInherited!='false'">
- <xsl:attribute name="class">inherited</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <!-- Start Tag -->
- <xsl:text>&lt;</xsl:text>
- <xsl:copy-of select="$elemTag"/>
- <xsl:text>></xsl:text>
-
- <!-- Contents -->
- <xsl:text> </xsl:text>
- <xsl:choose>
- <!-- Fixed value is provided -->
- <xsl:when test="$element/@fixed">
- <span class="fixed">
- <xsl:value-of select="$element/@fixed"/>
- </span>
- </xsl:when>
- <!-- Type reference is provided -->
- <xsl:when test="$element/@name and $element/@type">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$element/@type"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Local simple type definition is provided -->
- <xsl:when test="$element/@name and $element/xsd:simpleType">
- <xsl:apply-templates select="$element/xsd:simpleType" mode="sample">
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>...</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> </xsl:text>
-
- <!-- Identity Constraints -->
- <xsl:if test="$element/xsd:unique or $element/xsd:key or $element/xsd:keyref">
- <xsl:apply-templates select="$element/xsd:unique | $element/xsd:key | $element/xsd:keyref" mode="sample">
- <xsl:with-param name="margin" select="$ELEM_INDENT"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- </xsl:if>
-
- <!-- End Tag -->
- <xsl:text>&lt;/</xsl:text>
- <xsl:copy-of select="$elemTag"/>
- <xsl:text>></xsl:text>
-
- <xsl:if test="local-name($element/..)!='schema'">
- <!-- Min/max occurs information -->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="$element"/>
- </xsl:call-template>
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="$element"/>
- </xsl:call-template>
- </xsl:if>
- </div>
- </xsl:template>
-
- <!--
- Prints out a sample element instance that has complex content.
- Param(s):
- type (Node) required
- Complex type definition
- element (Node) optional
- Element declaration
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display element using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display element using 'newFields' CSS class.
- schemaLoc (String) optional
- Schema file containing this element declaration
- or type definition; if in current schema, 'schemaLoc'
- is set to 'this'.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSampleComplexElement">
- <xsl:param name="type"/>
- <xsl:param name="element"/>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="$type/@name and contains($typeList, concat('*', $type/@name, '+'))"/>
- <xsl:otherwise>
- <xsl:variable name="tag">
- <xsl:choose>
- <xsl:when test="$element">
- <!-- Prefix -->
- <xsl:variable name="prefix">
- <xsl:call-template name="GetElementPrefix">
- <xsl:with-param name="element" select="$element"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix" select="$prefix"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:value-of select="$element/@name"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>...</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="fromTopCType">
- <xsl:choose>
- <xsl:when test="not($element) and local-name($type/..)='schema'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <div style="margin-left: {$margin}em">
- <xsl:choose>
- <xsl:when test="$isNewField!='false'">
- <xsl:attribute name="class">newFields</xsl:attribute>
- </xsl:when>
- <xsl:when test="$isInherited!='false'">
- <xsl:attribute name="class">inherited</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <!-- Start Tag -->
- <xsl:text>&lt;</xsl:text>
- <xsl:copy-of select="$tag"/>
-
- <!-- Print attributes -->
- <xsl:call-template name="PrintSampleTypeAttrs">
- <xsl:with-param name="type" select="$type"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="margin" select="$ATTR_INDENT"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
-
- <!-- Get content -->
- <xsl:variable name="content">
- <xsl:call-template name="PrintSampleTypeContent">
- <xsl:with-param name="type" select="$type"/>
- <xsl:with-param name="margin" select="$ELEM_INDENT"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Find out if content type is mixed -->
- <xsl:variable name="mixed">
- <xsl:choose>
- <xsl:when test="normalize-space(translate($type/xsd:complexContent/@mixed, 'TRUE', 'true'))='true' or normalize-space($type/xsd:complexContent/@mixed)='1'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:when test="normalize-space(translate($type/@mixed, 'TRUE', 'true'))='true' or normalize-space($type/@mixed)='1'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Find out if there are identity constraints -->
- <xsl:variable name="hasIdConstraints">
- <xsl:if test="$element and ($element/xsd:unique or $element/xsd:key or $element/xsd:keyref)">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
-
- <!-- Print content -->
- <xsl:choose>
- <!-- Empty content -->
- <xsl:when test="$hasIdConstraints!='true' and normalize-space($content)=''">
- <!-- Close start tag -->
- <xsl:text>/> </xsl:text>
-
- <xsl:if test="$element and local-name($element/..)!='schema'">
- <!-- Occurrence info -->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="$element"/>
- </xsl:call-template>
-
- <!-- Documentation -->
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="$element"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <!-- Close start tag -->
- <xsl:text>> </xsl:text>
-
- <xsl:if test="$element and local-name($element/..)!='schema'">
- <!-- Occurrence info -->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="component" select="$element"/>
- </xsl:call-template>
-
- <!-- Documentation -->
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintSampleDocumentation">
- <xsl:with-param name="component" select="$element"/>
- </xsl:call-template>
- </xsl:if>
-
- <!-- Identity Constraints -->
- <xsl:if test="$element">
- <xsl:apply-templates select="$element/xsd:unique | $element/xsd:key | $element/xsd:keyref" mode="sample">
- <xsl:with-param name="margin" select="$ELEM_INDENT"/>
- </xsl:apply-templates>
- </xsl:if>
-
- <!-- Print out restriction/extension information -->
- <xsl:choose>
- <xsl:when test="false()">
- <!--<xsl:when test="$type/xsd:complexContent/xsd:restriction/@base">-->
- <br/><span class="other" style="margin-left: {$ELEM_INDENT}em">
- <xsl:text>&lt;!-- Restricts : </xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$type/xsd:complexContent/xsd:restriction/@base"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text> --></xsl:text>
- </span>
- </xsl:when>
- <xsl:when test="false()">
- <!--<xsl:when test="$type/xsd:complexContent/xsd:extension/@base">-->
- <br/><span class="other" style="margin-left: {$ELEM_INDENT}em">
- <xsl:text>&lt;!-- Extends : </xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$type/xsd:complexContent/xsd:extension/@base"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text> --></xsl:text>
- </span>
- </xsl:when>
- </xsl:choose>
-
- <!-- Print out message if has mixed content -->
- <xsl:if test="$mixed='true'">
- <br/><span class="other" style="margin-left: {$ELEM_INDENT}em">
- <xsl:text>&lt;!-- Mixed content --></xsl:text>
- </span>
- </xsl:if>
-
- <!-- Element Content -->
- <xsl:copy-of select="$content"/>
-
- <!-- End Tag -->
- <xsl:text>&lt;/</xsl:text>
- <xsl:copy-of select="$tag"/>
- <xsl:text>></xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </div>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out attributes of a complex type definition, including
- those inherited from a base type.
- Param(s):
- type (Node) required
- Complex type definition
- subTypeAttrs (String) optional
- List of attributes in sub-types of this current type
- definition
- isInherited (boolean) optional
- If true, display attributes using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display attributes using 'newFields' CSS class.
- fromTopCType (boolean) optional
- Set to true if this is being displayed in the XML
- Instance Representation table of a top-level complex
- type definition, in which case, 'inherited' attributes
- and elements are distinguished.
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- schemaLoc (String) optional
- Schema file containing this complex type definition;
- if in current schema, 'schemaLoc' is set to 'this'.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSampleTypeAttrs">
- <xsl:param name="type"/>
- <xsl:param name="subTypeAttrs"/>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="fromTopCType">false</xsl:param>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="$type/@name and contains($typeList, concat('*', $type/@name, '+'))">
- <!-- Do nothing.
- Error message will be written out by 'PrintSampleTypeContent' template.
- -->
- </xsl:when>
- <!-- Derivation -->
- <xsl:when test="$type/xsd:complexContent or $type/xsd:simpleContent">
- <xsl:choose>
- <xsl:when test="$type/xsd:complexContent/xsd:restriction">
- <xsl:call-template name="PrintSampleDerivedTypeAttrs">
- <xsl:with-param name="derivationElem" select="$type/xsd:complexContent/xsd:restriction"/>
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$type/xsd:simpleContent/xsd:restriction">
- <xsl:call-template name="PrintSampleDerivedTypeAttrs">
- <xsl:with-param name="derivationElem" select="$type/xsd:simpleContent/xsd:restriction"/>
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$type/xsd:complexContent/xsd:extension">
- <xsl:call-template name="PrintSampleDerivedTypeAttrs">
- <xsl:with-param name="derivationElem" select="$type/xsd:complexContent/xsd:extension"/>
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$type/xsd:simpleContent/xsd:extension">
- <xsl:call-template name="PrintSampleDerivedTypeAttrs">
- <xsl:with-param name="derivationElem" select="$type/xsd:simpleContent/xsd:extension"/>
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <!-- No derivation -->
- <xsl:when test="local-name($type)='complexType'">
- <xsl:call-template name="PrintSampleAttrList">
- <xsl:with-param name="list" select="$type"/>
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Ignore base types that are simple types -->
- </xsl:choose>
- </xsl:template>
-
- <!--
- Helper function 'PrintSampleTypeAttrs' template to
- handle case of derived types.
- Param(s):
- derivationElem (Node) required
- 'restriction' or 'extension' element
- subTypeAttrs (String) optional
- List of attributes in sub-types of
- this current type definition
- isInherited (boolean) optional
- If true, display attributes using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display attributes using 'newFields' CSS class.
- fromTopCType (boolean) optional
- Set to true if this is being displayed
- in the XML Instance Representation table
- of a top-level complex type definition, in
- which case, 'inherited' attributes and
- elements are distinguished.
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- schemaLoc (String) optional
- Schema file containing this derivation element;
- if in current schema, 'schemaLoc' is set to 'this'.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSampleDerivedTypeAttrs">
- <xsl:param name="derivationElem"/>
- <xsl:param name="subTypeAttrs"/>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="fromTopCType">false</xsl:param>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <!-- Get attributes from this type to add to
- 'subTypeAttrs' list for recursive call on base type -->
- <xsl:variable name="thisAttrs">
- <xsl:call-template name="GetAttrList">
- <xsl:with-param name="list" select="$derivationElem"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Look for base type -->
- <xsl:variable name="baseTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$derivationElem/@base"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="defLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="$derivationElem/@base"/>
- <xsl:with-param name="compType">complex type</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:choose>
- <!-- Complex type was found in current schema. -->
- <xsl:when test="normalize-space($defLoc)='this'">
- <xsl:variable name="ctype" select="key('complexType', $baseTypeName)"/>
- <xsl:call-template name="PrintSampleTypeAttrs">
- <xsl:with-param name="type" select="$ctype"/>
- <xsl:with-param name="subTypeAttrs" select="concat($subTypeAttrs, $thisAttrs)"/>
- <xsl:with-param name="isInherited">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Complex type was not found. -->
- <xsl:when test="normalize-space($defLoc)='' or normalize-space($defLoc)='none' or normalize-space($defLoc)='xml' or normalize-space($defLoc)='xsd'">
- <!-- IGNORE: Error message will be printed out be
- 'PrintSampleTypeContent' template. -->
- </xsl:when>
- <!-- Complex type was found in external schema. -->
- <xsl:otherwise>
- <xsl:variable name="ctype" select="document($defLoc)/xsd:schema/xsd:complexType[@name=$baseTypeName]"/>
- <xsl:call-template name="PrintSampleTypeAttrs">
- <xsl:with-param name="type" select="$ctype"/>
- <xsl:with-param name="subTypeAttrs" select="concat($subTypeAttrs, $thisAttrs)"/>
- <xsl:with-param name="isInherited">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$defLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- Print out attributes in this type -->
- <xsl:call-template name="PrintSampleAttrList">
- <xsl:with-param name="list" select="$derivationElem"/>
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false' and $isInherited='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Returns the names and namespaces of attributes
- in a list of attributes and attribute groups.
- Param(s):
- list (Node) required
- Node containing list of attributes and attribute groups
- -->
- <xsl:template name="GetAttrList">
- <xsl:param name="list"/>
-
- <xsl:if test="$list">
- <xsl:for-each select="$list/xsd:attribute | $list/xsd:attributeGroup | $list/xsd:anyAttribute">
- <xsl:choose>
- <!-- Attribute declaration -->
- <xsl:when test="local-name(.)='attribute' and @name">
- <!-- Get attribute name -->
- <xsl:variable name="attrName" select="@name"/>
- <!-- Get attribute namespace -->
- <xsl:variable name="attrNS">
- <xsl:call-template name="GetAttributeNS">
- <xsl:with-param name="attribute" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:value-of select="concat('*', normalize-space($attrNS), '+', normalize-space($attrName), '+')"/>
- </xsl:when>
- <!-- Attribute reference -->
- <xsl:when test="local-name(.)='attribute' and @ref">
- <!-- Get attribute name -->
- <xsl:variable name="attrName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="@ref"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Get attribute namespace -->
- <xsl:variable name="attrNS">
- <xsl:call-template name="GetAttributeNS">
- <xsl:with-param name="attribute" select="."/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:value-of select="concat('*', normalize-space($attrNS), '+', normalize-space($attrName), '+')"/>
- </xsl:when>
- <!-- Attribute Group reference -->
- <xsl:when test="local-name(.)='attributeGroup' and @ref">
- <xsl:variable name="attrGrpName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="@ref"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:call-template name="GetAttrList">
- <xsl:with-param name="list" select="key('attributeGroup', $attrGrpName)"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Attribute wildcard -->
- <xsl:when test="local-name(.)='anyAttribute'">
- </xsl:when>
- </xsl:choose>
- </xsl:for-each>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out sample XML instances from a list of attributes and
- attribute groups.
- Param(s):
- list (Node) required
- Node containing list of attributes and attribute groups
- subTypeAttrs (String) optional
- List of attributes in sub-types of
- the type definition containing this list
- isInherited (boolean) optional
- If true, display attributes using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display attributes using 'newFields' CSS class.
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- schemaLoc (String) optional
- Schema file containing this attribute list;
- if in current schema, 'schemaLoc' is set to 'this'.
- -->
- <xsl:template name="PrintSampleAttrList">
- <xsl:param name="list"/>
- <xsl:param name="subTypeAttrs"/>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:apply-templates select="$list/xsd:attribute | $list/xsd:attributeGroup | $list/xsd:anyAttribute" mode="sample">
- <xsl:with-param name="subTypeAttrs" select="$subTypeAttrs"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="addBR">true</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <!--
- Prints out the element content of a complex type definition,
- including those inherited from a base type.
- Param(s):
- type (Node) required
- Complex type definition
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- fromTopCType (boolean) optional
- Set to true if this is being displayed in the XML
- Instance Representation table of a top-level complex
- type definition, in which case, 'inherited' attributes
- and elements are distinguished.
- addBR (boolean) optional
- If true, can add <br/> before element content.
- Applicable only if displaying complex content.
- schemaLoc (String) optional
- Schema file containing this type definition;
- if in current schema, 'schemaLoc' is set to 'this'.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSampleTypeContent">
- <xsl:param name="type"/>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="fromTopCType">false</xsl:param>
- <xsl:param name="addBR">true</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:if test="$addBR='true'"><br/></xsl:if>
-
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="$type/@name and contains($typeList, concat('*', $type/@name, '+'))"/>
- <!-- Derivation by restriction on complex content -->
- <xsl:when test="$type/xsd:complexContent/xsd:restriction">
- <xsl:variable name="restriction" select="$type/xsd:complexContent/xsd:restriction"/>
-
- <!-- Test if base type is in schema to print out warning comment-->
- <xsl:variable name="baseTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$restriction/@base"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Look for base type -->
- <xsl:variable name="defLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="$restriction/@base"/>
- <xsl:with-param name="compType">complex type</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Complex type was not found. -->
- <xsl:when test="normalize-space($defLoc)='' or normalize-space($defLoc)='none' or normalize-space($defLoc)='xml' or normalize-space($defLoc)='xsd'">
- <div class="other" style="margin-left: {$margin}em;">
- <xsl:text>&lt;!-- '</xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$restriction/@base"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text>' super type was not found in this schema. Some elements and attributes may be missing. --></xsl:text>
- </div>
- </xsl:when>
- <!-- Complex type was found. -->
- <xsl:otherwise>
- <!-- IGNORE element content of base type if by restriction,
- since current content will override restricted
- base type's content. -->
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- Print out content from this type -->
- <xsl:if test="$restriction/xsd:*[local-name(.)!='annotation']">
- <xsl:call-template name="PrintSampleParticleList">
- <xsl:with-param name="list" select="$restriction"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false' and $isInherited='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:when>
- <!-- Derivation by extension on complex content -->
- <xsl:when test="$type/xsd:complexContent/xsd:extension">
- <xsl:variable name="extension" select="$type/xsd:complexContent/xsd:extension"/>
-
- <xsl:variable name="baseTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$extension/@base"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="contains($typeList, concat('*', $baseTypeName, '+'))">
- <div class="other" style="margin-left: {$margin}em">
- <xsl:text>&lt;-- Extends: </xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$extension/@base"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text> (Circular type hierarchy) --&gt;</xsl:text>
- </div>
- </xsl:when>
- <xsl:otherwise>
- <!-- Look for base type -->
- <xsl:variable name="defLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="$extension/@base"/>
- <xsl:with-param name="compType">complex type</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Complex type was found in current schema. -->
- <xsl:when test="normalize-space($defLoc)='this'">
- <xsl:variable name="ctype" select="key('complexType', $baseTypeName)"/>
- <xsl:call-template name="PrintSampleTypeContent">
- <xsl:with-param name="type" select="$ctype"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="addBR">false</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Complex type was not found. -->
- <xsl:when test="normalize-space($defLoc)='' or normalize-space($defLoc)='none' or normalize-space($defLoc)='xml' or normalize-space($defLoc)='xsd'">
- <div class="other" style="margin-left: {$margin}em;">
- <xsl:text>&lt;!-- '</xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$extension/@base"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text>' super type was not found in this schema. Some elements and attributes may be missing. --></xsl:text>
- </div>
- </xsl:when>
- <!-- Complex type was found in external schema. -->
- <xsl:otherwise>
- <xsl:variable name="ctype" select="document($defLoc)/xsd:schema/xsd:complexType[@name=$baseTypeName]"/>
- <xsl:call-template name="PrintSampleTypeContent">
- <xsl:with-param name="type" select="$ctype"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="fromTopCType" select="$fromTopCType"/>
- <xsl:with-param name="addBR">false</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$defLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- Print out content from this type -->
- <xsl:if test="$extension/xsd:*[local-name(.)!='annotation']">
- <xsl:call-template name="PrintSampleParticleList">
- <xsl:with-param name="list" select="$extension"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField">
- <xsl:choose>
- <xsl:when test="$fromTopCType!='false' and $isInherited='false'">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- Derivation by restriction on simple content -->
- <xsl:when test="$type/xsd:simpleContent/xsd:restriction">
- <!-- Print out simple type constraints-->
- <span style="margin-left: {$margin}em">
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="$type/xsd:simpleContent" mode="sample">
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:apply-templates>
- <xsl:text> </xsl:text>
- </span><br/>
- </xsl:when>
- <!-- Derivation by extension on simple content -->
- <xsl:when test="$type/xsd:simpleContent/xsd:extension">
- <!-- Print out base type name -->
- <span style="margin-left: {$margin}em">
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$type/xsd:simpleContent/xsd:extension/@base"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text> </xsl:text>
- </span><br/>
- </xsl:when>
- <!-- No derivation: complex type definition -->
- <xsl:when test="local-name($type)='complexType'">
- <!-- Print out content from this type -->
- <xsl:call-template name="PrintSampleParticleList">
- <xsl:with-param name="list" select="$type"/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="concat($typeList, '*', $type/@name, '+')"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out sample XML instances from a list of
- element particle.
- Param(s):
- list (Node) required
- Node containing list of element particles
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- isInherited (boolean) optional
- If true, display elements using 'inherited' CSS class.
- isNewField (boolean) optional
- If true, display elements using 'newFields' CSS class.
- schemaLoc (String) optional
- Schema file containing this particle list;
- if in current schema, 'schemaLoc' is set to 'this'.
- typeList (String) optional
- List of types in this call chain. Name of type starts
- with '*', and ends with '+'. (Used to prevent infinite
- recursive loop.)
- -->
- <xsl:template name="PrintSampleParticleList">
- <xsl:param name="list"/>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="isInherited">false</xsl:param>
- <xsl:param name="isNewField">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:if test="$list">
- <xsl:apply-templates select="$list/xsd:group | $list/xsd:sequence | $list/xsd:choice | $list/xsd:all | $list/xsd:element" mode="sample">
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="isInherited" select="$isInherited"/>
- <xsl:with-param name="isNewField" select="$isNewField"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:apply-templates>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out the constraints of simple content
- to be displayed within a sample XML instance.
- Param(s):
- simpleContent (Node) required
- Node containing with the simple content
- schemaLoc (String) optional
- Schema file containing these simple constraints;
- if in current schema, 'schemaLoc' is set to 'this'.
- -->
- <xsl:template name="PrintSampleSimpleConstraints">
- <xsl:param name="simpleContent"/>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:choose>
- <!-- Derivation by restriction -->
- <xsl:when test="$simpleContent/xsd:restriction">
- <xsl:call-template name="PrintSampleSimpleRestriction">
- <xsl:with-param name="restriction" select="$simpleContent/xsd:restriction"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Derivation by list -->
- <xsl:when test="$simpleContent/xsd:list">
- <xsl:choose>
- <xsl:when test="$simpleContent/xsd:list/@itemType">
- <xsl:text>list of: </xsl:text>
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$simpleContent/xsd:list/@itemType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>list of: [ </xsl:text>
- <xsl:call-template name="PrintSampleSimpleConstraints">
- <xsl:with-param name="simpleContent" select="$simpleContent/xsd:list/xsd:simpleType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text> ]</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- Derivation by union -->
- <xsl:when test="$simpleContent/xsd:union">
- <xsl:text>union of: [ </xsl:text>
-
- <xsl:variable name="hasMemberTypes">
- <xsl:if test="normalize-space($simpleContent/xsd:union/@memberTypes)!=''">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
- <xsl:if test="$hasMemberTypes='true'">
- <xsl:call-template name="PrintWhitespaceList">
- <xsl:with-param name="value" select="$simpleContent/xsd:union/@memberTypes"/>
- <xsl:with-param name="compType">type</xsl:with-param>
- <xsl:with-param name="separator">,</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:for-each select="$simpleContent/xsd:union/xsd:simpleType">
- <xsl:if test="position()!=1 or $hasMemberTypes='true'">
- <xsl:text>, </xsl:text>
- </xsl:if>
- <xsl:text>[ </xsl:text>
- <xsl:call-template name="PrintSampleSimpleConstraints">
- <xsl:with-param name="simpleContent" select="."/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <xsl:text> ]</xsl:text>
- </xsl:for-each>
-
- <xsl:text> ]</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out the constraints of simple content
- derived by restriction, which is to be displayed
- within a sample XML instance.
- Param(s):
- restriction (Node) required
- Node containing with the restriction
- schemaLoc (String) optional
- Schema file containing this restriction element;
- if in current schema, 'schemaLoc' is set to 'this'.
- -->
- <xsl:template name="PrintSampleSimpleRestriction">
- <xsl:param name="restriction"/>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="typeList"/>
-
- <xsl:variable name="typeName" select="$restriction/parent::xsd:simpleType/@name"/>
-
- <!-- Print out base type info -->
- <xsl:choose>
- <!-- Circular type hierarchy -->
- <xsl:when test="$typeName != '' and contains($typeList, concat('*', $typeName, '+'))">
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">false</xsl:with-param>
- <xsl:with-param name="errorMsg">
- <xsl:text>Circular type reference to '</xsl:text>
- <xsl:value-of select="$typeName"/>
- <xsl:text>' in type hierarchy.</xsl:text>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <!-- Locally-defined base type -->
- <xsl:when test="$restriction/xsd:simpleType">
- <xsl:call-template name="PrintSampleSimpleConstraints">
- <xsl:with-param name="simpleContent" select="$restriction/xsd:simpleType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- <xsl:with-param name="typeList" select="$typeList"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Base type reference -->
- <xsl:when test="$restriction">
- <xsl:variable name="baseTypeRef" select="$restriction/@base"/>
- <xsl:variable name="baseTypeName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="baseTypeNS">
- <xsl:call-template name="GetRefNS">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Write out reference to base type -->
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="$baseTypeRef"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
-
- <!-- Regular Expression Pattern -->
- <xsl:variable name="pattern">
- <xsl:call-template name="PrintPatternFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Range -->
- <xsl:variable name="range">
- <xsl:call-template name="PrintRangeFacets">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
- <!-- Length -->
- <xsl:variable name="length">
- <xsl:call-template name="PrintLengthFacets">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Print out facets -->
- <xsl:if test="$restriction/xsd:enumeration">
- <xsl:text> (</xsl:text>
- <xsl:call-template name="PrintEnumFacets">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- <xsl:text>)</xsl:text>
- </xsl:if>
- <xsl:if test="$pattern !=''">
- <xsl:text> (</xsl:text>
- <xsl:copy-of select="$pattern"/>
- <xsl:text>)</xsl:text>
- </xsl:if>
- <xsl:if test="$range !=''">
- <xsl:text> (</xsl:text>
- <xsl:copy-of select="$range"/>
- <xsl:text>)</xsl:text>
- </xsl:if>
- <xsl:if test="$restriction/xsd:totalDigits">
- <xsl:text> (</xsl:text>
- <xsl:call-template name="PrintTotalDigitsFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- <xsl:text>)</xsl:text>
- </xsl:if>
- <xsl:if test="$restriction/xsd:fractionDigits">
- <xsl:text> (</xsl:text>
- <xsl:call-template name="PrintFractionDigitsFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- <xsl:text>)</xsl:text>
- </xsl:if>
- <xsl:if test="$length !=''">
- <xsl:text> (</xsl:text>
- <xsl:copy-of select="$length"/>
- <xsl:text>)</xsl:text>
- </xsl:if>
- <xsl:if test="$restriction/xsd:whiteSpace">
- <xsl:text> (</xsl:text>
- <xsl:call-template name="PrintWhitespaceFacet">
- <xsl:with-param name="simpleRestrict" select="$restriction"/>
- </xsl:call-template>
- <xsl:text>)</xsl:text>
- </xsl:if>
- </xsl:template>
-
- <!-- ******** Schema Component Representation table ******** -->
-
- <!--
- Prints out the Schema Component Representation table
- for a top-level schema component.
- Param(s):
- component (Node) required
- Top-level schema component
- -->
- <xsl:template name="SchemaComponentTable">
- <xsl:param name="component"/>
-
- <xsl:variable name="componentID">
- <xsl:call-template name="GetComponentID">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:call-template name="CollapseableBox">
- <xsl:with-param name="id" select="concat($componentID, '_scbox')"/>
- <xsl:with-param name="styleClass">schemaComponent</xsl:with-param>
- <xsl:with-param name="caption">Schema Component Representation</xsl:with-param>
- <xsl:with-param name="contents">
- <xsl:apply-templates select="$component" mode="schemaComponent"/>
- </xsl:with-param>
- <xsl:with-param name="isOpened">false</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- declarations.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:attribute[@name] | xsd:element[@name]" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: name -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">name</xsl:with-param>
- <xsl:with-param name="attrValue" select="normalize-space(@name)"/>
- </xsl:call-template>
- <!-- Attribute: type -->
- <xsl:if test="@type">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">type</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="normalize-space(@type)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*name+*type+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- definitions and key/uniqueness constraints.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:attributeGroup[@name] | xsd:complexType[@name] | xsd:simpleType[@name] | xsd:group[@name] | xsd:key | xsd:unique" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: name -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">name</xsl:with-param>
- <xsl:with-param name="attrValue" select="normalize-space(@name)"/>
- </xsl:call-template>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*name+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of attribute
- references.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:attribute[@ref]" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: ref -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">ref</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintAttributeRef">
- <xsl:with-param name="ref" select="normalize-space(@ref)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*ref+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of attribute group
- references.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:attributeGroup[@ref]" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: ref -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">ref</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintAttributeGroupRef">
- <xsl:with-param name="ref" select="normalize-space(@ref)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*ref+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of element
- references.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:element[@ref]" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: ref -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">ref</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintElementRef">
- <xsl:with-param name="ref" select="normalize-space(@ref)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*ref+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of model group
- references.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:group[@ref]" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: ref -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">ref</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintGroupRef">
- <xsl:with-param name="ref" select="normalize-space(@ref)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*ref+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- 'appinfo' and 'documentation' elements.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:appinfo | xsd:documentation" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: source -->
- <xsl:if test="@source">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">source</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintURI">
- <xsl:with-param name="uri" select="normalize-space(@source)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*source+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="hasAnyContent">true</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- key reference constraints.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:keyref" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: name -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">name</xsl:with-param>
- <xsl:with-param name="attrValue" select="normalize-space(@name)"/>
- </xsl:call-template>
- <!-- Attribute: refers -->
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">refer</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintKeyRef">
- <xsl:with-param name="ref">
- <xsl:value-of select="normalize-space(@refer)"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*name+*refer+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- derivations by extension and restrictions.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:extension | xsd:restriction" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: base -->
- <xsl:if test="@base">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">base</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="normalize-space(@base)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*base+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- derivations by list.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:list" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: itemType-->
- <xsl:if test="@itemType">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">itemType</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintTypeRef">
- <xsl:with-param name="ref" select="normalize-space(@itemType)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*itemType+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- derivations by union.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:union" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: memberTypes-->
- <xsl:if test="@memberTypes">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">memberTypes</xsl:with-param>
- <xsl:with-param name="attrValue">
- <xsl:call-template name="PrintWhitespaceList">
- <xsl:with-param name="value" select="normalize-space(@memberTypes)"/>
- <xsl:with-param name="compType">type</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*memberTypes+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out schema component representation of
- the root schema element.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="xsd:schema" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <!-- Attribute: source -->
- <xsl:if test="@xml:lang">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName">xml:lang</xsl:with-param>
- <xsl:with-param name="attrValue" select="normalize-space(@xml:lang)"/>
- </xsl:call-template>
- </xsl:if>
- <!-- Other attributes -->
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="attrsNotToDisplay">*lang+</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="includeFilter">*include+*import+*redefine+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Default way to print out schema component representation.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="*" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <xsl:call-template name="DisplaySchemaComponent">
- <xsl:with-param name="component" select="."/>
- <xsl:with-param name="margin" select="$margin"/>
- <xsl:with-param name="attributes">
- <xsl:call-template name="DisplayOtherAttributes">
- <xsl:with-param name="component" select="."/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="excludeFilter">*annotation+</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Prints out comments in schema component representation.
- Param(s):
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- -->
- <xsl:template match="comment()" mode="schemaComponent">
- <xsl:param name="margin">0</xsl:param>
-
- <div class="comment" style="margin-left: {$margin}em">
- <xsl:text>&lt;--</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>--&gt;</xsl:text>
- </div>
- </xsl:template>
-
- <!--
- Displays a schema element in the correct format
- for the Schema Component Representation table, e.g.
- tags are one color, and content are another.
- Param(s):
- component (Node) required
- Schema element to be displayed
- attributes (Result Tree Fragment) optional
- Pre-formatted attributes of schema element
- margin (nonNegativeInteger) optional
- Number of 'em' to indent from left
- hasAnyContent (boolean) optional
- Set to true if schema element can accept
- child elements from namespaces other than
- the schema namespace, e.g. 'documentation'
- and 'appinfo'
- includeFilter (String) optional
- List of element names, sandwiched between the
- characters, '*' and '+'. If specified, only the
- child elements of the component with tags in
- the list will be displayed.
- excludeFilter (String) optional
- List of element names, sandwiched between the
- characters, '*' and '+'. If specified, display
- all child elements of the component, except
- those with tags in the list.
- -->
- <xsl:template name="DisplaySchemaComponent">
- <xsl:param name="component"/>
- <xsl:param name="attributes"/>
- <xsl:param name="margin">0</xsl:param>
- <xsl:param name="hasAnyContent">false</xsl:param>
- <xsl:param name="includeFilter"/>
- <xsl:param name="excludeFilter"/>
-
- <xsl:variable name="tag">
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix">
- <xsl:call-template name="GetXSDPrefix"/>
- </xsl:with-param>
- <xsl:with-param name="nolink">true</xsl:with-param>
- </xsl:call-template>
- <xsl:value-of select="local-name($component)"/>
- </xsl:variable>
-
- <div style="margin-left: {$margin}em">
- <!-- Start Tag -->
- <xsl:text>&lt;</xsl:text>
- <span class="scTag">
- <xsl:copy-of select="$tag"/>
- </span>
- <!-- Attributes -->
- <xsl:copy-of select="$attributes"/>
- <!-- Content -->
- <xsl:variable name="content">
- <xsl:choose>
- <!-- Include filter is on -->
- <xsl:when test="$includeFilter!=''">
- <xsl:apply-templates select="$component/xsd:*[contains($includeFilter, concat('*', local-name(.), '+'))]" mode="schemaComponent">
- <xsl:with-param name="margin" select="$ELEM_INDENT"/>
- </xsl:apply-templates>
- <div class="scContent" style="margin-left: {$ELEM_INDENT}em">...</div>
- </xsl:when>
- <!-- Exclude filter is on -->
- <xsl:when test="$excludeFilter!=''">
- <xsl:apply-templates select="comment() | $component/xsd:*[not(contains($excludeFilter, concat('*', local-name(.), '+')))]" mode="schemaComponent">
- <xsl:with-param name="margin" select="$ELEM_INDENT"/>
- </xsl:apply-templates>
- </xsl:when>
- <!-- Permits any content -->
- <xsl:when test="$hasAnyContent='true'">
- <div class="scContent" style="margin-left: {$ELEM_INDENT}em">
- <xsl:apply-templates select="comment() | $component/* | $component/text()" mode="xpp"/>
- </div>
- </xsl:when>
- <!-- Contains schema elements -->
- <xsl:otherwise>
- <xsl:apply-templates select="comment() | $component/xsd:*" mode="schemaComponent">
- <xsl:with-param name="margin" select="$ELEM_INDENT"/>
- </xsl:apply-templates>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Has content -->
- <xsl:when test="normalize-space($content)!=''">
- <!-- End of start tag -->
- <xsl:text>></xsl:text>
-
- <!-- Content -->
- <xsl:copy-of select="$content"/>
-
- <!-- End Tag -->
- <xsl:text>&lt;/</xsl:text>
- <span class="scTag">
- <xsl:copy-of select="$tag"/>
- </span>
- <xsl:text>></xsl:text>
- </xsl:when>
- <!-- Empty content -->
- <xsl:otherwise>
- <!-- End of start tag -->
- <xsl:text>/></xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </div>
- </xsl:template>
-
- <!--
- Displays a schema attribute in the correct format
- for the Schema Component Representation table, e.g.
- tags are one color, and content are another.
- Param(s):
- attrName (String) required
- Name of attribute
- attrValue (Result Tree Fragment) required
- Value of attribute, which may be links
- -->
- <xsl:template name="DisplayAttr">
- <xsl:param name="attrName"/>
- <xsl:param name="attrValue"/>
-
- <xsl:text> </xsl:text>
- <span class="scTag">
- <xsl:value-of select="$attrName"/>
- </span>
- <xsl:text>="</xsl:text>
- <xsl:if test="normalize-space($attrValue)!=''">
- <span class="scContent">
- <xsl:copy-of select="$attrValue"/>
- </span>
- </xsl:if>
- <xsl:text>"</xsl:text>
- </xsl:template>
-
- <!--
- Displays attributes from a schema element, unless
- otherwise specified, in the correct format
- for the Schema Component Representation table, e.g.
- tags are one color, and content are another.
- Param(s):
- component (Node) required
- Schema element whose attributes are to be displayed
- attrsNotToDisplay (String) required
- List of attributes not to be displayed
- Each attribute name should prepended with '*'
- and appended with '+'
- -->
- <xsl:template name="DisplayOtherAttributes">
- <xsl:param name="component"/>
- <xsl:param name="attrsNotToDisplay"/>
-
- <xsl:for-each select="$component/attribute::*">
- <xsl:variable name="attrName" select="local-name(.)"/>
- <xsl:if test="not(contains($attrsNotToDisplay, concat('*', $attrName, '+')))">
- <xsl:call-template name="DisplayAttr">
- <xsl:with-param name="attrName" select="normalize-space($attrName)"/>
- <xsl:with-param name="attrValue" select="normalize-space(.)"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
-
-
- <!-- ******** XML Pretty Printer ******** -->
-
- <!--
- Puts XHTML elements into the result.
- -->
- <xsl:template match="html:*" mode="html">
- <xsl:element name="{local-name(.)}">
- <xsl:for-each select="@*">
- <xsl:copy-of select="."/>
- </xsl:for-each>
- <xsl:apply-templates select="* | text()" mode="html"/>
- </xsl:element>
- </xsl:template>
-
- <!--
- Displays non-XHTML elements found within XHTML elements.
- -->
- <xsl:template match="*" mode="html">
- <xsl:call-template name="WriteElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="mode">html</xsl:with-param>
- </xsl:call-template>
- </xsl:template>
-
- <!--
- Displays text node.
- -->
- <xsl:template match="text()" mode="html">
- <xsl:value-of select="."/>
- </xsl:template>
-
- <!--
- Displays an arbitrary XML element.
- -->
- <xsl:template match="*" mode="xpp">
- <code>
- <xsl:call-template name="WriteElement">
- <xsl:with-param name="element" select="."/>
- <xsl:with-param name="mode">xpp</xsl:with-param>
- </xsl:call-template>
- </code>
- </xsl:template>
-
- <!--
- Displays an arbitrary XML text node.
- -->
- <xsl:template match="text()" mode="xpp">
- <xsl:value-of select="."/>
- </xsl:template>
-
- <!--
- Displays an XML comment.
- -->
- <xsl:template match="comment()" mode="xpp">
- <div class="comment">
- <xsl:text>&lt;--</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>--&gt;</xsl:text>
- </div>
- </xsl:template>
-
- <!--
- Displays an XML element in the documentation, e.g.
- tags are escaped.
- Param(s):
- element (Node) required
- XML element to display
- mode (xpp|html) required
- Which mode to invoke for child elements
- -->
- <xsl:template name="WriteElement">
- <xsl:param name="element"/>
- <xsl:param name="mode">xpp</xsl:param>
-
- <!-- Start Tag -->
- <xsl:text>&lt;</xsl:text>
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix">
- <xsl:call-template name="GetRefPrefix">
- <xsl:with-param name="ref" select="name($element)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <xsl:value-of select="local-name($element)"/>
- <!-- Attributes -->
- <xsl:for-each select="$element/@*">
- <xsl:text> </xsl:text>
- <xsl:value-of select="name(.)"/>
- <xsl:text>="</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>"</xsl:text>
- </xsl:for-each>
-
- <xsl:choose>
- <xsl:when test="$element/* | $element/text()">
- <!-- Close Start Tag -->
- <xsl:text>> </xsl:text>
- <!-- Content -->
- <xsl:choose>
- <xsl:when test="$mode!='xpp'">
- <xsl:apply-templates select="$element/* | $element/text()" mode="html"/>
- </xsl:when>
- <xsl:otherwise>
- <div style="margin-left: {$ELEM_INDENT}em">
- <xsl:apply-templates select="$element/* | $element/text()" mode="xpp"/>
- </div>
- </xsl:otherwise>
- </xsl:choose>
- <!-- End Tag -->
- <xsl:text>&lt;/</xsl:text>
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix">
- <xsl:call-template name="GetRefPrefix">
- <xsl:with-param name="ref" select="name($element)"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <xsl:value-of select="local-name($element)"/>
- <xsl:text>></xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <!-- Close Start Tag -->
- <xsl:text>/></xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- ******** Templates for Handling References ******** -->
-
- <!--
- Prints out a reference to a term in the glossary section.
- Param(s):
- code (String) required
- Unique ID of glossary term
- term (String) optional
- Glossary term
- -->
- <xsl:template name="PrintGlossaryTermRef">
- <xsl:param name="code"/>
- <xsl:param name="term"/>
-
- <xsl:choose>
- <xsl:when test="$code !='' and normalize-space(translate($printGlossary,'TRUE','true'))='true'">
- <a title="Look up '{$term}' in glossary" href="#{concat($TERM_PREFIX, $code)}">
- <xsl:choose>
- <xsl:when test="$term!=''">
- <xsl:value-of select="$term"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>[term]</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$term"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a reference to a namespace in the schema.
- Param(s):
- prefix (String) required
- Namespace prefix referenced
- schemaLoc (String) optional
- Schema file containing this namespace prefix;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintNamespaceRef">
- <xsl:param name="prefix"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:if test="$prefix!=''">
- <xsl:choose>
- <xsl:when test="/xsd:schema/namespace::*[local-name(.)=normalize-space($prefix)]">
- <xsl:variable name="link">
- <xsl:if test="normalize-space($schemaLoc)!='this'">
- <xsl:call-template name="GetSchemaDocLocation">
- <xsl:with-param name="uri" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:value-of select="concat('#', $NS_PREFIX, $prefix)"/>
- </xsl:variable>
- <a href="{$link}" title="Find out namespace of '{$prefix}' prefix">
- <xsl:value-of select="$prefix"/>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="title">
- <xsl:text>Unknown namespace prefix, </xsl:text>
- <xsl:value-of select="$prefix"/>
- <xsl:text>.</xsl:text>
- </xsl:variable>
- <a href="javascript:void(0)" onclick="alert('{$title}')" title="{$title}">
- <xsl:value-of select="$prefix"/>
- </a>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <!--
- Generates a link to an attribute.
- Param(s):
- name (String) optional
- Name of attribute
- ref (String) optional
- Reference to attribute
- (One of 'name' and 'ref' must be provided.)
- schemaLoc (String) optional
- Schema file containing this attribute reference
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintAttributeRef">
- <xsl:param name="name"/>
- <xsl:param name="ref"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$name!=''">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType">attribute</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$ref!=''">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType">attribute</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Generates a link to an attribute group.
- Param(s):
- name (String) optional
- Name of attribute group
- ref (String) optional
- Reference to attribute group
- (One of 'name' and 'ref' must be provided.)
- schemaLoc (String) optional
- Schema file containing this attribute group reference
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintAttributeGroupRef">
- <xsl:param name="name"/>
- <xsl:param name="ref"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$name!=''">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType">attribute group</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$ref!=''">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType">attribute group</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Generates a link to an element.
- Param(s):
- name (String) optional
- Name of element
- ref (String) optional
- Reference to element
- (One of 'name' and 'ref' must be provided.)
- schemaLoc (String) optional
- Schema file containing this element reference
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintElementRef">
- <xsl:param name="name"/>
- <xsl:param name="ref"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$name!=''">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType">element</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$ref!=''">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType">element</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Generates a link to a group.
- Param(s):
- name (String) optional
- Name of group
- ref (String) optional
- Reference to group
- (One of 'name' and 'ref' must be provided.)
- schemaLoc (String) optional
- Schema file containing this group reference
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintGroupRef">
- <xsl:param name="name"/>
- <xsl:param name="ref"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$name!=''">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType">group</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$ref!=''">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType">group</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Generates a link to a key/uniqueness constraint.
- Param(s):
- name (String) optional
- Name of key/uniqueness constraint
- ref (String) optional
- Reference to key/uniqueness constraint
- (One of 'name' and 'ref' must be provided.)
- schemaLoc (String) optional
- Schema file containing this key/uniqueness constraint
- reference; if in current schema, 'schemaLoc' is set
- to 'this'
- -->
- <xsl:template name="PrintKeyRef">
- <xsl:param name="name"/>
- <xsl:param name="ref"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$name!=''">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType">uniqueness/key constraint</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$ref!=''">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType">uniqueness/key constraint</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Generates a link to a type.
- Param(s):
- name (String) optional
- Name of type
- ref (String) optional
- Reference to type
- (One of 'name' and 'ref' must be provided.)
- schemaLoc (String) optional
- Schema file containing this type reference'
- if in current schema, 'schemaLoc' is set
- to 'this'
- -->
- <xsl:template name="PrintTypeRef">
- <xsl:param name="name"/>
- <xsl:param name="ref"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$name!=''">
- <span class="type">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType">type</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </span>
- </xsl:when>
- <xsl:when test="$ref!=''">
- <span class="type">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType">type</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </span>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a link to a schema component's section.
- Param(s):
- baseFile (String) optional
- Documentation file of schema containing this
- component.
- If this component belongs to the current schema,
- omit this variable.
- If this component is from an included or imported
- schema, provide this variable.
- name (String) required
- Name of schema component
- compType (String) required
- Type of schema component
- errMsg (String) optional
- Sentence fragment.
- If specified, link will open up an alert box with
- an error message. For example, if 'errMsg' was set
- to "could not be found", 'name' was "x", and
- 'compType' was "type", the error message would be:
- "x" type definition could not be found.
- The sentence fragment should not:
- -start with a capital letter.
- -have a space in front
- -end with a period.
- schemaLoc (String) optional
- Schema file containing this component;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintCompName">
- <xsl:param name="baseFile"/>
- <xsl:param name="name"/>
- <xsl:param name="compType"/>
- <xsl:param name="schemaLoc">this</xsl:param>
- <xsl:param name="errMsg"/>
-
- <!-- Get correct terminology for statements -->
- <xsl:variable name="noun">
- <xsl:choose>
- <xsl:when test="$compType='element' or $compType='attribute'">
- <xsl:text>declaration</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>definition</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Get prefix to use in anchor name. -->
- <xsl:variable name="compPrefix">
- <xsl:choose>
- <xsl:when test="$compType='attribute'">
- <xsl:value-of select="$ATTR_PREFIX"/>
- </xsl:when>
- <xsl:when test="$compType='attribute group'">
- <xsl:value-of select="$ATTR_GRP_PREFIX"/>
- </xsl:when>
- <xsl:when test="$compType='element'">
- <xsl:value-of select="$ELEM_PREFIX"/>
- </xsl:when>
- <xsl:when test="$compType='group'">
- <xsl:value-of select="$GRP_PREFIX"/>
- </xsl:when>
- <xsl:when test="$compType='type'">
- <xsl:value-of select="$TYPE_PREFIX"/>
- </xsl:when>
- <xsl:when test="$compType='uniqueness/key constraint'">
- <xsl:value-of select="$KEY_PREFIX"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Get base URI. -->
- <xsl:variable name="baseURI">
- <xsl:choose>
- <xsl:when test="$baseFile!=''">
- <xsl:value-of select="$baseFile"/>
- </xsl:when>
- <xsl:when test="normalize-space($schemaLoc)!='this'">
- <xsl:call-template name="GetSchemaDocLocation">
- <xsl:with-param name="uri" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Generate message. -->
- <xsl:variable name="title">
- <xsl:choose>
- <!-- Error message was provided. -->
- <xsl:when test="$errMsg!=''">
- <xsl:text>"</xsl:text><xsl:value-of select="$name"/><xsl:text>" </xsl:text>
- <xsl:value-of select="$compType"/><xsl:text> </xsl:text>
- <xsl:value-of select="$noun"/><xsl:text> </xsl:text>
- <xsl:value-of select="$errMsg"/>
- </xsl:when>
- <!-- There exists a link to the schema component's
- documentation. -->
- <xsl:otherwise>
- <xsl:text>Jump to "</xsl:text>
- <xsl:value-of select="$name"/>
- <xsl:text>" </xsl:text>
- <xsl:value-of select="$compType"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$noun"/>
- <!-- External link -->
- <xsl:if test="normalize-space($baseURI)!=''">
- <xsl:text>(located in external schema documentation)</xsl:text>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>.</xsl:text>
- </xsl:variable>
-
- <!-- Generate href link -->
- <xsl:variable name="link">
- <xsl:choose>
- <!-- Error message was provided. -->
- <xsl:when test="$errMsg!=''">
- <xsl:text>javascript:void(0)</xsl:text>
- </xsl:when>
- <!-- There exists a link to the schema component's
- documentation. -->
- <xsl:otherwise>
- <!-- Base URI -->
- <xsl:value-of select="normalize-space($baseURI)"/>
- <!-- Anchor within URI -->
- <xsl:value-of select="concat('#',normalize-space($compPrefix),normalize-space($name))"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <a title="{$title}" href="{$link}">
- <!-- External link -->
- <xsl:if test="normalize-space($baseURI)!=''">
- <xsl:attribute name="class">externalLink</xsl:attribute>
- </xsl:if>
-
- <!-- Error message was provided. -->
- <xsl:if test="$errMsg!=''">
- <xsl:attribute name="onclick">
- <xsl:text>alert('</xsl:text>
- <xsl:value-of select="$title"/>
- <xsl:text>');</xsl:text>
- </xsl:attribute>
- </xsl:if>
-
- <xsl:value-of select="$name"/>
- </a>
- </xsl:template>
-
- <!--
- Prints out a reference to a schema component.
- This template will try to work out which schema that this
- component belongs to and print out the appropriate link.
- component.
- It will also print out the namespace prefix given
- in the reference.
- Param(s):
- ref (String) required
- Reference to schema component
- compType (String) required
- Type of schema component
- schemaLoc (String) optional
- Schema file containing this component reference;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintCompRef">
- <xsl:param name="ref"/>
- <xsl:param name="compType"/>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <!-- Get correct terminology for statements -->
- <xsl:variable name="noun">
- <xsl:choose>
- <xsl:when test="$compType='element' or $compType='attribute'">
- <xsl:text>declaration</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>definition</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Get local name -->
- <xsl:variable name="refName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Get prefix -->
- <xsl:variable name="refPrefix">
- <xsl:call-template name="GetRefPrefix">
- <xsl:with-param name="ref" select="$ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Get prefix of this schema's target namespace -->
- <xsl:variable name="tnPrefix">
- <xsl:call-template name="GetThisPrefix"/>
- </xsl:variable>
-
- <!-- Get file location of the schema component that is
- being referenced. -->
- <xsl:variable name="compLoc">
- <xsl:call-template name="FindComponent">
- <xsl:with-param name="ref" select="$ref"/>
- <xsl:with-param name="compType" select="$compType"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Print prefix -->
- <xsl:call-template name="PrintNSPrefix">
- <xsl:with-param name="prefix" select="$refPrefix"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
-
- <!-- Print local name -->
- <xsl:choose>
- <!-- Component from XML Schema's or XML's namespace -->
- <xsl:when test="normalize-space($compLoc)='xsd' or normalize-space($compLoc)='xml'">
- <xsl:value-of select="$refName"/>
- </xsl:when>
- <!-- Component found in this schema. -->
- <xsl:when test="normalize-space($compLoc)='this'">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$refName"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Component not found. -->
- <xsl:when test="normalize-space($compLoc)='' or normalize-space($compLoc)='none'">
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="name" select="$refName"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="errMsg">could not be found</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <!-- Component found in an external schema. -->
- <xsl:otherwise>
- <!-- Get documentation file for included schema. -->
- <xsl:variable name="docFile">
- <xsl:call-template name="GetSchemaDocLocation">
- <xsl:with-param name="uri" select="$compLoc"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:call-template name="PrintCompName">
- <xsl:with-param name="baseFile" select="$docFile"/>
- <xsl:with-param name="name" select="$refName"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- ******** Templates for Finding Components in Different
- Schema documents ******** -->
-
- <!-- Special key words: xml, xsd, this, none -->
- <xsl:template name="FindComponent">
- <xsl:param name="ref"/>
- <xsl:param name="compType"/>
-
- <!-- Get local name -->
- <xsl:variable name="refName">
- <xsl:call-template name="GetRefName">
- <xsl:with-param name="ref" select="$ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Get prefix -->
- <xsl:variable name="refPrefix">
- <xsl:call-template name="GetRefPrefix">
- <xsl:with-param name="ref" select="$ref"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- Get prefix of this schema's target namespace -->
- <xsl:variable name="tnPrefix">
- <xsl:call-template name="GetThisPrefix"/>
- </xsl:variable>
-
- <!-- Get prefix of XML Schema -->
- <xsl:variable name="xsdPrefix">
- <xsl:call-template name="GetXSDPrefix"/>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Schema component from XML Schema's namespace,
- unless this schema is for XML Schema -->
- <xsl:when test="$refPrefix=$xsdPrefix and $xsdPrefix!=$tnPrefix">
- <xsl:text>xsd</xsl:text>
- </xsl:when>
- <!-- Schema component from XML's namespace -->
- <xsl:when test="$refPrefix='xml'">
- <xsl:text>xml</xsl:text>
- </xsl:when>
- <!-- Schema component from current schema's namespace -->
- <xsl:when test="$refPrefix=$tnPrefix">
- <xsl:call-template name="FindComponentInSchema">
- <xsl:with-param name="name" select="$refName"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schema" select="/xsd:schema"/>
- <xsl:with-param name="schemaFileLoc">this</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <!-- Schema component from imported namespace -->
- <xsl:when test="normalize-space(translate($searchImportedSchemas, 'TRUE', 'true'))='true'">
- <xsl:variable name="refNS" select="/xsd:schema/namespace::*[local-name(.)=normalize-space($refPrefix)]"/>
- <xsl:call-template name="FindComponentInImportedSchemas">
- <xsl:with-param name="name" select="$refName"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="compNS" select="$refNS"/>
- <xsl:with-param name="schema" select="/xsd:schema"/>
- <xsl:with-param name="index">1</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="FindComponentInSchema">
- <xsl:param name="name"/>
- <xsl:param name="compType"/>
- <xsl:param name="schema"/>
- <xsl:param name="schemaFileLoc"/>
- <xsl:param name="schemasSearched"/>
-
- <!-- Don't examine this schema if we've already
- searched it. Prevents infinite recursion.
- Also check if schema actually exists. -->
- <xsl:if test="$schema and not(contains($schemasSearched, concat('*', $schemaFileLoc, '+')))">
- <!-- Find out if the component is in this schema -->
- <xsl:variable name="thisResult">
- <xsl:call-template name="IsComponentInSchema">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schema" select="$schema"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Component found -->
- <xsl:when test="normalize-space($thisResult)='true'">
- <xsl:value-of select="$schemaFileLoc"/>
- </xsl:when>
- <!-- Component not found -->
- <xsl:when test="normalize-space(translate($searchIncludedSchemas, 'TRUE', 'true'))='true'">
- <!-- Search included schemas -->
- <xsl:variable name="includeResult">
- <xsl:call-template name="FindComponentInIncludedSchemas">
- <xsl:with-param name="schema" select="$schema"/>
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="index">1</xsl:with-param>
- <xsl:with-param name="schemasSearched" select="concat($schemasSearched, '*', $schemaFileLoc, '+')"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="normalize-space($includeResult)!='' and normalize-space($includeResult)!='none'">
- <xsl:value-of select="$includeResult"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- Search redefined schemas -->
- <xsl:call-template name="FindComponentInRedefinedSchemas">
- <xsl:with-param name="schema" select="$schema"/>
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="index">1</xsl:with-param>
- <xsl:with-param name="schemasSearched" select="concat($schemasSearched, '*', $schemaFileLoc, '+')"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="IsComponentInSchema">
- <xsl:param name="name"/>
- <xsl:param name="compType"/>
- <xsl:param name="schema"/>
-
- <xsl:choose>
- <!-- Schema not found. -->
- <xsl:when test="not($schema)">
- <xsl:text>false</xsl:text>
- </xsl:when>
- <!-- Search for attribute declaration. -->
- <xsl:when test="$compType='attribute' and $schema/xsd:attribute[@name=$name]">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Search for attribute group definition. -->
- <xsl:when test="$compType='attribute group' and ($schema/xsd:attributeGroup[@name=$name] or $schema/xsd:redefine/xsd:attributeGroup[@name=$name])">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Search for element declaration. -->
- <xsl:when test="$compType='element' and $schema/xsd:element[@name=$name]">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Search for group definition. -->
- <xsl:when test="$compType='group' and ($schema/xsd:group[@name=$name] or $schema/xsd:redefine/xsd:group[@name=$name])">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Search for complex type definition. -->
- <xsl:when test="($compType='type' or $compType='complex type') and ($schema/xsd:complexType[@name=$name] or $schema/xsd:redefine/xsd:complexType[@name=$name])">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Search for simple type definition. -->
- <xsl:when test="($compType='type' or $compType='simple type') and ($schema/xsd:simpleType[@name=$name] or $schema/xsd:redefine/xsd:simpleType[@name=$name])">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Search for uniqueness/key constraint definition. -->
- <xsl:when test="$compType='uniqueness/key constraint' and ($schema//xsd:element/xsd:key[@name=$name] or $schema//xsd:element/xsd:unique[@name=$name])">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <!-- Component not found. -->
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template name="FindComponentInIncludedSchemas">
- <xsl:param name="schema"/>
- <xsl:param name="name"/>
- <xsl:param name="compType"/>
- <xsl:param name="schemasSearched"/>
- <xsl:param name="index">1</xsl:param>
-
- <xsl:if test="count($schema/xsd:include) &gt;= number($index)">
- <!-- Get the 'schemaLocation' attribute of the 'include'
- element in this schema at position, 'index'. -->
- <xsl:variable name="schemaLoc" select="$schema/xsd:include[position()=$index]/@schemaLocation"/>
-
- <xsl:variable name="thisResult">
- <!-- Search for the component in the current
- included schema. -->
- <xsl:call-template name="FindComponentInSchema">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schema" select="document($schemaLoc)/xsd:schema"/>
- <xsl:with-param name="schemaFileLoc" select="$schemaLoc"/>
- <xsl:with-param name="schemasSearched" select="$schemasSearched"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Component was found, so return result. -->
- <xsl:when test="normalize-space($thisResult)!='' and normalize-space($thisResult)!='none'">
- <xsl:value-of select="$thisResult"/>
- </xsl:when>
- <!-- Component was not found, so keep on searching. -->
- <xsl:otherwise>
- <!-- Examine other included schemas in this schema -->
- <xsl:call-template name="FindComponentInIncludedSchemas">
- <xsl:with-param name="schema" select="$schema"/>
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="index" select="number($index)+1"/>
- <xsl:with-param name="schemasSearched" select="concat($schemasSearched, '*', $schemaLoc, '+')"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="FindComponentInRedefinedSchemas">
- <xsl:param name="schema"/>
- <xsl:param name="name"/>
- <xsl:param name="compType"/>
- <xsl:param name="schemasSearched"/>
- <xsl:param name="index">1</xsl:param>
-
- <xsl:if test="count($schema/xsd:redefine) &gt;= number($index)">
- <!-- Get the 'schemaLocation' attribute of the 'redefine'
- element in this schema at position, 'index'. -->
- <xsl:variable name="schemaLoc" select="$schema/xsd:redefine[position()=$index]/@schemaLocation"/>
-
- <xsl:variable name="thisResult">
- <!-- Search for the component in the current
- redefined schema. -->
- <xsl:call-template name="FindComponentInSchema">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schema" select="document($schemaLoc)/xsd:schema"/>
- <xsl:with-param name="schemaFileLoc" select="$schemaLoc"/>
- <xsl:with-param name="schemasSearched" select="$schemasSearched"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Component was found, so return result. -->
- <xsl:when test="normalize-space($thisResult)!='' and normalize-space($thisResult)!='none'">
- <xsl:value-of select="$thisResult"/>
- </xsl:when>
- <!-- Component was not found, so keep on searching. -->
- <xsl:otherwise>
- <!-- Examine other redefined schemas in this schema -->
- <xsl:call-template name="FindComponentInRedefinedSchemas">
- <xsl:with-param name="schema" select="$schema"/>
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="index" select="number($index)+1"/>
- <xsl:with-param name="schemasSearched" select="concat($schemasSearched, '*', $schemaLoc, '+')"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="FindComponentInImportedSchemas">
- <xsl:param name="schema"/>
- <xsl:param name="name"/>
- <xsl:param name="compType"/>
- <xsl:param name="compNS"/>
- <xsl:param name="schemasSearched"/>
- <xsl:param name="index">1</xsl:param>
-
- <xsl:if test="count($schema/xsd:import) &gt;= number($index)">
- <!-- Get the 'namespace' attribute of the 'import'
- element in this schema at position, 'index'. -->
- <xsl:variable name="schemaNS" select="$schema/xsd:import[position()=$index]/@namespace"/>
- <!-- Get the 'schemaLocation' attribute. -->
- <xsl:variable name="schemaLoc" select="$schema/xsd:import[position()=$index]/@schemaLocation"/>
-
- <xsl:variable name="thisResult">
- <!-- Check that the imported schema has the matching
- namespace as the component that we're looking
- for. -->
- <xsl:if test="normalize-space($compNS)=normalize-space($schemaNS)">
- <!-- Search for the component in the current
- imported schema. -->
- <xsl:call-template name="FindComponentInSchema">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schema" select="document($schemaLoc)/xsd:schema"/>
- <xsl:with-param name="schemaFileLoc" select="$schemaLoc"/>
- <xsl:with-param name="schemasSearched" select="$schemasSearched"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:variable>
-
- <xsl:choose>
- <!-- Component was found, so return result. -->
- <xsl:when test="normalize-space($thisResult)!='' and normalize-space($thisResult)!='none'">
- <xsl:value-of select="$thisResult"/>
- </xsl:when>
- <!-- Component was not found, so keep on searching. -->
- <xsl:otherwise>
- <!-- Examine other included schemas in this schema -->
- <xsl:call-template name="FindComponentInImportedSchemas">
- <xsl:with-param name="schema" select="$schema"/>
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="compNS" select="$compNS"/>
- <xsl:with-param name="index" select="number($index)+1"/>
- <xsl:with-param name="schemasSearched" select="concat($schemasSearched, '*', $schemaLoc, '+')"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
-
- <!-- ******** General Utility Templates ******** -->
-
- <!--
- Creates a box that can be opened and closed, such
- that the contents can be hidden away until a button
- is pressed.
- Param(s):
- id (String) required
- Unique ID of the 'div' box
- caption (String) required
- Text describing the contents of the box;
- it will always be shown even when the box
- is closed
- contents (String) required
- Contents of box, which may appear and disappear
- with the press of a button.
- anchor (String) optional
- Anchor, e.g. <a name="...", for this box
- styleClass (String) optional
- Additional CSS class for the entire collapseable box
- isOpened (String) optional
- Set to true if initially opened, and
- false if initially closed
- -->
- <xsl:template name="CollapseableBox">
- <xsl:param name="id"/>
- <xsl:param name="caption"/>
- <xsl:param name="contents"/>
- <xsl:param name="anchor"/>
- <xsl:param name="styleClass"/>
- <xsl:param name="isOpened">false</xsl:param>
-
- <xsl:variable name="buttonID" select="concat($id, '_button')"/>
-
- <div class="{$styleClass} box">
- <div>
- <!-- Button to control the opening and closing of the 'div' box -->
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <input type="button" id="{$buttonID}" class="control" onclick="switchState('{$id}'); return false;" style="display: none"/>
- <!--
- Button's 'display' property is set to 'none',
- so that button will only be displayed if
- box can be successfully opened and closed.
- -->
- </xsl:if>
- <!-- Box Title -->
- <xsl:text> </xsl:text>
- <span class="caption">
- <xsl:choose>
- <xsl:when test="$anchor != ''">
- <a name="{$anchor}">
- <xsl:value-of select="$caption"/>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$caption"/>
- </xsl:otherwise>
- </xsl:choose>
- </span>
- </div>
-
- <!-- Box Contents -->
- <div id="{$id}" class="contents">
- <xsl:copy-of select="$contents"/>
- </div>
- <xsl:if test="normalize-space(translate($useJavaScript,'TRUE','true'))='true'">
- <xsl:call-template name="PrintJSCode">
- <xsl:with-param name="code">setState('<xsl:value-of select="$id"/>', <xsl:value-of select="$isOpened"/>);</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </div>
- </xsl:template>
-
- <!--
- Returns the namespace of an attribute
- declaration or reference.
- Param(s):
- attribute (Node) required
- Attribute declaration or reference
- -->
- <xsl:template name="GetAttributeNS">
- <xsl:param name="attribute"/>
-
- <xsl:choose>
- <!-- Qualified local attribute declaration -->
- <xsl:when test="$attribute[@name] and (normalize-space(translate($attribute/@form, 'QUALIFED', 'qualifed'))='qualified' or normalize-space(translate(/xsd:schema/@attributeFormDefault, 'QUALIFED', 'qualifed'))='qualified')">
- <xsl:value-of select="/xsd:schema/@targetNamespace"/>
- </xsl:when>
- <!-- Reference to global attribute declaration -->
- <xsl:when test="$attribute[@ref]">
- <xsl:call-template name="GetRefNS">
- <xsl:with-param name="ref" select="$attribute/@ref"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Otherwise, attribute has no namespace -->
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the description that can be used in
- headers for a schema component.
- Param(s):
- component (Node) required
- Schema component
- -->
- <xsl:template name="GetComponentDescription">
- <xsl:param name="component"/>
-
- <xsl:choose>
- <xsl:when test="local-name($component)='all'">
- <xsl:text>All Model Group</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='attribute'">
- <xsl:text>Attribute</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='attributeGroup'">
- <xsl:text>Attribute Group</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='choice'">
- <xsl:text>Choice Model Group</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='complexType'">
- <xsl:text>Complex Type</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='element'">
- <xsl:text>Element</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='group'">
- <xsl:text>Model Group</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='notation'">
- <xsl:text>Notation</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='sequence'">
- <xsl:text>Sequence Model Group</xsl:text>
- </xsl:when>
- <xsl:when test="local-name($component)='simpleType'">
- <xsl:text>Simple Type</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">true</xsl:with-param>
- <xsl:with-param name="errorMsg">
-Unknown schema component, <xsl:value-of select="local-name($component)"/>.
- </xsl:with-param>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the unique identifier for a top-level schema
- component. Returns the string "schema" if the 'component'
- is the root schema element.
- Param(s):
- component (Node) required
- Schema component
- -->
- <xsl:template name="GetComponentID">
- <xsl:param name="component"/>
-
- <xsl:choose>
- <xsl:when test="local-name($component)='schema'">
- <xsl:text>schema</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="componentPrefix">
- <xsl:call-template name="GetComponentPrefix">
- <xsl:with-param name="component" select="$component"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="concat($componentPrefix, $component/@name)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the prefix to add in front of a schema component
- name when generating anchor names.
- Param(s):
- component (Node) required
- Schema component
- -->
- <xsl:template name="GetComponentPrefix">
- <xsl:param name="component"/>
-
- <xsl:choose>
- <xsl:when test="local-name($component)='attribute'">
- <xsl:value-of select="$ATTR_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='attributeGroup'">
- <xsl:value-of select="$ATTR_GRP_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='complexType'">
- <xsl:value-of select="$CTYPE_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='element'">
- <xsl:value-of select="$ELEM_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='group'">
- <xsl:value-of select="$GRP_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='notation'">
- <xsl:value-of select="$NOTA_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='simpleType'">
- <xsl:value-of select="$STYPE_PREFIX"/>
- </xsl:when>
- <xsl:when test="local-name($component)='key' or local-name($component)='unique'">
- <xsl:value-of select="$KEY_PREFIX"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">true</xsl:with-param>
- <xsl:with-param name="errorMsg">
-Unknown schema component, <xsl:value-of select="local-name($component)"/>.
- </xsl:with-param>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns a glossary term reference for the
- schema component type, if applicable.
- Param(s):
- component (Node) required
- Schema component
- -->
- <xsl:template name="GetComponentTermRef">
- <xsl:param name="component"/>
-
- <xsl:choose>
- <xsl:when test="local-name($component)='notation'">
- <xsl:text>Notation</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the namespace prefix of an attribute.
- Param(s):
- attribute (Node) required
- Attribute declaration or reference
- -->
- <xsl:template name="GetAttributePrefix">
- <xsl:param name="attribute"/>
-
- <xsl:choose>
- <!-- Element reference -->
- <xsl:when test="$attribute/@ref">
- <xsl:call-template name="GetRefPrefix">
- <xsl:with-param name="ref" select="$attribute/@ref"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Global element declaration -->
- <xsl:when test="local-name($attribute/..)='schema'">
- <xsl:call-template name="GetThisPrefix"/>
- </xsl:when>
- <!-- Local element declaration -->
- <xsl:otherwise>
- <xsl:if test="($attribute/@form and normalize-space($attribute/@form)='qualified') or (/xsd:schema/@attributeFormDefault and normalize-space(/xsd:schema/@attributeFormDefault)='qualified')">
- <xsl:call-template name="GetThisPrefix"/>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the namespace prefix of an element.
- Param(s):
- element (Node) required
- Element declaration or reference
- -->
- <xsl:template name="GetElementPrefix">
- <xsl:param name="element"/>
-
- <xsl:choose>
- <!-- Element reference -->
- <xsl:when test="$element/@ref">
- <xsl:call-template name="GetRefPrefix">
- <xsl:with-param name="ref" select="$element/@ref"/>
- </xsl:call-template>
- </xsl:when>
- <!-- Global element declaration -->
- <xsl:when test="local-name($element/..)='schema'">
- <xsl:call-template name="GetThisPrefix"/>
- </xsl:when>
- <!-- Local element declaration -->
- <xsl:otherwise>
- <xsl:if test="($element/@form and normalize-space($element/@form)='qualified') or (/xsd:schema/@elementFormDefault and normalize-space(/xsd:schema/@elementFormDefault)='qualified')">
- <xsl:call-template name="GetThisPrefix"/>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the local name of a reference.
- Param(s):
- ref (String) required
- Reference
- -->
- <xsl:template name="GetRefName">
- <xsl:param name="ref"/>
-
- <xsl:choose>
- <xsl:when test="contains($ref, ':')">
- <!-- Ref has namespace prefix -->
- <xsl:value-of select="substring-after($ref, ':')"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- Ref has no namespace prefix -->
- <xsl:value-of select="$ref"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Returns the namespace prefix of a reference.
- Param(s):
- ref (String) required
- Reference
- -->
- <xsl:template name="GetRefPrefix">
- <xsl:param name="ref"/>
- <!-- Get namespace prefix -->
- <xsl:value-of select="substring-before($ref, ':')"/>
- </xsl:template>
-
- <!--
- Returns the namespace of a reference.
- Param(s):
- ref (String) required
- Reference
- -->
- <xsl:template name="GetRefNS">
- <xsl:param name="ref"/>
- <!-- Get namespace prefix -->
- <xsl:variable name="refPrefix" select="substring-before($ref, ':')"/>
- <!-- Get namespace -->
- <xsl:value-of select="/xsd:schema/namespace::*[local-name(.)=normalize-space($refPrefix)]"/>
- </xsl:template>
-
- <!--
- Returns the declared prefix of this schema's target namespace.
- -->
- <xsl:template name="GetThisPrefix">
- <xsl:if test="/xsd:schema/@targetNamespace">
- <xsl:value-of select="local-name(/xsd:schema/namespace::*[normalize-space(.)=normalize-space(/xsd:schema/@targetNamespace)])"/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Returns the declared prefix of XML Schema namespace.
- -->
- <xsl:template name="GetXSDPrefix">
- <xsl:value-of select="local-name(/xsd:schema/namespace::*[normalize-space(.)=$XSD_NS])"/>
- </xsl:template>
-
- <!--
- Returns the schema documentation file location for a
- given URI for a schema, done by looking up the file
- specified in 'linksFile' variable.
- It'll throw a fatal error if a value for 'linksFile' was
- provided and the documentation file for 'uri' could not be
- found.
- Param(s):
- uri (String) required
- Location of schema file
- -->
- <xsl:template name="GetSchemaDocLocation">
- <xsl:param name="uri"/>
-
- <xsl:if test="$linksFile!=''">
- <xsl:variable name="schemaDocFile" select="document($linksFile)/ppp:links/ppp:schema[@file-location=$uri]/@docfile-location"/>
- <xsl:if test="$schemaDocFile=''">
- <xsl:call-template name="HandleError">
- <xsl:with-param name="isTerminating">true</xsl:with-param>
- <xsl:with-param name="errorMsg">
-Documentation file for the schema at, <xsl:value-of select="$uri"/>,
-was not specified in the links file, <xsl:value-of select="$linksFile"/>.
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <xsl:value-of select="$schemaDocFile"/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out a boolean value.
- Param(s):
- boolean (String) required
- Boolean value
- -->
- <xsl:template name="PrintBoolean">
- <xsl:param name="boolean"/>
-
- <xsl:choose>
- <xsl:when test="normalize-space(translate($boolean,'TRUE', 'true'))='true' or normalize-space($boolean)='1'">
- <xsl:text>yes</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>no</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out a link to the namespace of a prefix,
- and tacks on a colon in the end.
- Param(s):
- prefix (String) required
- Namespace prefix
- nolink (boolean) optional
- If true, doesn't provide a link to the
- namespace in the namespaces table.
- schemaLoc (String) optional
- Schema file containing this namespace prefix;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintNSPrefix">
- <xsl:param name="prefix"/>
- <xsl:param name="nolink">false</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:if test="$prefix!='' and normalize-space(translate($printNSPrefixes,'TRUE','true'))='true'">
- <xsl:choose>
- <xsl:when test="$nolink='false'">
- <xsl:call-template name="PrintNamespaceRef">
- <xsl:with-param name="prefix" select="$prefix"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$prefix"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>:</xsl:text>
- </xsl:if>
- </xsl:template>
-
- <!--
- Prints out the min/max occurrences of a schema component.
- Param(s):
- component (Node) optional
- Schema component
- minOccurs (String) optional
- Minimum occurrences
- maxOccurs (String) optional
- Maximum occurrences
- -->
- <xsl:template name="PrintOccurs">
- <xsl:param name="component"/>
- <xsl:param name="minOccurs"/>
- <xsl:param name="maxOccurs"/>
-
- <!-- Get min occurs -->
- <xsl:variable name="min">
- <xsl:choose>
- <xsl:when test="$component and local-name($component)='attribute'">
- <xsl:choose>
- <xsl:when test="normalize-space($component/@use)='required'">
- <xsl:text>1</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>0</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="$component and $component/@minOccurs">
- <xsl:value-of select="$component/@minOccurs"/>
- </xsl:when>
- <xsl:when test="$minOccurs != ''">
- <xsl:value-of select="$minOccurs"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>1</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Get max occurs -->
- <xsl:variable name="max">
- <xsl:choose>
- <xsl:when test="$component and local-name($component)='attribute'">
- <xsl:choose>
- <xsl:when test="normalize-space($component/@use)='prohibited'">
- <xsl:text>0</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>1</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="($component and normalize-space($component/@maxOccurs)='unbounded') or $maxOccurs='unbounded'">
- <xsl:text>*</xsl:text>
- </xsl:when>
- <xsl:when test="$component and $component/@maxOccurs">
- <xsl:value-of select="$component/@maxOccurs"/>
- </xsl:when>
- <xsl:when test="$maxOccurs != ''">
- <xsl:value-of select="$maxOccurs"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>1</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <span class="occurs">
- <xsl:choose>
- <xsl:when test="number($min)=1 and number($max)=1">
- <xsl:text>[1]</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>[</xsl:text>
- <xsl:value-of select="$min"/>
- <xsl:text>..</xsl:text>
- <xsl:value-of select="$max"/>
- <xsl:text>]</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </span>
- </xsl:template>
-
- <!--
- Translates occurrence of '#all' in 'block' value
- of element declarations.
- Param(s):
- EBV (String) required
- Value
- -->
- <xsl:template name="PrintBlockSet">
- <xsl:param name="EBV"/>
-
- <xsl:choose>
- <xsl:when test="normalize-space($EBV)='#all'">
- <xsl:text>restriction, extension, substitution</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$EBV"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Translates occurrence of '#all' in 'final' value
- of element declarations, and 'block' and 'final' values
- in complex type definitions.
- Param(s):
- EBV (String) required
- Value
- -->
- <xsl:template name="PrintDerivationSet">
- <xsl:param name="EBV"/>
-
- <xsl:choose>
- <xsl:when test="normalize-space($EBV)='#all'">
- <xsl:text>restriction, extension</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$EBV"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Translates occurrence of '#all' in 'final' value
- of simple type definitions.
- Param(s):
- EBV (String) required
- Value
- -->
- <xsl:template name="PrintSimpleDerivationSet">
- <xsl:param name="EBV"/>
-
- <xsl:choose>
- <xsl:when test="normalize-space($EBV)='#all'">
- <xsl:text>restriction, list, union</xsl:text>
- </xsl:when>
- <xsl:when test="normalize-space($EBV)!=''">
- <xsl:value-of select="$EBV"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Print out a URI. If it starts with 'http', a link is provided.
- Param(s):
- uri (String) required
- URI to be printed
- -->
- <xsl:template name="PrintURI">
- <xsl:param name="uri"/>
-
- <xsl:choose>
- <xsl:when test="starts-with($uri, 'http')">
- <a title="{$uri}" href="{$uri}">
- <xsl:value-of select="$uri"/>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$uri"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Print out a link to the documentation of schema document.
- For this happen, the 'linksFile' variable must be provided,
- it must point to an actual file, and in that file, there
- must be a mapping from the schema file location to the
- schema documentation file location.
- Param(s):
- uri (String) required
- Location of schema file
- -->
- <xsl:template name="PrintSchemaLink">
- <xsl:param name="uri"/>
-
- <xsl:variable name="docFileLoc">
- <xsl:call-template name="GetSchemaDocLocation">
- <xsl:with-param name="uri" select="$uri"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="$docFileLoc!=''">
- <a title="Jump to schema documentation for '{$uri}'." href="{$docFileLoc}">
- <xsl:value-of select="$uri"/>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$uri"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Tokenises a whitespace-separated list of values, and
- displays them appropriately.
- Param(s):
- value (String) required
- Whitespace-separated list
- compType (String) optional
- Specify schema component type if values in list are
- schema components, so appropriate links can be provided.
- isInList (boolean) optional
- If true, place each value within 'li' tags.
- Assumes that this template is called within an HTML
- list element.
- separator (String) optional
- Character(s) to use to separate resulting values in list.
- Only used if 'isInList' is false.
- If none is provided, uses a space character, ' '.
- isFirst (boolean) optional
- If false, it's a recursive call from 'PrintWhitespaceList'.
- schemaLoc (String) optional
- Schema file containing this all model group;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintWhitespaceList">
- <xsl:param name="value"/>
- <xsl:param name="compType"/>
- <xsl:param name="isInList">false</xsl:param>
- <xsl:param name="separator"/>
- <xsl:param name="isFirst">true</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:variable name="token" select="normalize-space(substring-before($value, ' '))"/>
- <xsl:choose>
- <xsl:when test="$token!=''">
- <!-- Whitespace found in value -->
- <!-- Print out token -->
- <xsl:call-template name="PrintWhitespaceListToken">
- <xsl:with-param name="token" select="$token"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="isInList" select="$isInList"/>
- <xsl:with-param name="separator" select="$separator"/>
- <xsl:with-param name="isFirst" select="$isFirst"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- <!-- Continue parsing -->
- <xsl:variable name="rest" select="normalize-space(substring-after($value, $token))"/>
- <xsl:if test="$rest!=''">
- <xsl:call-template name="PrintWhitespaceList">
- <xsl:with-param name="value" select="$rest"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="isInList" select="$isInList"/>
- <xsl:with-param name="separator" select="$separator"/>
- <xsl:with-param name="isFirst">false</xsl:with-param>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <!-- No more whitespaces -->
- <!-- Print out one last token -->
- <xsl:if test="normalize-space($value)!=''">
- <xsl:call-template name="PrintWhitespaceListToken">
- <xsl:with-param name="token" select="$value"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="isInList" select="$isInList"/>
- <xsl:with-param name="separator" select="$separator"/>
- <xsl:with-param name="isFirst" select="$isFirst"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Helper template for 'PrintWhitespaceList' template,
- which prints out one token in the list.
- Param(s):
- token (String) required
- Token to be printed
- compType (String) optional
- Schema component type of token, if applicable.
- isInList (boolean) optional
- If true, place token within 'li' tags.
- separator (String) optional
- Character(s) use to separate one token from another.
- Only used if 'isInList' is false.
- If none is provided, uses a space character, ' '.
- isFirst (boolean) optional
- If true, token is the first value in the list.
- schemaLoc (String) optional
- Schema file containing this all model group;
- if in current schema, 'schemaLoc' is set to 'this'
- -->
- <xsl:template name="PrintWhitespaceListToken">
- <xsl:param name="token"/>
- <xsl:param name="compType"/>
- <xsl:param name="isInList">false</xsl:param>
- <xsl:param name="separator"/>
- <xsl:param name="isFirst">true</xsl:param>
- <xsl:param name="schemaLoc">this</xsl:param>
-
- <xsl:variable name="displayValue">
- <xsl:choose>
- <xsl:when test="$compType!=''">
- <xsl:call-template name="PrintCompRef">
- <xsl:with-param name="ref" select="normalize-space($token)"/>
- <xsl:with-param name="compType" select="$compType"/>
- <xsl:with-param name="schemaLoc" select="$schemaLoc"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="normalize-space($token)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:choose>
- <xsl:when test="$isInList!='false'">
- <li>
- <xsl:copy-of select="$displayValue"/>
- </li>
- </xsl:when>
- <xsl:when test="$isFirst!='true'">
- <xsl:choose>
- <xsl:when test="$separator!=''">
- <xsl:value-of select="$separator"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text> </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:copy-of select="$displayValue"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$displayValue"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Print out a wildcard.
- Param(s):
- componentType (attribute|element) required
- XML Schema component type
- namespaces (String) required
- Namespace attribute of wildcard
- processContents (String) required
- Process contents attribute of wildcard
- namespaces (String) required
- Namespace attribute of wildcard
- -->
- <xsl:template name="PrintWildcard">
- <xsl:param name="componentType">element</xsl:param>
- <xsl:param name="namespace"/>
- <xsl:param name="processContents"/>
- <xsl:param name="minOccurs"/>
- <xsl:param name="maxOccurs"/>
-
- <xsl:text>Allow any </xsl:text>
- <xsl:value-of select="$componentType"/>
- <xsl:text>s from </xsl:text>
-
- <xsl:choose>
- <!-- ##any -->
- <xsl:when test="not($namespace) or normalize-space($namespace)='##any'">
- <xsl:text>any namespace</xsl:text>
- </xsl:when>
- <!-- ##other -->
- <xsl:when test="normalize-space($namespace)='##other'">
- <xsl:text>a namespace other than this schema's namespace</xsl:text>
- </xsl:when>
- <!-- ##targetNamespace, ##local, specific namespaces -->
- <xsl:otherwise>
- <!-- ##targetNamespace -->
- <xsl:variable name="hasTargetNS">
- <xsl:if test="contains($namespace, '##targetNamespace')">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
- <!-- ##local -->
- <xsl:variable name="hasLocalNS">
- <xsl:if test="contains($namespace, '##local')">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
- <!-- Specific namespaces -->
- <!-- Remove '##targetNamespace' string if any-->
- <xsl:variable name="temp">
- <xsl:choose>
- <xsl:when test="$hasTargetNS='true'">
- <xsl:value-of select="concat(substring-before($namespace, '##targetNamespace'), substring-after($namespace, '##targetNamespace'))"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$namespace"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Remove '##local' string if any -->
- <xsl:variable name="specificNS">
- <xsl:choose>
- <xsl:when test="$hasLocalNS='true'">
- <xsl:value-of select="concat(substring-before($temp, '##local'), substring-after($temp, '##local'))"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$temp"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="hasSpecificNS">
- <xsl:if test="normalize-space($specificNS)!=''">
- <xsl:text>true</xsl:text>
- </xsl:if>
- </xsl:variable>
-
- <xsl:if test="$hasLocalNS='true'">
- <xsl:text>no namespace</xsl:text>
- </xsl:if>
-
- <xsl:if test="$hasTargetNS='true'">
- <xsl:choose>
- <xsl:when test="$hasLocalNS='true' and $hasSpecificNS!='true'">
- <xsl:text> and </xsl:text>
- </xsl:when>
- <xsl:when test="$hasLocalNS='true'">
- <xsl:text>, </xsl:text>
- </xsl:when>
- </xsl:choose>
- <xsl:text>this schema's namespace</xsl:text>
- </xsl:if>
-
- <xsl:if test="$hasSpecificNS='true'">
- <xsl:choose>
- <xsl:when test="$hasTargetNS='true' and $hasLocalNS='true'">
- <xsl:text>, and </xsl:text>
- </xsl:when>
- <xsl:when test="$hasTargetNS='true' or $hasLocalNS='true'">
- <xsl:text> and </xsl:text>
- </xsl:when>
- </xsl:choose>
- <xsl:text>the following namespace(s): </xsl:text>
- <xsl:call-template name="PrintWhitespaceList">
- <xsl:with-param name="value" select="normalize-space($specificNS)"/>
- <xsl:with-param name="separator">,</xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- <!-- Process contents -->
- <xsl:text> (</xsl:text>
- <xsl:choose>
- <xsl:when test="$processContents">
- <xsl:value-of select="normalize-space($processContents)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>strict</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> validation)</xsl:text>
- <xsl:text>.</xsl:text>
-
- <!-- Print min/max occurs -->
- <xsl:if test="$componentType='element'">
- <xsl:text> </xsl:text>
- <xsl:call-template name="PrintOccurs">
- <xsl:with-param name="minOccurs" select="$minOccurs"/>
- <xsl:with-param name="maxOccurs" select="$maxOccurs"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <!--
- Print out the pattern property for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintPatternFacet">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:if test="$simpleRestrict/xsd:pattern">
- <em>pattern</em>
- <xsl:text> = </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:pattern/@value"/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Print out the total digits property for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintTotalDigitsFacet">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:if test="$simpleRestrict/xsd:totalDigits">
- <em>total no. of digits</em>
- <xsl:text> = </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:totalDigits/@value"/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Print out the fraction digits property for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintFractionDigitsFacet">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:if test="$simpleRestrict/xsd:fractionDigits">
- <em>
- <xsl:text>no. of fraction digits</xsl:text>
- </em>
- <xsl:text> = </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:fractionDigits/@value"/>
- </xsl:if>
- </xsl:template>
-
- <!--
- Print out the enumeration list for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintEnumFacets">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:if test="$simpleRestrict/xsd:enumeration">
- <em>value</em>
- <xsl:text> comes from list: {</xsl:text>
-
- <xsl:for-each select="$simpleRestrict/xsd:enumeration">
- <xsl:if test="position()!=1">
- <xsl:text>|</xsl:text>
- </xsl:if>
- <xsl:text>'</xsl:text>
- <xsl:value-of select="@value"/>
- <xsl:text>'</xsl:text>
- </xsl:for-each>
-
- <xsl:text>}</xsl:text>
- </xsl:if>
- </xsl:template>
-
- <!--
- Print out the length property for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintLengthFacets">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:choose>
- <xsl:when test="$simpleRestrict/xsd:length">
- <em>
- <xsl:text>length</xsl:text>
- </em>
- <xsl:text> = </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:length/@value"/>
- </xsl:when>
- <xsl:when test="$simpleRestrict/xsd:minLength">
- <em>
- <xsl:text>length</xsl:text>
- </em>
- <xsl:text> >= </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:minLength/@value"/>
- </xsl:when>
- <xsl:when test="$simpleRestrict/xsd:maxLength">
- <em>
- <xsl:text>length</xsl:text>
- </em>
- <xsl:text> &lt;= </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:maxLength/@value"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Print out the whitespace property for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintWhitespaceFacet">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:variable name="facetValue" select="normalize-space(translate($simpleRestrict/xsd:whiteSpace/@value, 'ACELOPRSV', 'aceloprsv'))"/>
-
- <xsl:choose>
- <xsl:when test="$facetValue='preserve'">
- <em>Whitespace policy: </em>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">PreserveWS</xsl:with-param>
- <xsl:with-param name="term">preserve</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$facetValue='replace'">
- <em>Whitespace policy: </em>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">ReplaceWS</xsl:with-param>
- <xsl:with-param name="term">replace</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$facetValue='collapse'">
- <em>Whitespace policy: </em>
- <xsl:call-template name="PrintGlossaryTermRef">
- <xsl:with-param name="code">CollapseWS</xsl:with-param>
- <xsl:with-param name="term">collapse</xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Print out the value ranges for derivations by
- restriction on simple content.
- Param(s):
- simpleRestrict (Node) required
- 'restriction' element
- -->
- <xsl:template name="PrintRangeFacets">
- <xsl:param name="simpleRestrict"/>
-
- <xsl:choose>
- <xsl:when test="($simpleRestrict/xsd:minInclusive or $simpleRestrict/xsd:minExclusive) and ($simpleRestrict/xsd:maxInclusive or $simpleRestrict/xsd:maxExclusive)">
- <xsl:choose>
- <xsl:when test="$simpleRestrict/xsd:minInclusive">
- <xsl:value-of select="$simpleRestrict/xsd:minInclusive/@value"/>
- <xsl:text> &lt;= </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$simpleRestrict/xsd:minExclusive/@value"/>
- <xsl:text> &lt; </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <em>
- <xsl:text>value</xsl:text>
- </em>
- <xsl:choose>
- <xsl:when test="$simpleRestrict/xsd:maxInclusive">
- <xsl:text> &lt;= </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:maxInclusive/@value"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text> &lt; </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:maxExclusive/@value"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="$simpleRestrict/xsd:minInclusive">
- <em>
- <xsl:text>value</xsl:text>
- </em>
- <xsl:text> >= </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:minInclusive/@value"/>
- </xsl:when>
- <xsl:when test="$simpleRestrict/xsd:minExclusive">
- <em>
- <xsl:text>value</xsl:text>
- </em>
- <xsl:text> > </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:minExclusive/@value"/>
- </xsl:when>
- <xsl:when test="$simpleRestrict/xsd:maxInclusive">
- <em>
- <xsl:text>value</xsl:text>
- </em>
- <xsl:text> &lt;= </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:maxInclusive/@value"/>
- </xsl:when>
- <xsl:when test="$simpleRestrict/xsd:maxExclusive">
- <em>
- <xsl:text>value</xsl:text>
- </em>
- <xsl:text> &lt; </xsl:text>
- <xsl:value-of select="$simpleRestrict/xsd:maxExclusive/@value"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <!--
- Prints out JavaScript code.
- NOTE: Javascript code is placed within comments to make it
- work with current browsers. In strict XHTML, JavaScript code
- should be placed within CDATA sections. However, most
- browsers generate a syntax error if the page contains
- CDATA sections. Placing Javascript code within comments
- means that the code cannot contain two dashes.
- Param(s):
- code (Result Tree Fragment) required
- Javascript code
- -->
- <xsl:template name="PrintJSCode">
- <xsl:param name="code"/>
-
- <script type="text/javascript">
- <!-- If browsers start supporting CDATA sections,
- uncomment the following piece of code. -->
- <!-- <xsl:text disable-output-escaping="yes">
-&lt;![CDATA[
-</xsl:text> -->
- <!-- If browsers start supporting CDATA sections,
- remove the following piece of code. -->
- <xsl:text disable-output-escaping="yes">
-&lt;!--
-</xsl:text>
-
- <xsl:value-of select="$code" disable-output-escaping="yes"/>
- <!-- If browsers start supporting CDATA sections,
- remove the following piece of code. -->
- <xsl:text disable-output-escaping="yes">
-// --&gt;
-</xsl:text>
- <!-- If browsers start supporting CDATA sections,
- uncomment the following piece of code. -->
- <!-- <xsl:text disable-output-escaping="yes">
-]]&gt;
-</xsl:text> -->
- </script>
- </xsl:template>
-
- <!--
- Translates occurrences of a string
- in a piece of text with another string.
- Param(s):
- value (String) required
- Text to translate
- strToReplace (String) required
- String to be replaced
- replacementStr (String) required
- Replacement text
- -->
- <xsl:template name="TranslateStr">
- <xsl:param name="value"/>
- <xsl:param name="strToReplace"/>
- <xsl:param name="replacementStr"/>
-
- <xsl:if test="$value != ''">
- <xsl:variable name="beforeText" select="substring-before($value, $strToReplace)"/>
- <xsl:choose>
- <xsl:when test="$beforeText != ''">
- <xsl:value-of select="$beforeText"/>
- <xsl:value-of select="$replacementStr"/>
- <xsl:call-template name="TranslateStr">
- <xsl:with-param name="value" select="substring-after($value, $strToReplace)"/>
- <xsl:with-param name="strToReplace" select="$strToReplace"/>
- <xsl:with-param name="replacementStr" select="$replacementStr"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$value"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="HandleError">
- <xsl:param name="errorMsg"/>
- <xsl:param name="isTerminating">false</xsl:param>
-
- <xsl:choose>
- <xsl:when test="$isTerminating='true'">
- <xsl:message terminate="yes">
- <xsl:text>XS3P ERROR: </xsl:text>
- <xsl:value-of select="$errorMsg"/>
- </xsl:message>
- </xsl:when>
- <xsl:otherwise>
- <span style="font-weight: bold; color: red">
- <xsl:text>ERROR: </xsl:text>
- <xsl:value-of select="$errorMsg"/>
- </span>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-</xsl:stylesheet> \ No newline at end of file
diff --git a/tools/Makefile.in b/tools/Makefile.in
new file mode 100644
index 00000000..85ad67a0
--- /dev/null
+++ b/tools/Makefile.in
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = tools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = loadmem
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign tools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tools/git-make-dist b/tools/git-make-dist
deleted file mode 100755
index e96102ce..00000000
--- a/tools/git-make-dist
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-# git-make-dist -- Make a release tag in a git repository. The tag
-# will have the same content as the tarball produced
-# by "make dist", plus the debian/ directory as it is
-# tracked by git.
-
-set -e
-
-exportcwd () {
- for f in `find . -type f`; do
- ff=`echo $f | sed 's,^./,,'`
- if [ -x "$f" ]; then
- echo M 100755 inline $ff
- else
- echo M 100644 inline $ff
- fi
- echo data `wc -c <$f`
- cat $f
- done
-}
-
-exportcommit () {
- echo commit $1
- echo committer `git config user.name` '<'`git config user.email`'>' now
- echo 'data <<EOD'
- echo Prepare for distribution
- echo EOD
- echo from HEAD
- echo deleteall
- exportcwd
-}
-
-if [ $# != 1 ]; then
- echo >&2 "Usage: git-make-dist TAGNAME"
- exit 1
-fi
-
-tagname="$1"
-
-if ! git diff --quiet ; then
- echo >&2 "Your working tree is not clean. Aborting."
- exit 1
-fi
-
-if ! git diff --quiet --cached; then
- echo >&2 "Your index is not clean. Aborting."
- exit 1
-fi
-
-if git rev-parse --verify $tagname >/dev/null >&/dev/null; then
- echo >&2 "Tag $tagname exists already. Aborting."
- exit 1
-fi
-
-distdir=$(mktemp -d tmp.XXXXXX)
-make distdir distdir=$distdir
-for f in `git ls-files debian`; do
- if ! [ -a $distdir/$f ]; then
- mkdir -p $(dirname $distdir/$f)
- ln $f $distdir/$f
- fi
-done
-
-(cd $distdir && exportcommit refs/tags/$tagname) \
- | git fast-import --date-format=now --quiet --force
-
-rm -rf $distdir
diff --git a/tools/loadmem/.gitignore b/tools/loadmem/.gitignore
deleted file mode 100644
index c4f09807..00000000
--- a/tools/loadmem/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-loadmem
diff --git a/tools/loadmem/Makefile.in b/tools/loadmem/Makefile.in
new file mode 100644
index 00000000..f37892ea
--- /dev/null
+++ b/tools/loadmem/Makefile.in
@@ -0,0 +1,503 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = loadmem$(EXEEXT)
+subdir = tools/loadmem
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compare_version.m4 \
+ $(top_srcdir)/m4/ax_version_tools.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/qt.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_loadmem_OBJECTS = loadmem.$(OBJEXT)
+loadmem_OBJECTS = $(am_loadmem_OBJECTS)
+loadmem_LDADD = $(LDADD)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(loadmem_SOURCES)
+DIST_SOURCES = $(loadmem_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ASCIIDOC = @ASCIIDOC@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CDB_LIBS = @CDB_LIBS@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_LIBS = @DBUS_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QtCore_CFLAGS = @QtCore_CFLAGS@
+QtCore_LIBS = @QtCore_LIBS@
+QtDBus_CFLAGS = @QtDBus_CFLAGS@
+QtDBus_LIBS = @QtDBus_LIBS@
+QtTest_CFLAGS = @QtTest_CFLAGS@
+QtTest_LIBS = @QtTest_LIBS@
+QtXml_CFLAGS = @QtXml_CFLAGS@
+QtXml_LIBS = @QtXml_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOURCE_HIGHLIGHT = @SOURCE_HIGHLIGHT@
+STRIP = @STRIP@
+UIC = @UIC@
+VERSION = @VERSION@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+loadmem_SOURCES = loadmem.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/loadmem/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign tools/loadmem/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+loadmem$(EXEEXT): $(loadmem_OBJECTS) $(loadmem_DEPENDENCIES)
+ @rm -f loadmem$(EXEEXT)
+ $(LINK) $(loadmem_OBJECTS) $(loadmem_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadmem.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool ctags distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-binPROGRAMS
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tools/tiny_get_frontend.py b/tools/tiny_get_frontend.py
deleted file mode 100644
index eece261b..00000000
--- a/tools/tiny_get_frontend.py
+++ /dev/null
@@ -1,34 +0,0 @@
-import traceback
-import dbus
-import sys
-
-def execute_get(property_names):
- bus = dbus.SessionBus()
- try:
- object = bus.get_object("org.freedesktop.ContextKit","/org/freedesktop/ContextKit/Manager")
- iface = dbus.Interface(object,"org.freedesktop.ContextKit.Manager")
-
- ret = iface.Get(property_names)
- print "Returned:", ret
-
- properties = ret[0]
- undetermined = ret[1]
-
- print "Properties and their values:"
- for name in properties.keys():
- print "Property:", name, ", value:", properties[name]
-
- print "Undetermined properties:"
- print undetermined
- except dbus.DBusException:
- print "Caught an exception"
- traceback.print_exc()
-
-if __name__ == "__main__":
- # You can write the properties of intrest directly here
- #execute_get(["Context.Device.Orientation.displayFacingUp", "Context.Environment.Location.latitude", "Context.Environment.Location.longitude", "Context.Environment.Location.altitude"])
-
- # Or use the parameters from command line
- print "Executing Get with the properties", sys.argv[1:]
- execute_get(sys.argv[1:])
-
diff --git a/tools/tiny_subscribe_frontend.py b/tools/tiny_subscribe_frontend.py
deleted file mode 100644
index cfc56c7a..00000000
--- a/tools/tiny_subscribe_frontend.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import traceback
-import dbus
-import sys
-import gobject
-
-from dbus.mainloop.glib import DBusGMainLoop
-
-def handle_signal(changed, undet):
- print "Got signal"
- print changed
- print undet
-
-def execute_subscribe(property_names):
- bus = dbus.SessionBus()
- try:
- proxy_object_manager = bus.get_object("org.freedesktop.ContextKit","/org/freedesktop/ContextKit/Manager")
- iface_manager = dbus.Interface(proxy_object_manager, "org.freedesktop.ContextKit.Manager")
- print "Requesting the subscriber object"
- # Get the subscriber object
- new_object_path = iface_manager.GetSubscriber()
-
- print "Got an object path", new_object_path
- # And then execute the actual subscribe property_names
-
- proxy_object_subscriber = bus.get_object("org.freedesktop.ContextKit", new_object_path)
- iface_subscriber = dbus.Interface(proxy_object_subscriber, "org.freedesktop.ContextKit.Subscriber")
-
- # Connect to the signal
- print "Connecting to the signal"
- iface_subscriber.connect_to_signal("Changed", handle_signal)
-
- print "Executing the Subscribe"
- ret = iface_subscriber.Subscribe(property_names)
-
- print "Returned:", ret
-
- loop = gobject.MainLoop()
- loop.run()
-
- except dbus.DBusException:
- print "Caught an exception"
- traceback.print_exc()
-
-
-if __name__ == "__main__":
- DBusGMainLoop(set_as_default=True)
-
- # You can write the properties of intrest directly here
- #execute_get(["Context.Device.Orientation.facingUp", "Context.Environment.Location.latitude", "Context.Environment.Location.longitude", "Context.Environment.Location.altitude"])
-
- # Or use the command line parameters
- print "Executing Subscribe with the properties", sys.argv[1:]
- execute_subscribe(sys.argv[1:])
-